我创建了一个 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 元数据。