웹사이트 검색

Ubuntu 22.04에서 mdadm으로 RAID 어레이를 만드는 방법


소개

mdadm 유틸리티는 Linux의 소프트웨어 RAID 기능을 사용하여 스토리지 어레이를 만들고 관리하는 데 사용할 수 있습니다. 관리자는 개별 저장 장치를 조정하고 성능 또는 중복 특성이 뛰어난 논리적 저장 장치를 생성하는 데 큰 유연성을 가지고 있습니다.

이 가이드에서는 Ubuntu 22.04 서버를 사용하여 설정할 수 있는 다양한 RAID 구성을 수행합니다.

전제 조건

이 가이드의 단계를 따르려면 다음이 필요합니다.

  • Ubuntu 22.04 서버에서 sudo 권한이 있는 루트가 아닌 사용자. 이러한 권한으로 계정을 설정하는 방법을 알아보려면 Ubuntu 22.04 초기 서버 설정 가이드를 따르세요.
  • RAID 용어 및 개념에 대한 기본적인 이해. RAID 및 귀하에게 적합한 RAID 레벨에 대해 자세히 알아보려면 RAID 소개 문서를 읽어보십시오.
  • 서버에서 여러 원시 저장 장치를 사용할 수 있습니다. 이 자습서의 예제는 서버에서 다양한 유형의 배열을 구성하는 방법을 보여줍니다. 따라서 구성할 일부 드라이브가 필요합니다.
  • 어레이 유형에 따라 2~4개의 저장 장치가 필요합니다. 이 가이드를 따르기 전에 이러한 드라이브를 포맷할 필요가 없습니다.

정보: 가상 사설 서버에서 RAID 설정의 비효율성으로 인해 DigitalOcean 드롭릿에 RAID 설정을 배포하는 것을 권장하지 않습니다. 데이터 센터 디스크 복제의 효율성은 베어메탈 하드웨어의 설정에 비해 RAID의 이점을 무시할 수 있게 만듭니다. 이 자습서는 기존 RAID 설정에 대한 참조를 목표로 합니다.

기존 RAID 장치 재설정(선택 사항)

아직 어레이를 설정하지 않은 경우 지금은 이 섹션을 건너뛸 수 있습니다. 이 가이드에서는 다양한 RAID 수준을 소개합니다. 장치에 대한 각 RAID 레벨을 따라하고 완료하려면 각 섹션 후에 저장 장치를 재사용하고 싶을 것입니다. 새 RAID 레벨을 테스트하기 전에 구성 요소 저장 장치를 재설정하기 위해 이 특정 섹션인 기존 RAID 장치 재설정을 참조할 수 있습니다.

경고: 이 프로세스는 어레이와 어레이에 기록된 모든 데이터를 완전히 파괴합니다. 올바른 어레이에서 작동 중이고 어레이를 파괴하기 전에 유지해야 하는 모든 데이터를 복사했는지 확인하십시오.

/proc/mdstat 파일에서 활성 배열을 찾는 것으로 시작합니다.

  1. cat /proc/mdstat
Output
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid0 sdc[1] sdd[0] 209584128 blocks super 1.2 512k chunks unused devices: <none>

그런 다음 파일 시스템에서 어레이를 마운트 해제합니다.

  1. sudo umount /dev/md0

이제 어레이를 중지하고 제거합니다.

  1. sudo mdadm --stop /dev/md0

다음 명령을 사용하여 어레이를 구축하는 데 사용된 장치를 찾습니다.

경고: /dev/sd* 이름은 재부팅할 때마다 변경될 수 있습니다. 올바른 장치에서 작동하고 있는지 매번 확인하십시오.

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G linux_raid_member disk sdb 100G linux_raid_member disk sdc 100G disk sdd 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

어레이를 생성하는 데 사용된 장치를 검색한 후 RAID 설정에 대한 메타데이터를 보유하는 수퍼블록을 0으로 만듭니다. 제로화하면 RAID 메타데이터가 제거되고 정상으로 재설정됩니다.

  1. sudo mdadm --zero-superblock /dev/sda
  2. sudo mdadm --zero-superblock /dev/sdb

