주:

Oracle Linux에서 소프트웨어 RAID 어레이 구축

소개

Redundant Array of Independent Disks 또는 RAID 장치는 둘 이상의 실제 블록 장치에서 만든 가상 장치입니다. 이 기능을 사용하면 여러 장치(일반적으로 디스크 드라이브 또는 디스크의 분할 영역)를 단일 장치로 결합하여 단일 파일 시스템을 보관할 수 있습니다. 일부 RAID 레벨에는 중복성이 포함되므로 파일 시스템이 어느 정도 장치 실패를 견딜 수 있습니다.

Oracle Linux 커널은 다중 장치(MD) 드라이버를 사용하여 Linux 소프트웨어 RAID를 지원하며 디스크 드라이브를 RAID 장치로 구성하고 서로 다른 RAID 레벨을 구현할 수 있도록 합니다.

이러한 여러 RAID 레벨에 대한 자세한 내용은 Oracle 설명서를 참조하십시오.

이 자습서는 MD 유틸리티(mdadm)와 함께 스페어가 있는 RAID1 장치를 만든 다음 디스크 오류를 해결합니다.

목표

필요 조건

다음 구성을 사용하는 모든 Oracle Linux 8 시스템:

랩 환경 설정

주: 무료 실습 환경을 사용하는 경우 Oracle Linux Lab Basics에서 연결 및 기타 사용 지침을 참조하십시오.

  1. 아직 연결되지 않은 경우 터미널을 열고 위에서 언급한 각 instance에 ssh를 통해 연결합니다.

    ssh oracle@<ip_address_of_instance>
    
  2. 블록 볼륨이 존재하는지 확인합니다.

    sudo lsblk
    

    무료 랩 환경의 출력에는 기존 파일 시스템의 /dev/sda 및 사용 가능한 디스크 /dev/sdb, /dev/sdc/dev/sdd가 표시되어야 합니다.

MD 유틸리티 설치

  1. 시스템에서 아직 사용할 수 없는 경우 MD 유틸리티를 설치합니다.

    mdadm가 설치되어 있는지 확인합니다.

    sudo dnf list --installed mdadm
    

    설치되지 않은 경우 mdadm를 설치합니다.

    sudo dnf -y install mdadm
    

    주: 무료 실습 환경에는 MD 유틸리티가 이미 설치되어 있습니다.

RAID 장치를 만듭니다.

RAID1는 어레이의 각 드라이브에 동일한 데이터를 작성하여 데이터 중복성 및 복원성을 제공합니다. 한 드라이브에 장애가 발생하면 미러에서 I/O 요청을 충족시킬 수 있습니다. 이중화는 어레이의 모든 디스크에 동일한 정보를 기록하므로 비용이 많이 드는 솔루션입니다.

RAID1의 기능:

  1. RAID 장치를 만드는 데 사용할 수 있는 옵션을 나열합니다.

    mdadm --help를 사용하면 --create 옵션을 사용하여 사용되지 않은 장치에서 새 배열을 만들 수 있습니다.

    sudo mdadm --create --help
    
  2. 스페어 디스크가 하나인 RAID1 장치를 만듭니다.

    sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
    
    • --create: : 새 배열을 생성합니다.
    • --level : RAID 레벨
    • --raid-devices : 배열의 활성 장치 수입니다.
    • --spare-devices: 초기 배열의 예비(추가) 장치 수

    이 명령에서 장치(어레이)의 이름은 /dev/md0이고 /dev/sdb/dev/sdc를 사용하여 RAID1 장치를 만듭니다. /dev/sdd 장치는 활성 장치의 장애로부터 복구하기 위해 자동으로 예비 장치로 사용됩니다.

    y를 입력하고 ENTER를 눌러 Continue creating array? 프롬프트를 적용합니다.

    출력 예:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
    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 52395008K
    Continue creating array? y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    

파일 시스템 만들기

  1. RAID 장치에 ext4 파일 시스템을 만들고 마운트합니다.

    sudo mkfs.ext4 -F /dev/md0
    sudo mkdir /u01
    sudo mount /dev/md0 /u01
    
    
  2. 파일 시스템 디스크 사용량을 보고합니다.

    df -h
    

    출력 예:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    ...
    /dev/md0                     49G   53M   47G   1% /u01
    
  3. /etc/fstab에 항목을 추가하고 재부트 시 마운트 지점이 지속되도록 합니다.

    echo "/dev/md0    /data01    ext4    defaults    0 0" | sudo tee -a /etc/fstab > /dev/null
    

