p594
raid 5를 설정하기 위해서는 최소 3개의 디스크가 존재해야함
그 외에 1개의 디스크를 더 추가해서 여분디스크로 설정하여 오류에 더 강하게 대응할 수 있음
raid 6을 설정하기 위해서는 최소 4개의 디스크가 존재해야함
2개의 디스크를 패리티 디스크로
총 7개의 가상 디스크 추가 및 fdisk로 모든 디스크 설정
fdisk 설정 확인
fdisk -l | grep raid
raid 5 생성
mdadm -C /dev/md5 -l 5 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1
이때 md5의 용량은 40G이다.
이유는 1개의 디스크는 패리티로 사용되어 용량이 날라가서 없다고 생각하면 됨
포맷 및 자동 마운트 설정
mkdir /rdata5
mkfs.xfs /dev/md5vi /etc/fstab
- /dev/md5 /rdata5 xfs defaults 0 0
reboot
파일 형식을 지정하여 정확하게 해당 형식의 디스크를 마운트 하는 명령어
mount -t xfs /dev/md5 /rdata5
raid 6 생성
mdadm -C /dev/md6 -l 6 -n 4 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
포맷, 마운트 설정
mkdir /rdata6
mkfs.xfs /dev/md6
mount -t xfs /dev/md6 /rdata6
fstab 설정
vi /etc/fstab
- /dev/md6 /rdata6 xfs defaults 0 0
reboot
레이드 md5 상세보기
mdadm -D /dev/md5
총 레이드의 용량은 40G, 사용중인 용량은 20G로 20G는 복구용 패리티 디스크라는것을 알 수 있음
상태가 clean이라는게 가장 중요함(문제 없는 상태)
레이드를 구성 & 마운트 완료 후 데이터를 생성해야하는게 순서임.
/rdata5, /rdata6 내에 파일 or 디렉터리 생성 후 edit으로 RAID 5, RAID 6 디스크 1개씩 삭제
레이드 어레이 오류 시 로딩 후 복구 모드로 진입함
디스크가 제거되면 해당 빈칸에 이전 디스크가 문자를 차지함
디스크 2번(sdb), 8번(sdh)을 지웠는데 빈곳이 남아있지 않고 순서대로 b, c, d 순으로 되어있는 것을 알 수 있음
디스크가 사라졌지만 데이터가 정상적으로 남아있는것을 확인할 수 있음
레이드 상태 확인
mdadm -D /dev/md5
상태에 degraded로
디스크를 장치에서 추가하면 20G짜리 디스크 두개를 새로 추가함
파티션 추가 및 설정
fdisk /dev/sdb
fdisk /dev/sdh
n
t - fd
w
복구시에는 포맷이나 마운트 설정하지 않고 파티션만 생성한 후에 바로 레이드에 해당 디스크를 추가한다
mdadm /dev/md5 -a /dev/sdb1
mdadm /dev/md6 --add /dev/sdh1
만약 sdh1을 md5에 추가한다면 RAID 5는 3개의 디스크 + 스페어 1개까지 설정이 가능하므로
sdh1은 spare로 추가가 된다.
spare 추가
mdadm /dev/md5 -a /dev/sdh1
md5에 spare로 추가하는 명령어도 -a 옵션을 사용한다.
/rdata5, /rdata6에 남아있는 데이터는 사실 "진짜" 원본은 아니다.
"진짜"가 있던 디스크가 날아가서 레이드로 묶인 파일의 패리티를 통해 추측된 데이터이다.
원본 디스크를 다시 추가해야만 해당 데이터는 "진짜" 원본이라고 할 수 있다.
lsblk을 사용하여 디스크를 확인할 수 있지만 df를 사용해서도 확인이 가능함
가장 많이 사용하는 옵션 -hT
df -hT
umount /dev/md5 or umount /rdata5
umount /dev/md6 or umount /rdata6
mdadm --stop /dev/md5
mdadm --stop /dev/md6
mdadm --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
(zero-superblock - 메타데이터 의미)
vi /etc/fstab
RAID 1의 최소 디스크 갯수 = 2
RAID 0의 최소 디스크 갯수 = 2
2 X 2 = 4
RAID 1+0을 구성하기 위해서는 최소 총 4개의 디스크가 필요함
RAID 1은 용량의 1/2만큼 사용할 수 있음
RAID 0은 동일한 용량으로 사용 가능함
(이때 모든 디스크의 용량으 20G라고 가정)
RAID 1로 묶인 총 용량은 20G, RAID 0으로 묶인 총 용량은 40G
결국 RAID 1+0의 총 용량은 60G이다. (RAID 1+0으로 묶여 최종 레이드는 RAID 0으로 구성됨)
mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb1 /dev/sdc1
mdadm -C /dev/md1 -l 0 -n 2 /dev/sdd1 /dev/sde1
mdadm -C /dev/md2 -l 0 -n 2 /dev/md0 /dev/md1
sdb1, sdc1, sdd1, sde1이 md2로 묶인것을 확인할 수 있음
포맷, 마운트는 /dev/md2를 사용해야 하며
디스크 복구, 추가 등의 작업은 각 /dev/md0, /dev/md1에서 작업해야 함
Server B 초기화 후 작업 (레이드는 최소 디스크 갯수로 진행 - 아래 문제 3개를 모두 풀기 위해서는 총 11개의 디스크를 생성해야함)
raid 5는 최소 3개의 디스크를 사용 (+1 spare 가능)
raid 5에서 사용되는 3개의 디스크 중 1개는 패리티 디스크로 사용되어 사용할 수 없는 욜량임
(공식 : (N - 1(패리티 디스크의 수)) X disk 크기 = 총 RAID 용량)
때문에 3개의 디스크 모두 50G로 생성
fdisk /dev/sdb
n
t - fd
w
fdisk /dev/sdc
n
t - fd
w
fdisk /dev/sdd
n
t - fd
wmdadm -C /dev/md50 -l 5 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mkfs.ext4 /dev/md50
mkdir /raid5
vi /etc/fstab
- /dev/md50 /raid5 ext4 defaults 0 0
reboot
raid 6는 최소 4개의 디스크를 사용함
구성 후 총 120G가 되어야 하므로 공식((N - 2(패리티 디스크의 수)) X disk 크기 = 총 RAID 용량)에 적용하여 각 디스크의 크기는 60G로 4개 디스크 생성
fdisk /dev/sde ~ (f, g) ~ /dev/sdh
n
t - fd
wmdadm -C /dev/md60 -l 6 -n 4 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
mkfs.xfs /dev/md60
mkdir /raid6
vi /etc/fstab
- /dev/md60 /raid6 xfs defaults 0 0
reboot
raid 1+0은 각 최소 2개, 2개 디스크가 필요하여 최소 2x2=4 개의 디스크가 필요함
사용 가능한 총 용량이 80G 이므로 해당 용량은 전체 용량의 1/2값이다.
때문에 실제 전체 용량은 80*2 = 160G이며 4개의 디스크를 사용하기 때문에 각 디스크는 160/4=40G로 설정해야한다. (i, j, k, l)
fdisk /dev/sdi ~ /dev/sdl
n
t - fd
wmdadm -C /dev/md1 -l 1 -n 2 /dev/sdi1 /dev/sdj1
mdadm -C /dev/md2 -l 1 -n 2 /dev/sdk1 /dev/sdl1mdadm -C /dev/md70 -l 0 -n 2 /dev/md1 /dev/md2
mkfs.ext4 /dev/md70
mkdir /raid10
vi /etc/fstab
- /dev/md70 /raid10 ext4 defaults 0 0
reboot
lsblk or df -hT