어레이에 대한 모든 영구 참조도 제거하는 것이 좋습니다. /etc/fstab 파일을 편집하고 배열에 대한 참조를 주석 처리하거나 제거하십시오. nano 또는 선호하는 텍스트 편집기를 사용하여 행 시작 부분에 해시태그 기호 #를 삽입하여 주석 처리할 수 있습니다.

  1. sudo nano /etc/fstab
. . .
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

또한 /etc/mdadm/mdadm.conf 파일에서 배열 정의를 주석 처리하거나 제거합니다.

  1. sudo nano /etc/mdadm/mdadm.conf
. . .
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

마지막으로 initramfs를 다시 업데이트하여 초기 부팅 프로세스가 사용할 수 없는 어레이를 온라인 상태로 만들지 않도록 합니다.

  1. sudo update-initramfs -u

여기에서 저장 장치를 개별적으로 또는 다른 어레이의 구성 요소로 재사용할 준비가 되어 있어야 합니다.

RAID 0 어레이 생성

RAID 0 어레이는 데이터를 청크로 나누고 사용 가능한 디스크에 걸쳐 스트라이프하는 방식으로 작동합니다. 즉, 각 디스크에는 데이터의 일부가 포함되어 있으며 정보를 검색할 때 여러 디스크가 참조됩니다.

  • 요구 사항: 최소 2개의 저장 장치.
  • 주요 이점: 읽기/쓰기 및 용량 측면에서 성능.
  • 유의 사항: 제대로 작동하는 백업이 있는지 확인하십시오. 단일 장치 오류는 어레이의 모든 데이터를 파괴합니다.

구성 요소 장치 식별

시작하려면 사용할 원시 디스크의 식별자를 찾으십시오.

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

이 예에서는 파일 시스템이 없고 각각 크기가 100G인 두 개의 디스크가 있습니다. 이러한 장치에는 이 세션에 대한 /dev/sda/dev/sdb 식별자가 지정되었으며 어레이를 구축하는 데 사용되는 원시 구성 요소가 됩니다.

어레이 생성

이러한 구성 요소로 RAID 0 어레이를 만들려면 mdadm --create 명령에 전달하십시오. 만들려는 장치 이름, RAID 수준 및 장치 수를 지정해야 합니다. 이 명령 예에서는 장치 이름을 /dev/md0로 지정하고 어레이를 구축할 두 개의 디스크를 포함합니다.

  1. sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

/proc/mdstat 파일을 확인하여 RAID가 성공적으로 생성되었는지 확인합니다.

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid0 sdb[1] sda[0] 209584128 blocks super 1.2 512k chunks unused devices: <none>

이 출력은 /dev/md0 장치가 /dev/sda/dev를 사용하여 RAID 0 구성에서 생성되었음을 나타냅니다. /sdb 장치.

파일 시스템 생성 및 마운트

다음으로 어레이에 파일 시스템을 만듭니다.

  1. sudo mkfs.ext4 -F /dev/md0

그런 다음 새 파일 시스템을 연결할 마운트 지점을 만듭니다.

  1. sudo mkdir -p /mnt/md0

다음 명령을 사용하여 파일 시스템을 마운트할 수 있습니다.

  1. sudo mount /dev/md0 /mnt/md0

그런 다음 새 공간을 사용할 수 있는지 확인합니다.

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 196G 61M 186G 1% /mnt/md0

이제 새 파일 시스템이 마운트되고 액세스할 수 있습니다.

어레이 레이아웃 저장

어레이가 부팅 시 자동으로 재조립되도록 하려면 /etc/mdadm/mdadm.conf 파일을 조정해야 합니다. 활성 어레이를 자동으로 스캔하고 다음을 사용하여 파일을 추가할 수 있습니다.

  1. sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

그런 다음 초기 부팅 프로세스 중에 어레이를 사용할 수 있도록 initramfs 또는 초기 RAM 파일 시스템을 업데이트할 수 있습니다.

  1. sudo update-initramfs -u

부팅 시 자동 마운트를 위해 새 파일 시스템 마운트 옵션을 /etc/fstab 파일에 추가합니다.

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

이제 RAID 0 어레이가 각 부팅을 자동으로 조립하고 마운트합니다.

