Linux에서 '두 개의 디스크'를 사용하여 RAID 1(미러링) 설정 - 3부
RAID 미러링은 두 드라이브에 쓰는 동일한 데이터의 정확한 복제(또는 미러)를 의미합니다. RAID1을 생성하려면 어레이에 최소 2개의 디스크가 더 필요하며 읽기 성능이나 안정성이 데이터 저장 용량보다 더 정확한 경우에만 유용합니다.
디스크 오류로 인한 데이터 손실을 방지하기 위해 미러가 생성됩니다. 미러의 각 디스크에는 데이터의 정확한 복사본이 포함됩니다. 하나의 디스크에 오류가 발생하면 작동하는 다른 디스크에서 동일한 데이터를 검색할 수 있습니다. 그러나 오류가 발생한 드라이브는 사용자 중단 없이 실행 중인 컴퓨터에서 교체될 수 있습니다.
RAID 1의 특징
- 거울은 좋은 성능을 가지고 있습니다.
- 공간의 50%가 손실됩니다. 총 크기가 500GB인 두 개의 디스크가 있으면 1TB가 되지만 미러링에서는 500GB만 표시됩니다.
- 한 디스크에 장애가 발생하더라도 미러링에서는 데이터 손실이 없습니다. 두 디스크 모두에 동일한 콘텐츠가 있기 때문입니다.
- 드라이브에 데이터를 쓰는 것보다 읽는 것이 좋습니다.
요구사항
RAID 1을 생성하려면 최소 2개의 디스크가 허용되지만 2, 4, 6, 8의 두 배를 사용하여 더 많은 디스크를 추가할 수 있습니다. 더 많은 디스크를 추가하려면 시스템에 RAID 물리적 어댑터(하드웨어 카드)가 있어야 합니다.
여기서는 하드웨어 RAID가 아닌 소프트웨어 RAID를 사용하고 있습니다. 시스템에 물리적 하드웨어 RAID 카드가 내장되어 있는 경우 유틸리티 UI에서 또는 Ctrl+I 키를 사용하여 액세스할 수 있습니다.
추가 읽기: Linux의 RAID 기본 개념
내 서버 설정
Operating System : CentOS 6.5 Final
IP Address : 192.168.0.226
Hostname : rd1.tecmintlocal.com
Disk 1 [20GB] : /dev/sdb
Disk 2 [20GB] : /dev/sdc
이 문서에서는 mdadm을 사용하여 소프트웨어 RAID 1 또는 미러를 설정하는 방법에 대한 단계별 지침을 안내합니다(생성 및 관리). raid)를 Linux 플랫폼에서 사용합니다. RedHat, CentOS, Fedora 등과 같은 다른 Linux 배포판에서도 동일한 지침이 작동하지만
1단계: 필수 구성 요소 설치 및 드라이브 검사
1. 위에서 말했듯이 우리는 Linux에서 RAID를 생성하고 관리하기 위해 mdadm 유틸리티를 사용하고 있습니다. 이제 yum 또는 apt-get 패키지 관리자 도구를 사용하여 Linux에 mdadm 소프트웨어 패키지를 설치해 보겠습니다.
yum install mdadm [on RedHat systems]
apt-get install mdadm [on Debain systems]
2. 'mdadm' 패키지가 설치되면 다음 명령을 사용하여 구성된 RAID가 이미 있는지 디스크 드라이브를 검사해야 합니다.
mdadm -E /dev/sd[b-c]
위 화면에서 볼 수 있듯이 아직 감지된 슈퍼 블록이 없다는 것은 RAID가 정의되지 않았음을 의미합니다.
2단계: RAID용 드라이브 파티셔닝
3. 위에서 언급했듯이 RAID1을 생성하기 위해 최소 두 개의 파티션 /dev/sdb 및 /dev/sdc를 사용하고 있습니다. 'fdisk' 명령을 사용하여 이 두 드라이브에 파티션을 생성하고 파티션 생성 중에 유형을 raid로 변경해 보겠습니다.
fdisk /dev/sdb
아래 지침을 따르십시오.
- 새 파티션을 만들려면 'n'을 누르세요.
- 그런 다음 기본 파티션으로 'P'를 선택합니다.
- 다음으로 파티션 번호를 1로 선택합니다.
- Enter 키를 두 번 눌러 기본 전체 크기를 지정하세요.
- 다음으로 'p'를 눌러 정의된 파티션을 인쇄하세요.
- 사용 가능한 모든 유형을 나열하려면 'L'을 누르세요.
- 파티션을 선택하려면 't'를 입력하세요.
- Linux raid auto의 경우 'fd'를 선택하고 Enter를 눌러 적용합니다.
- 그런 다음 'p'를 다시 사용하여 변경 사항을 인쇄합니다.
- 변경사항을 작성하려면 'w'를 사용하세요.
'/dev/sdb' 파티션이 생성된 후 동일한 지침에 따라 /dev/sdc 드라이브에 새 파티션을 생성합니다.
fdisk /dev/sdc
4. 두 파티션이 모두 성공적으로 생성되면 동일한 'mdadm을 사용하여 sdb 및 sdc 드라이브 모두에서 변경 사항을 확인합니다. Strong>' 명령을 실행하고 다음 화면과 같이 RAID 유형도 확인합니다.
mdadm -E /dev/sd[b-c]
참고: 위 그림에서 볼 수 있듯이 sdb1 및 sdc1에는 정의된 RAID가 없습니다. 지금까지 드라이브를 실행했기 때문에 슈퍼 블록이 감지되지 않은 것입니다.
3단계: RAID1 장치 생성
5. 다음으로 다음 명령을 사용하여 '/dev/md0'이라는 RAID1 장치를 생성하고 이를 확인합니다.
mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
cat /proc/mdstat
6. 다음으로 다음 명령을 사용하여 Raid 장치 유형과 Raid 배열을 확인합니다.
mdadm -E /dev/sd[b-c]1
mdadm --detail /dev/md0
위의 사진을 보면 raid1이 생성되어 /dev/sdb1 및 /dev/sdc1 파티션을 사용하고 있음을 쉽게 알 수 있으며, 재동기화 상태도 확인할 수 있습니다.
4단계: RAID 장치에 파일 시스템 생성
7. md0에 대해 ext4를 사용하여 파일 시스템을 생성하고 /mnt/raid1에 마운트합니다.
mkfs.ext4 /dev/md0
8. 다음으로 '/mnt/raid1'에 새로 생성된 파일 시스템을 마운트하고 일부 파일을 생성한 후 마운트 지점에서 내용을 확인합니다.
mkdir /mnt/raid1
mount /dev/md0 /mnt/raid1/
touch /mnt/raid1/tecmint.txt
echo "tecmint raid setups" > /mnt/raid1/tecmint.txt
9. 시스템 재부팅 시 RAID1을 자동 마운트하려면 fstab 파일에 항목을 만들어야 합니다. '/etc/fstab' 파일을 열고 파일 맨 아래에 다음 줄을 추가합니다.
/dev/md0 /mnt/raid1 ext4 defaults 0 0
10. 'mount -a'를 실행하여 fstab 항목에 오류가 있는지 확인합니다.
mount -av
11. 다음으로 아래 명령을 사용하여 RAID 구성을 'mdadm.conf' 파일에 수동으로 저장합니다.
mdadm --detail --scan --verbose >> /etc/mdadm.conf
위의 구성 파일은 재부팅 시 시스템에서 읽고 RAID 장치를 로드합니다.
5단계: 디스크 오류 후 데이터 확인
12. 우리의 주된 목적은 하드 디스크에 장애가 발생하거나 충돌한 후에도 데이터를 사용할 수 있어야 한다는 것입니다. 디스크 디스크 중 하나라도 어레이에서 사용할 수 없을 때 어떤 일이 발생하는지 살펴보겠습니다.
mdadm --detail /dev/md0
위 이미지에서는 RAID에 사용 가능한 장치가 2개 있고 활성 장치는 2개임을 알 수 있습니다. 이제 디스크가 연결되지 않거나(sdc 디스크 제거) 오류가 발생하는 경우 어떤 일이 발생하는지 살펴보겠습니다.
ls -l /dev | grep sd
mdadm --detail /dev/md0
이제 위 이미지에서 드라이브 중 하나가 손실된 것을 볼 수 있습니다. 가상 머신에서 드라이브 중 하나를 분리했습니다. 이제 우리의 소중한 데이터를 확인해 볼까요?
cd /mnt/raid1/
cat tecmint.txt
우리 데이터가 아직 사용 가능한 것을 보셨나요? 이를 통해 우리는 RAID 1(미러)의 장점을 알게 되었습니다. 다음 기사에서는 분산 패리티를 사용하여 RAID 5 스트라이핑을 설정하는 방법을 살펴보겠습니다. 이것이 RAID 1(미러) 작동 방식을 이해하는 데 도움이 되기를 바랍니다.