RAID
여러 개의 디스크를 합쳐 하나의 디스크인 것처럼 동작하게 함
디스크의 남는 용량을 재활용하고 디스크보다 용량이 큰 파일을 저장할 수 있음
종류
1. H/W RAID
장 : 성능의 뛰어남
단 : 가격이 비쌈
2. S/W RAID
장 : 디스크 구매 비용만 필요 (무료)
단 : H/W 구성보다 성능이 떨어짐
구성
1. Linear
디스크를 배열 형태로 단순히 연결
데이터를 순차적으로 기록 (1번째 디스크과 가득차면 다음 디스크로)
간편
2. Stripe (RAID Level 0)
데이터의 내용을 똑같이 분산저장 (모든 디스크에 똑같은 용량으로 저장)
속도가 빠르다
안정성 보장x
3. Mirror (RAID Level 1)
원본 데이터의 대한 복사를 다른 디스크에 만든다
만들어진 RAID 디스크 용량을 최대 절반밖에 사용할 수 없다.
최소 2개 이상의 디스크가 필요하다
4. Stripe + Mirror (RAID Level 5)
Level 0과 1의 장점
장치 개수 -1만큼 stripe로 저장하고 마지막 장치에 패리티 비트를 저장한다.
이 패리티 비트는 수많은 연산을 통해 고장난 장치를 복원 가능 (하지만 2개 이상 고장이면 불가능)
최소 3개 이상의 디스크가 필요하다.
5. RAID 0 + 1
레벨 0의 구성으로 2개의 RAID 장치를 만든다
그 두 장치로 Mirror (Level 1) 구성을 한다.
최소 4개 이상의 디스크가 필요하다.
3개의 RAID를 만들지만 최종 1개가 동작
6. RAID 1 + 0
레벨 1의 구성으로 2개의 RAID 장치를 만든다
그 두 장치로 Stripe(Level 0) 구성을 한다.
최소 4개 이상의 디스크가 필요하다.
3개의 RAID를 만들지만 최종 1개가 동작
mdadm
Linux Software RAID인 MD를 구성하는 방법
mdadm [option] [raid device] [component device]
| 옵션 | 설명 |
| -C, --create | 장치에 RAID를 생성 |
| --level=[레벨] | RAID 레벨을 지정한다 |
| -n, --raid-devices=[숫자] | -C 옵션과 함께 사용 구성할 디바이스 개수를 지정 숫자 만큼의 하드 디스크를 사용 |
| -S, --stop | RAID 장치를 중지 RAID 배열을 비활성화하여 모든 자원을 해제 |
| --run | RAID 장치를 작동 |
| -D, --detail | 장치의 상세 내용 출력 |
| -f, --fail | 특정 장치에 오류를 발생시킬 때 사용 |
| -r, --remove | RAID에서 디바이스를 제거 |
| -a, --add | 작동중인 RAID에 디바이스를 추가할 때 사용 |
| -Q, --query | 지정한 RAID장치의 간단한 정보를 보여줌 |
| -l 옵션 | -C 옵션과 함께 사용, RAID 레벨 값을 지정 |
| linear | |
| raid0 | |
| stripe | |
| raid1 | |
| 1 | |
| mirror | |
| raid4 | |
| 4 | |
| raid5 | |
| 5 | |
| raid6 | |
| 6 | |
| multipath | |
| mp | |
| faulty | |
| container | |
| -level= |
/dev/sdb1, /dev/sdc1을 RAID-0으로 하여 /dev/md0을 생성
mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1
/dev/md0의 자세한 정보
mdadm -D /dev/md0
/dev/md0으로 구성괸 배열을 비활성화하여 모든 자원을 해제
mdadm -S /dev/md0
/dev/md1의 /dev/sdb6 장치에 강제적으로 오류를 발생
mdadm /dev/md1 -f /dev/sdb6
/dev/md2에서 /dev/sdb8 장치를 제거함
mdadm /dev/md2 -r /dev/sdb8
/dev/md2에 /dev/sdb14 장치를 추가함
mdadm /dev/md2 -a /dev/sdb14

- -D 또는 --detail
- -S 또는 --stop
- -f 또는 --fail
- -r 또는 --remove
2101

정답
1. mdadm
2. -C
3. -l 0 -n 2
참고
패리티 비트 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ansdbtls4067&logNo=220886661657
'리눅스' 카테고리의 다른 글
| [리눅스] 커널 컴파일, mrproper, distclean... (0) | 2022.11.13 |
|---|---|
| [리눅스] 커널 파라미터, sysctl (0) | 2022.11.12 |
| [리눅스] umask 접근 권한 마스크 (0) | 2022.11.10 |
| [리눅스] /proc 디렉터리, meminfo, cpuinfo, mdstat... (0) | 2022.11.08 |
| [리눅스] KVM 가상화, libvirtd, virt-manger (0) | 2022.11.08 |