이제 RAID 설정이 완료되었습니다. 다른 RAID를 시도하려면 이 튜토리얼의 시작 부분에 있는 재설정 지침에 따라 새 RAID 어레이 유형 생성을 진행하십시오.

RAID 1 어레이 생성

RAID 1 어레이 유형은 사용 가능한 모든 디스크에 데이터를 미러링하여 구현됩니다. RAID 1 어레이의 각 디스크는 데이터의 전체 복사본을 가져오므로 장치 오류 발생 시 중복성을 제공합니다.

  • 요구 사항: 최소 2개의 저장 장치.
  • 주요 이점: 두 저장 장치 간의 중복.
  • 유의 사항: 두 개의 데이터 복사본이 유지되므로 디스크 공간의 절반만 사용할 수 있습니다.

구성 요소 장치 식별

시작하려면 사용할 원시 디스크의 식별자를 찾으십시오.

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

이 예에서는 파일 시스템이 없고 각각 크기가 100G인 두 개의 디스크가 있습니다. 이러한 장치에는 이 세션에 대한 /dev/sda/dev/sdb 식별자가 지정되었으며 어레이를 구축하는 데 사용하는 원시 구성 요소가 됩니다.

어레이 생성

이러한 구성 요소로 RAID 1 어레이를 만들려면 mdadm --create 명령에 전달하십시오. 만들려는 장치 이름, RAID 수준 및 장치 수를 지정해야 합니다. 이 명령 예에서는 장치 이름을 /dev/md0로 지정하고 어레이를 구축할 디스크를 포함합니다.

  1. sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

사용 중인 구성 요소 장치가 boot 플래그가 활성화된 파티션이 아닌 경우 다음과 같은 경고가 표시될 수 있습니다. y로 응답하고 계속하는 것이 안전합니다.

Output
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: size set to 104792064K Continue creating array? y

mdadm 도구가 드라이브 미러링을 시작합니다. 완료하는 데 약간의 시간이 걸릴 수 있지만 이 시간 동안 어레이를 사용할 수 있습니다. /proc/mdstat 파일을 확인하여 미러링 진행 상황을 모니터링할 수 있습니다.

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb[1] sda[0] 104792064 blocks super 1.2 [2/2] [UU] [====>................] resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/sec unused devices: <none>

강조 표시된 첫 번째 줄에서 /dev/md0 장치는 /dev/sda를 사용하여 RAID 1 구성에서 생성되었습니다. /dev/sdb 장치. 강조 표시된 두 번째 줄은 미러링 진행 상황을 나타냅니다. 이 프로세스가 완료되는 동안 다음 단계를 계속할 수 있습니다.

파일 시스템 생성 및 마운트

다음으로 어레이에 파일 시스템을 만듭니다.

  1. sudo mkfs.ext4 -F /dev/md0

그런 다음 새 파일 시스템을 연결할 마운트 지점을 만듭니다.

  1. sudo mkdir -p /mnt/md0

다음을 실행하여 파일 시스템을 마운트할 수 있습니다.

  1. sudo mount /dev/md0 /mnt/md0

새 공간을 사용할 수 있는지 확인합니다.

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 99G 60M 94G 1% /mnt/md0

새 파일 시스템이 마운트되고 액세스 가능합니다.

어레이 레이아웃 저장

어레이가 부팅 시 자동으로 재조립되도록 하려면 /etc/mdadm/mdadm.conf 파일을 조정해야 합니다. 활성 어레이를 자동으로 스캔하고 다음을 사용하여 파일을 추가할 수 있습니다.

  1. sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

그런 다음 초기 부팅 프로세스 중에 어레이를 사용할 수 있도록 initramfs 또는 초기 RAM 파일 시스템을 업데이트할 수 있습니다.

  1. sudo update-initramfs -u

부팅 시 자동 마운트를 위해 새 파일 시스템 마운트 옵션을 /etc/fstab 파일에 추가합니다.

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

이제 RAID 1 어레이가 각 부팅을 자동으로 조립하고 마운트합니다.

이제 RAID 설정이 완료되었습니다. 다른 RAID를 시도하려면 이 자습서의 시작 부분에 있는 재설정 지침에 따라 새 RAID 어레이 유형 생성을 진행하십시오.

