본문 바로가기
서버 보안/리눅스 실습

[RAID] 고급 RAID 레벨, RAID6과 RAID 1+0의 개념

by 어깨 :) 2023. 5. 19.
728x90
- RAID5보다 신뢰도를 높인 RAID6 신뢰도와 속도 두 마리 토끼를잡기 위한 RAID1+0
- RAID6은 패리티를 2개 사용하기 때문에 최소 4개의 디스크가 필요
- RAID1+0도 최소 4개 디스크가 필요
- RAID6의 공간효율은 N-2
- RAID1+0의 공간효율은 50%

 

성능은 떨어지고 비용도 많이 들지만 신뢰도를 훨씬 높인 RAID 1+6을 차례로 구성해봅니다.

RAID5는 패리티를 1개 사용하므로 3개의 하드디스크 이상이면 구성할 수 있지만, RAID6은 패리티 2개를 사용하므로 최소 4개의 하드디스크가 필요합니다. 하지만 실무에서는 7~8개 이상의 하드디스크로 구성해야 어느 정도 효과를 볼 수 있습니다.

 

 

 

 

 

초기화를 실행하고 실습에 필요한 하드디스크 8개를 준비합니다.

 

 

 

fdisk /dev/하드디스크이름 명령으로 8개의 하드디스크 각각에 RAID용 파티션을 생성합니다.

아래에 하드디스크 8개의 파티션 결과가 나타납니다.

 

 

mdam 패키지가 설치되지 않았다면 apt -y install mdadm 명령으로 관련 패키지를 설치합니다.

 

 

 

mdadm --create /dev/md6 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1명령으로 RAID6을 만듭니다. 

 

 

 

mdadm --detail /dev/md6 명령으로 만들어진 RAID6의 구성을 확인합니다.

 

 

 

mkfs.ext4 /dev/md6 명령으로 /dev/md6 파티션을 포맷합니다.

 

 

 

mkdir /raid6 명령으로 마운트 할 디렉터리(/raid6)를 생성하고 mount /dev/md6 /raid6 명령으로 마운트 시킵니다.

 

 

 

 

 

 

/dev/sdf1~/dev/sdi1을 RAID 1+0 장치인 /dev/md10으로 생성합니다.

 

 

 

먼저 mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1 명령으로 /dev/sdf와 /dev/sdg를 /dev/md2에 RAID1로 구성합니다.

 

 

/dev/sdh와 /dev/sdi도 역시 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sdh1 /dev/sdi1 명령으로 /dev/md3에 RAID1로 구성합니다. 이때 확인 메시지가 나오면 y를 입력해서 계속 진행합니다.

 

 

 

이번에는 mdadm --create /dev/md10 --level=0 --raid-devices=2 /dev/md2 /dev/md3 명령으로 두 개의 RAID 1 장치를 RAID0(/dev/md10)으로 묶습니다.

 

 

 

mkfs.ext4 /dev/md10으로 /dev/md10 파티션을 포맷합니다.

mkdir /raid10 명령으로 마운트 할 디렉터리(/raid10)를 생성하고, mount /dev/md10 /raid10 명령으로 마운트 시킵니다.

 

 

 

위와 같이 구성을 완료했다면 df명령으로 확인해 봅니다.

결과를 보면 /raid10 디렉터리에 2GB 정도의 공간이 있는 것을 확인할 수 있습니다. RAID 1+0은 RAID1과 마찬가지로 공간 효율이 '하드디스크개수/2'가 되는 것을 확인할 수 있습니다.

이제 RAID 방식 중에서 성능(속도)이 가장 좋은 RAID 0의 효과를 내면서, 안전성은 RAID1만큼 확보된 RAID 1+0 장치를 사용할 수 있다.

 

 

 

cp /boot/vmlinuz-5* /raid6/testFile 명령과 cp /boot/vmlinuz-5* /raid10/testFile 명령으로 RAID6과 RAID 1+0 장치에 적당한 파일을 복사합니다.

 

 

 

이번에는 컴퓨터를 켤 때 언제든지 /dev/md6 장치는 /raid6 디렉터리에, /dev/md10 장치는 /raid10 디렉터리에 마운트 되어 있도록 설정합니다. /etc/fstab 파일을 nano 에디터나 gedit으로 열고 맨 아랫부분에 아래처럼 두 줄을 추가하면 됩니다.

 

 

 

 

재부팅하기 전에 mdadm의 버그 때문에 몇 가지 설정을 해야 합니다.

mdadm --detail --scan 명령을 입력합니다. 4개의 ARRAY 내용을 마우스로 드래그하고, 마우스 오른쪽 버튼을 클릭한 후 복사해 놓습니다.(터미널 창을 미리 옆으로 키워놓으면 행이 넘어가지 않아서 보기 편합니다)

 

 

 

gedit /etc/mdadm/mdadm.conf 명령으로 설정 파일을 엽니다.

 

 

 

제일 아래에 ctrl+v를 눌러 복사한 내용을 붙여 넣습니다. 그런 다음 각 행의 중간 부분에 'name=server:숫자'를 삭제합니다. 최종적으로 아래 그림과 같이 저장하고 gedit을 닫습니다.

 

 

 

update-initramfs -u 명령으로 설정한 내용을 적용시키고 리부팅을 합니다.

 

 

 

리부팅을 한 뒤에 df로 최종 결과를 확인합니다. 

 

 

 

ls -l로 각 raid를 확인해 보면 파일형식과 만든 날짜가 나옵니다.

 

 

이상으로 RAID6과 RAID 1+0의 개념을 알아봤습니다. 다음 시간에는 RAID6과 RAID 1+0의 문제 발생 테스트에 대해서 알아보도록 하겠습니다. 감사합니다.

728x90