RAID 장치 확인

  1. 어레이에 대한 세부정보를 가져옵니다.

    sudo mdadm --detail /dev/md0
    

    출력 예:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0
    /dev/md0:
               Version : 1.2
         Creation Time : Sat Jun  4 20:08:32 2022
            Raid Level : raid1
            Array Size : 52395008 (49.97 GiB 53.65 GB)
         Used Dev Size : 52395008 (49.97 GiB 53.65 GB)
          Raid Devices : 2
         Total Devices : 3
           Persistence : Superblock is persistent
    
           Update Time : Sat Jun  4 20:28:58 2022
                 State : clean, resyncing 
        Active Devices : 2
       Working Devices : 3
        Failed Devices : 0
         Spare Devices : 1
    
    Consistency Policy : resync
    
         Resync Status : 59% complete
    
                  Name : ol-mdadm-2022-06-04-180415:0  (local to host ol-mdadm-2022-06-04-180415)
                  UUID : f6c35144:66a24ae9:5b96e616:f7252a9f
                Events : 9
    
        Number   Major   Minor   RaidDevice State
           0       8       16        0      active sync   /dev/sdb
           1       8       32        1      active sync   /dev/sdc
    
           2       8       48        -      spare   /dev/sdd
    

    출력에서 State는 배열이 정리되고 재동기화 중임을 보여줍니다. resysc는 항상 배열을 처음 만든 후 또는 복구 후에 발생합니다. 재동기화가 59% 완료되었음을 출력했습니다.

  2. 커널에서 실시간 정보를 확인합니다.

    sudo cat /proc/mdstat
    

    출력 예:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ cat /proc/mdstat 
    Personalities : [raid1] 
    md0 : active raid1 sdd[2](S) sdc[1] sdb[0]
          52395008 blocks super 1.2 [2/2] [UU]
          [==================>..]  resync = 92.2% (48341824/52395008) finish=2.7min speed=24677K/sec
          
    unused devices: <none>
    

RAID 구성 파일 생성

  1. (선택 사항) RAID 구성을 /etc/mdadm.conf에 추가합니다.

    구성 파일은 RAID 장치인 장치와 특정 장치가 속한 배열을 식별합니다. 이 구성 파일에 따라 mdadm는 부트 시 배열을 어셈블할 수 있습니다.

    sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
    

    출력 예:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
    ARRAY /dev/md/0  metadata=1.2 UUID=f6c35144:66a24ae9:5b96e616:f7252a9f name=ol-mdadm-2022-06-04-180415:0
       spares=1
    

RAID 장치 관리

이 옵션은 장치 추가, 제거 또는 결함 발생과 같은 배열 내의 구성 요소 장치를 관리하는 데 사용됩니다.

  1. RAID 장치 관리에 사용할 수 있는 옵션을 나열합니다.

    sudo mdadm --manage --help
    
    • --add : 후속 장치를 홀더합니다.
    • --remove : 후속 비활성 장치를 제거합니다.
    • --fail : 후속 장치를 결함으로 표시합니다.
  2. 캐시된 쓰기를 영구 저장소에 동기화합니다.

    모든 디스크 캐시가 디스크에 기록되도록 하려면 디스크 관리를 실행하기 전에 이 작업을 수행해야 합니다.

    sudo sync
    
  3. 디스크를 실패로 표시합니다.

    sudo mdadm --manage /dev/md0 --fail /dev/sdb
    
  4. 배열 세부정보를 가져옵니다.

    sudo mdadm --detail /dev/md0 
    

    출력 예:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0 
    /dev/md0:
               Version : 1.2
         Creation Time : Sat Jun  4 20:08:32 2022
            Raid Level : raid1
            Array Size : 52395008 (49.97 GiB 53.65 GB)
         Used Dev Size : 52395008 (49.97 GiB 53.65 GB)
          Raid Devices : 2
         Total Devices : 3
           Persistence : Superblock is persistent
    
           Update Time : Sat Jun  4 21:34:19 2022
                 State : clean, degraded, recovering 
        Active Devices : 1
       Working Devices : 2
        Failed Devices : 1
         Spare Devices : 1
    
    Consistency Policy : resync
    
        Rebuild Status : 1% complete
    
                  Name : ol-mdadm-2022-06-04-180415:0  (local to host ol-mdadm-2022-06-04-180415)
                  UUID : f6c35144:66a24ae9:5b96e616:f7252a9f
                Events : 19
    
        Number   Major   Minor   RaidDevice State
           2       8       48        0      spare rebuilding   /dev/sdd
           1       8       32        1      active sync   /dev/sdc
    
           0       8       16        -      faulty   /dev/sdb
    

    어레이는 degradedrecovering으로 표시됩니다. 또한 /dev/sdb에 결함이 있는 동안 예비 장치 /dev/sdd가 자동으로 어레이를 재구성하고 있음을 출력합니다.

  5. 실패한 디스크를 제거합니다.

    sudo mdadm --manage /dev/md0 --remove /dev/sdb
    
  6. 실패한 디스크를 교체하십시오.

    서버의 실패한 물리적 디스크를 새 디스크로 교체합니다.

    주: 무료 실습 환경을 사용할 때는 이 단계에서 수행할 작업이 없습니다. 연습에서는 기존 dev/sdb 장치의 용도를 바꿉니다.

  7. 이전 linux_raid_member 서명을 제거합니다.

    서명, 메타데이터는 RAID 어레이에서 사용될 때 디스크에 기록되며 해당 서명을 제거할 때까지 디스크를 다른 시스템으로 이동하거나 용도를 조정할 수 없습니다.

    sudo wipefs -a -f /dev/sdb
    

    경고: wipefs 명령은 소멸적이며 대상 디스크(/dev/sdb)의 전체 분할 영역 테이블과 서명을 제거합니다.

  8. 어레이에 새 스페어를 추가합니다.

    sudo mdadm --manage /dev/md0 --add /dev/sdb
    
  9. 예비 디스크가 있는지 확인합니다.

    sudo mdadm --detail /dev/md0 
    

    출력 하단에는 Statespare로 설정된 /dev/sdb 장치가 목록에 나타나야 합니다.

자세한 내용:

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 보다 무료 학습 컨텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer을 방문하여 Oracle Learning Explorer가 됩니다.

제품 설명서는 Oracle Help Center를 참조하십시오.