RAID 5 어레이 생성

RAID 5 어레이 유형은 사용 가능한 장치에 데이터를 스트라이핑하여 구현됩니다. 각 스트라이프의 구성 요소 중 하나는 계산된 패리티 블록입니다. 장치에 오류가 발생하면 패리티 블록과 나머지 블록을 사용하여 누락된 데이터를 계산할 수 있습니다. 패리티 블록을 수신하는 장치는 각 장치가 균형 잡힌 양의 패리티 정보를 갖도록 회전됩니다.

  • 요구 사항: 최소 3개의 저장 장치.
  • 주요 이점: 가용 용량이 더 많은 이중화.
  • 유의 사항: 패리티 정보가 배포되는 동안 디스크 1개 분량의 용량이 패리티에 사용됩니다. RAID 5는 성능이 저하된 상태에서 성능이 매우 저하될 수 있습니다.

구성 요소 장치 식별

시작하려면 사용할 원시 디스크의 식별자를 찾으십시오.

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk sdc 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

파일 시스템이 없고 각각 크기가 100G인 세 개의 디스크가 있습니다. 이러한 장치에는 이 세션에 대한 /dev/sda, /dev/sdb/dev/sdc 식별자가 지정되었으며 어레이를 구축하는 데 사용하는 원시 구성 요소.

어레이 생성

이러한 구성 요소로 RAID 5 어레이를 만들려면 mdadm --create 명령에 전달하십시오. 만들려는 장치 이름, RAID 수준 및 장치 수를 지정해야 합니다. 이 명령 예에서는 장치 이름을 /dev/md0로 지정하고 어레이를 구축할 디스크를 포함합니다.

  1. sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

mdadm 도구가 어레이 구성을 시작합니다. 성능상의 이유로 복구 프로세스를 사용하여 어레이를 구축합니다. 완료하는 데 약간의 시간이 걸릴 수 있지만 이 시간 동안 어레이를 사용할 수 있습니다. /proc/mdstat 파일을 확인하여 미러링 진행 상황을 모니터링할 수 있습니다.

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdc[3] sdb[1] sda[0] 209582080 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [>....................] recovery = 0.9% (957244/104791040) finish=18.0min speed=95724K/sec unused devices: <none>

강조 표시된 첫 번째 줄에서 /dev/md0 장치는 /dev/sda, 를 사용하여 RAID 5 구성에서 생성되었습니다. /dev/sdb/dev/sdc 장치. 강조 표시된 두 번째 줄은 빌드 진행률을 보여줍니다.

경고: mdadm이 RAID 5 어레이를 구축하는 방식으로 인해 어레이가 계속 구축되는 동안 어레이의 스페어 수가 부정확하게 보고됩니다. 즉, /etc/mdadm/mdadm.conf 파일을 업데이트하기 전에 어레이 조립이 완료될 때까지 기다려야 합니다. 어레이가 계속 구축되는 동안 구성 파일을 업데이트하면 시스템이 어레이 상태에 대한 잘못된 정보를 갖게 되며 부팅 시 올바른 이름으로 어레이를 자동으로 어셈블할 수 없습니다.

이 프로세스가 완료되는 동안 가이드를 계속할 수 있습니다.

파일 시스템 생성 및 마운트

다음으로 어레이에 파일 시스템을 만듭니다.

  1. sudo mkfs.ext4 -F /dev/md0

새 파일 시스템을 연결할 마운트 지점을 만듭니다.

  1. sudo mkdir -p /mnt/md0

다음을 사용하여 파일 시스템을 마운트할 수 있습니다.

  1. sudo mount /dev/md0 /mnt/md0

새 공간을 사용할 수 있는지 확인합니다.

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

새 파일 시스템이 마운트되고 액세스 가능합니다.

어레이 레이아웃 저장

어레이가 부팅 시 자동으로 재조립되도록 하려면 /etc/mdadm/mdadm.conf 파일을 조정해야 합니다.

경고: 앞에서 언급했듯이 구성을 조정하기 전에 어레이 조립이 완료되었는지 다시 확인하십시오. 어레이를 구축하기 전에 다음 단계를 완료하면 재부팅 시 시스템이 어레이를 올바르게 조립하지 못합니다.

