"mdadm --create --assume-clean"을 사용하여 RAID0을 확장하시겠습니까?

"mdadm --create --assume-clean"을 사용하여 RAID0을 확장하시겠습니까?

결국 더 많은 디스크를 추가하려는 의도로 1개의 디스크 RAID0 어레이를 만들었고 제대로 작동했습니다. 나는 (대략) 다음과 같이 생성합니다.

$ mdadm --create /dev/md0 --raid-devices=1 --level=0 /dev/sdb -f

그런 다음 다른 디스크를 추가했습니다.

 $ mdadm --grow /dev/md0 --add /dev/sdc --raid-devices=2

그리고 설명서에 따라 mdadm어레이를 RAID4로 변환하고 재동기화를 시작하세요. 설명서에는 어레이가 나중에 RAID0으로 다시 변환될 것이라고 나와 있습니다. 그러나 전체 재동기화에는 2~3일이 소요되므로 어레이를 중지하고 해당 슈퍼 블록을 종료 한 후 다음을 수행 /etc/mdstat할 수 있는지 궁금합니다 ./dev/sdc

$ mdadm --create --assume-clean --verbose /dev/md0 --chunk=512 \
    --level=0 --raid-devices=2 /dev/sdb /dev/sdc

쓸모없는 RAID4 재동기화를 기다리는 대신?

이제 어레이 상태는 다음과 같습니다.

$ mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : XXXXXXXXXXXXXXXX
     Raid Level : raid4
     Array Size : 11718754304 (11175.88 GiB 12000.00 GB)
  Used Dev Size : 11718754304 (11175.88 GiB 12000.00 GB)
   Raid Devices : 3
  Total Devices : 2

    Update Time : XXXXXXXXXXXXXXXX
          State : clean, FAILED, reshaping
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

     Chunk Size : 512K

sistency Policy : resync

 Reshape Status : 2% complete
  Delta Devices : 1, (2->3)

...

[root@centos7 ~]# mdadm --stop /dev/md0
[root@centos7 ~]# mdadm -E /dev/sdb
/dev/sdb:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x44
     Array UUID : 5978222a:8f2c320c:c7059108:c3d6dc41
           Name : centos7:0  (local to host centos7)
  Creation Time : Sat Apr 28 05:15:00 2018
     Raid Level : raid4
   Raid Devices : 3

 Avail Dev Size : 23437508608 (11175.88 GiB 12000.00 GB)
     Array Size : 23437508608 (22351.75 GiB 24000.01 GB)
    Data Offset : 262144 sectors
     New Offset : 260096 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 9a75cd7e:bb469dab:2e0db890:69a68f54

  Reshape pos'n : 620094464 (591.37 GiB 634.98 GB)
  Delta Devices : 1 (2->3)

    Update Time : Wed Aug  1 06:12:00 2018
  Bad Block Log : 512 entries available at offset 8 sectors
       Checksum : d239a780 - correct
         Events : 608

     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA. ('A' == active, '.' == missing, 'R' == replacing)
[root@centos7 ~]# mdadm -E /dev/sdc
/dev/sdc:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x46
     Array UUID : 5978222a:8f2c320c:c7059108:c3d6dc41
           Name : centos7:0  (local to host centos7)
  Creation Time : Sat Apr 28 05:15:00 2018
     Raid Level : raid4
   Raid Devices : 3

 Avail Dev Size : 23437508608 (11175.88 GiB 12000.00 GB)
     Array Size : 23437508608 (22351.75 GiB 24000.01 GB)
    Data Offset : 262144 sectors
     New Offset : 260096 sectors
   Super Offset : 8 sectors
Recovery Offset : 620094464 sectors
          State : clean
    Device UUID : ce6e93f9:729557dc:a1afc6a4:39b954f9

  Reshape pos'n : 620094464 (591.37 GiB 634.98 GB)
  Delta Devices : 1 (2->3)

    Update Time : Wed Aug  1 06:12:00 2018
  Bad Block Log : 512 entries available at offset 264 sectors
       Checksum : 5b8389b4 - correct
         Events : 608

     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA. ('A' == active, '.' == missing, 'R' == replacing)

답변1

1개 디스크 RAID-0(기본적으로 선형 데이터)에서 2개 디스크 RAID-0(스트라이핑 데이터)으로 이동하려면 모든 데이터의 크기를 조정/재분배해야 합니다. 새 RAID를 생성하는 것만으로도 데이터가 완전히 손실될 수 있습니다.

따라서 재동기화는 처음부터 RAID 어레이에 데이터가 없는 경우에만 유용합니다. 분명히 데이터 없이 원하는 것은 무엇이든 할 수 있습니다.

RAID 어레이를 처음부터 다시 생성하는 경우 드라이브에 파티션 테이블도 배치한 다음 해당 파티션을 사용하는 것이 좋습니다. 파티션이 지정되지 않은 드라이브를 사용하면 실수로 파티션 테이블을 생성하여 RAID 메타데이터가 손상될 수 있습니다.

관련 정보