Mdadm使用
使用 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。但是,/etc/mdstat
說完全重新同步需要 2-3 天,我想知道是否可以停止陣列,殺死超級塊/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 磁碟 RAID-0(本質上是線性數據)擴展到 2 磁碟 RAID-0(條帶數據)涉及重塑/重新分配所有數據。相反,簡單地創建一個新的 RAID 會導致完全的數據失去。
因此,僅當 RAID 陣列上最初沒有數據時,重新同步才無用。顯然,沒有數據你可以做任何你想做的事。
如果您要從頭開始重新創建該 RAID 陣列,我建議您還在驅動器上放置一個分區表,然後使用分區。對於未分區的驅動器,很容易意外創建分區表,這樣做會損壞您的 RAID 元數據。