/proc/mdstat 파일을 확인하여 미러링 진행 상황을 모니터링할 수 있습니다.

  1. cat /proc/mdstat
Output
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdc[3] sdb[1] sda[0] 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>

이 출력은 재구축이 완료되었음을 나타냅니다. 이제 활성 어레이를 자동으로 스캔하고 파일을 추가할 수 있습니다.

  1. sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

그런 다음 초기 부팅 프로세스 중에 어레이를 사용할 수 있도록 initramfs 또는 초기 RAM 파일 시스템을 업데이트할 수 있습니다.

  1. sudo update-initramfs -u

부팅 시 자동 마운트를 위해 새 파일 시스템 마운트 옵션을 /etc/fstab 파일에 추가합니다.

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

이제 RAID 5 어레이가 각 부팅을 자동으로 조립하고 마운트합니다.

이제 RAID 설정이 완료되었습니다. 다른 RAID를 시도하려면 이 자습서의 시작 부분에 있는 재설정 지침에 따라 새 RAID 어레이 유형 생성을 진행하십시오.

RAID 6 어레이 생성

RAID 6 어레이 유형은 사용 가능한 장치에 데이터를 스트라이핑하여 구현됩니다. 각 스트라이프의 두 구성 요소는 계산된 패리티 블록입니다. 하나 또는 두 개의 장치에 오류가 발생하면 패리티 블록과 나머지 블록을 사용하여 누락된 데이터를 계산할 수 있습니다. 패리티 블록을 수신하는 장치는 각 장치가 균형 잡힌 양의 패리티 정보를 갖도록 회전됩니다. 이는 RAID 5 어레이와 유사하지만 두 드라이브의 장애를 허용합니다.

  • 요구 사항: 최소 4개의 저장 장치.
  • 주요 이점: 가용 용량이 더 많은 이중 중복.
  • 유의 사항: 패리티 정보가 배포되는 동안 두 개의 디스크가 패리티에 사용됩니다. RAID 6은 성능이 저하된 상태에서 성능이 매우 저하될 수 있습니다.

구성 요소 장치 식별

시작하려면 사용할 원시 디스크의 식별자를 찾으십시오.

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk sdc 100G disk sdd 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

이 예에서는 파일 시스템이 없고 각각 크기가 100G인 4개의 디스크가 있습니다. 이러한 장치에는 /dev/sda, /dev/sdb, /dev/sdc/dev/sdd가 지정되었습니다. 이 세션의 식별자이며 어레이를 구축하는 데 사용되는 원시 구성 요소가 됩니다.

어레이 생성

이러한 구성 요소로 RAID 6 어레이를 만들려면 mdadm --create 명령에 전달하십시오. 생성하려는 장치 이름, RAID 레벨 및 장치 수를 지정해야 합니다. 다음 명령 예제에서는 장치 이름을 /dev/md0로 지정하고 어레이를 구축할 디스크를 포함합니다.

  1. sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

mdadm 도구가 어레이 구성을 시작합니다. 성능상의 이유로 복구 프로세스를 사용하여 어레이를 구축합니다. 완료하는 데 약간의 시간이 걸릴 수 있지만 이 시간 동안 어레이를 사용할 수 있습니다. /proc/mdstat 파일을 확인하여 미러링 진행 상황을 모니터링할 수 있습니다.

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid6 sdd[3] sdc[2] sdb[1] sda[0] 209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU] [>....................] resync = 0.6% (668572/104792064) finish=10.3min speed=167143K/sec unused devices: <none>

강조 표시된 첫 번째 줄에서 /dev/md0 장치는 /dev/sda, 를 사용하여 RAID 6 구성에서 생성되었습니다. >/dev/sdb, /dev/sdc/dev/sdd 장치. 강조 표시된 두 번째 줄은 빌드 진행률을 보여줍니다. 이 프로세스가 완료되는 동안 가이드를 계속 진행할 수 있습니다.

파일 시스템 생성 및 마운트

다음으로 어레이에 파일 시스템을 만듭니다.

  1. sudo mkfs.ext4 -F /dev/md0

새 파일 시스템을 연결할 마운트 지점을 만듭니다.

  1. sudo mkdir -p /mnt/md0

