웹사이트 검색

Linux에서 '두 개의 디스크'를 사용하여 RAID 1(미러링) 설정 - 3부


RAID 미러링은 두 드라이브에 쓰는 동일한 데이터의 정확한 복제(또는 미러)를 의미합니다. RAID1을 생성하려면 어레이에 최소 2개의 디스크가 더 필요하며 읽기 성능이나 안정성이 데이터 저장 용량보다 더 정확한 경우에만 유용합니다.

디스크 오류로 인한 데이터 손실을 방지하기 위해 미러가 생성됩니다. 미러의 각 디스크에는 데이터의 정확한 복사본이 포함됩니다. 하나의 디스크에 오류가 발생하면 작동하는 다른 디스크에서 동일한 데이터를 검색할 수 있습니다. 그러나 오류가 발생한 드라이브는 사용자 중단 없이 실행 중인 컴퓨터에서 교체될 수 있습니다.

RAID 1의 특징

  1. 거울은 좋은 성능을 가지고 있습니다.
  2. 공간의 50%가 손실됩니다. 총 크기가 500GB인 두 개의 디스크가 있으면 1TB가 되지만 미러링에서는 500GB만 표시됩니다.
  3. 한 디스크에 장애가 발생하더라도 미러링에서는 데이터 손실이 없습니다. 두 디스크 모두에 동일한 콘텐츠가 있기 때문입니다.
  4. 드라이브에 데이터를 쓰는 것보다 읽는 것이 좋습니다.

요구사항

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
아래 지침을 따르십시오.
  1. 새 파티션을 만들려면 'n'을 누르세요.
  2. 그런 다음 기본 파티션으로 'P'를 선택합니다.
  3. 다음으로 파티션 번호를 1로 선택합니다.
  4. Enter 키를 두 번 눌러 기본 전체 크기를 지정하세요.
  5. 다음으로 'p'를 눌러 정의된 파티션을 인쇄하세요.
  6. 사용 가능한 모든 유형을 나열하려면 'L'을 누르세요.
  7. 파티션을 선택하려면 't'를 입력하세요.
  8. Linux raid auto의 경우 'fd'를 선택하고 Enter를 눌러 적용합니다.
  9. 그런 다음 'p'를 다시 사용하여 변경 사항을 인쇄합니다.
  10. 변경사항을 작성하려면 'w'를 사용하세요.

'/dev/sdb' 파티션이 생성된 후 동일한 지침에 따라 /dev/sdc 드라이브에 새 파티션을 생성합니다.

fdisk /dev/sdc

4. 두 파티션이 모두 성공적으로 생성되면 동일한 'mdadm을 사용하여 sdbsdc 드라이브 모두에서 변경 사항을 확인합니다. Strong>' 명령을 실행하고 다음 화면과 같이 RAID 유형도 확인합니다.

mdadm -E /dev/sd[b-c]

참고: 위 그림에서 볼 수 있듯이 sdb1sdc1에는 정의된 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(미러) 작동 방식을 이해하는 데 도움이 되기를 바랍니다.