「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メタデータが破損する可能性があります。

関連情報