다음을 사용하여 파일 시스템을 마운트할 수 있습니다.

  1. sudo mount /dev/md0 /mnt/md0

새 공간을 사용할 수 있는지 확인합니다.

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

새 파일 시스템이 마운트되고 액세스 가능합니다.

어레이 레이아웃 저장

어레이가 부팅 시 자동으로 재조립되도록 하려면 /etc/mdadm/mdadm.conf 파일을 조정해야 합니다. 다음을 입력하여 활성 어레이를 자동으로 스캔하고 파일을 추가할 수 있습니다.

  1. sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

그런 다음 초기 부팅 프로세스 중에 어레이를 사용할 수 있도록 initramfs 또는 초기 RAM 파일 시스템을 업데이트할 수 있습니다.

  1. sudo update-initramfs -u

부팅 시 자동 마운트를 위해 새 파일 시스템 마운트 옵션을 /etc/fstab 파일에 추가합니다.

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

이제 RAID 6 어레이가 각 부팅을 자동으로 조립하고 마운트합니다.

이제 RAID 설정이 완료되었습니다. 다른 RAID를 시도하려면 이 자습서의 시작 부분에 있는 재설정 지침에 따라 새 RAID 어레이 유형 생성을 진행하십시오.

복잡한 RAID 10 어레이 만들기

RAID 10 어레이 유형은 전통적으로 RAID 1 어레이 세트로 구성된 스트라이프 RAID 0 어레이를 생성하여 구현됩니다. 이 중첩 배열 유형은 많은 양의 디스크 공간을 희생시키면서 중복성과 고성능을 모두 제공합니다. mdadm 유틸리티에는 향상된 유연성과 함께 동일한 유형의 이점을 제공하는 자체 RAID 10 유형이 있습니다. 배열을 중첩하여 생성되지는 않지만 동일한 특성과 보장이 많이 있습니다. 여기에서 mdadm RAID 10을 사용하게 됩니다.

  • 요구 사항: 최소 3개의 저장 장치.
  • 주요 이점: 성능 및 중복성.
  • 유의 사항: 어레이의 용량 감소량은 유지하기로 선택한 데이터 복사본의 수에 의해 정의됩니다. mdadm 스타일 RAID 10으로 저장되는 복사본 수는 구성 가능합니다.

기본적으로 각 데이터 블록의 복사본 두 개가 소위 가까운 레이아웃에 저장됩니다. 각 데이터 블록이 저장되는 방식을 지시하는 가능한 레이아웃은 다음과 같습니다.

  • 근처: 기본 배열입니다. 각 청크의 복사본은 스트라이핑 시 연속적으로 기록됩니다. 즉, 데이터 블록의 복사본이 여러 디스크의 동일한 부분 주위에 기록됩니다.
  • far: 첫 번째 및 후속 복사본이 어레이에 있는 스토리지 장치의 서로 다른 부분에 기록됩니다. 예를 들어, 첫 번째 청크는 디스크의 시작 부분 근처에 기록되고 두 번째 청크는 다른 디스크의 중간쯤에 기록됩니다. 이렇게 하면 쓰기 성능이 저하되는 대신 기존 회전 디스크의 읽기 성능이 향상될 수 있습니다.
  • 오프셋: 각 스트라이프가 복사되고 하나의 드라이브로 오프셋됩니다. 이는 사본이 서로 오프셋되지만 디스크에서 여전히 서로 가깝다는 것을 의미합니다. 이는 일부 워크로드 중에 과도한 탐색을 최소화하는 데 도움이 됩니다.

man 페이지의 RAID10 섹션을 확인하여 이러한 레이아웃에 대해 자세히 알아볼 수 있습니다.

  1. man 4 md

온라인에서 이 man 페이지를 찾을 수도 있습니다.

구성 요소 장치 식별

시작하려면 사용할 원시 디스크의 식별자를 찾으십시오.

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G disk sdb 100G disk sdc 100G disk sdd 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

이 예에서는 파일 시스템이 없고 각각 크기가 100G인 4개의 디스크가 있습니다. 이러한 장치에는 /dev/sda, /dev/sdb, /dev/sdc/dev/sdd가 지정되었습니다. 이 세션의 식별자이며 어레이를 구축하는 데 사용되는 원시 구성 요소가 됩니다.

