Software Raid란 무엇일까?
Software Raid을 구성해보자
- Raid란 [Redundant Array of Independent Disk]
2개 이상의 디스크를 병렬로 처리하여 성능 및 안정성을 향상시키는 방식입니다.
장점 = 별도의 하드웨어 없이 소프트웨어로만 구현되었기 때문에 하드웨어 구현 방식에 비해 비용이 들지 않는다.
단점 = 소프트웨어 RAID는 운영 체제의 일부이기 때문에. 따라서 성능은 CPU 성능과 서버의 워크로드에 따라 달라집니다. 따라서 고급 전용 하드웨어 RAID보다 성능이 느릴 수 있습니다.
Raid0(Stripe set) = 2개 이상의 디스크에 동시 저장. 동시 저장하기 때문에 속도는 빠르지만 디스크 하나라도 장애가 발생한다면 모든 데이터를 사용 못하게 된다.
Raid1(Mirror) = Mirroring 방식으로 저장. 2개의 디스크에 동일한 내용이 동시에 저장. 디스크 하나만 장애가 발생한다면 복구가 가능합니다.
Raid5(Parity) = 3개 이상의 하드 디스크가 필요. 패리티 정보를 사용하여 1개의 디스크가 장애 발생해도 데이터 복구가 가능. 하지만 2개의 디스크가 장애 발생하면 데이터를 복구할 수 없음.
Raid6(double parity) = 4개 이상의 하드 디스크가 필요합니다. RAID5를 개선한 것으로 2개까지의 디스크 장애를 복구할 수 있습니다.
Raid10(Mirror + stripe) = 4개의 하드디스크를 사용해 Raid1 방식으로 데이터를 미러링 하고, 이를 다시 Raid0 방식으로 스트라이핑 하는 방식. 읽기 및 쓰기 성능은 향상되지만 전체 공간의 절반만 사용할 수 있습니다. 디스크 하나만 장애가 발생한다면 복구가 가능합니다.
- # sudo apt-get update
- # sudo apt-get -y install mdadm
[구성 전, 디스크 파티션작업을 해주셔야 합니다]
- Raid0 구성 예시 [/dev/sdb1, /dev/sdc1] *2개 이상 디스크 필요*
- # sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
- Raid5 구성 예시 [/dev/sdb1, /dev/sdc1, /dev/sdd1] *3개 이상 디스크 필요*
- # sudo mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
- Raid10 구성 예시 [/dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1] *4개 디스크 필요*
- # sudo mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sdb1
아래 이미지처럼 생성이 완료됩니다.
- 아래 명령어로 Disk정보를 확인해보면 md0으로 Raid가 잡힌것을 확인할수 있습니다.
- # sudo fdisk -1
- Disk /dev/md0: 63.96 GiB, 68679630848 bytes, 134139904 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- OR
- 아래 명령어로 Raid 구성정보를 볼수있습니다.
- # mdadm --detail --scan
- # mdadm --detail /dev/md0
- /dev/md0:
- Version : 1.2
- Creation Time : Wed Oct 18 08:17:51 2023
- Raid Level : linear
- Array Size : 67069952 (63.96 GiB 68.68 GB)
- Raid Devices : 2
- Total Devices : 2
- Persistence : Superblock is persistent
- Update Time : Wed Oct 18 08:17:51 2023
- State : clean
- Active Devices : 2
- Working Devices : 2
- Failed Devices : 0
- Spare Devices : 0
- Rounding : 0K
- Consistency Policy : none
- Name : gpuadmin:0 (local to host gpuadmin)
- UUID : bc10345a:2ae76717:1653a452:9874010b
- Events : 0
| Number |
Major |
Minor |
RaidDevice |
State |
| 0 |
8 |
17 |
0 |
active sync /dev/sdb1 |
| 1 |
8 |
33 |
1 |
ctive sync /dev/sdc1 |