어레이 생성

이러한 구성 요소로 RAID 10 어레이를 만들려면 mdadm --create 명령에 전달하십시오. 생성하려는 장치 이름, RAID 레벨 및 장치 수를 지정해야 합니다. 다음 명령 예에서는 장치 이름을 /dev/md0로 지정하고 어레이를 구축할 디스크를 포함합니다.

레이아웃과 사본 번호를 지정하지 않고 니어 레이아웃을 사용하여 두 개의 사본을 설정할 수 있습니다.

  1. sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

다른 레이아웃을 사용하거나 사본 수를 변경하려면 레이아웃 및 사본 식별자를 사용하는 --layout= 옵션을 사용해야 합니다. 레이아웃은 근거리의 경우 n, 원거리의 경우 f, 오프셋의 경우 o입니다. 저장할 사본의 수는 나중에 추가됩니다.

예를 들어 오프셋 레이아웃에 3개의 복사본이 있는 배열을 만들려면 명령에 다음이 포함됩니다.

  1. sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

mdadm 도구가 어레이 구성을 시작합니다. 성능상의 이유로 복구 프로세스를 사용하여 어레이를 구축합니다. 완료하는 데 약간의 시간이 걸릴 수 있지만 이 시간 동안 어레이를 사용할 수 있습니다. /proc/mdstat 파일을 확인하여 미러링 진행 상황을 모니터링할 수 있습니다.

  1. cat /proc/mdstat
Output
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0] 209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] [===>.................] resync = 18.1% (37959424/209584128) finish=13.8min speed=206120K/sec unused devices: <none>

강조 표시된 첫 번째 줄에서 /dev/md0 장치는 /dev/sda, 를 사용하여 RAID 10 구성에서 생성되었습니다. >/dev/sdb, /dev/sdc/dev/sdd 장치. 두 번째로 강조 표시된 영역은 이 예에 사용된 레이아웃을 보여줍니다(가까운 구성에서 두 개의 사본). 세 번째로 강조 표시된 영역은 빌드 진행률을 보여줍니다. 이 프로세스가 완료되는 동안 가이드를 계속할 수 있습니다.

파일 시스템 생성 및 마운트

다음으로 어레이에 파일 시스템을 만듭니다.

  1. sudo mkfs.ext4 -F /dev/md0

새 파일 시스템을 연결할 마운트 지점을 만듭니다.

  1. sudo mkdir -p /mnt/md0

다음을 사용하여 파일 시스템을 마운트할 수 있습니다.

  1. sudo mount /dev/md0 /mnt/md0

새 공간을 사용할 수 있는지 확인합니다.

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

새 파일 시스템이 마운트되고 액세스 가능합니다.

어레이 레이아웃 저장

어레이가 부팅 시 자동으로 재조립되도록 하려면 /etc/mdadm/mdadm.conf 파일을 조정해야 합니다. 다음을 실행하여 활성 어레이를 자동으로 스캔하고 파일을 추가할 수 있습니다.

  1. sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

그런 다음 초기 부팅 프로세스 중에 어레이를 사용할 수 있도록 initramfs 또는 초기 RAM 파일 시스템을 업데이트할 수 있습니다.

  1. sudo update-initramfs -u

부팅 시 자동 마운트를 위해 새 파일 시스템 마운트 옵션을 /etc/fstab 파일에 추가합니다.

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

이제 RAID 10 어레이가 각 부팅을 자동으로 조립하고 마운트합니다.

결론

이 가이드에서는 Linux의 mdadm 소프트웨어 RAID 유틸리티를 사용하여 다양한 유형의 어레이를 생성하는 방법을 배웠습니다. RAID 어레이는 여러 디스크를 개별적으로 사용하는 것보다 강력한 중복성과 성능 향상을 제공합니다.

환경에 필요한 어레이 유형을 결정하고 장치를 만든 후에는 mdadm을 사용하여 일상적인 관리를 수행하는 방법을 배울 수 있습니다. Ubuntu에서 mdadm을 사용하여 RAID 어레이를 관리하는 방법에 대한 가이드가 시작하는 데 도움이 될 수 있습니다.