我正在对ddf容器上的mdadm阵列进行测试,其中在模拟故障设备并更换了新设备后,不会使用新添加的备用磁盘或现有备用磁盘重建ddf容器阵列。测试系统是带有10个虚拟磁盘的VM。 这是一个失败:
- 创建ddf容器
# mdadm -C /dev/md/ddf0 /dev/sd[b-k] -n 10 -e ddf
mdadm: container /dev/md/ddf0 prepared.
- 在容器内创建多个mdadm数组
# mdadm -C /dev/md/raid10_test1 /dev/md/ddf0 -n 8 -l 10 -z 1G -c 32K
mdadm: array /dev/md/raid10_test1 started.
# mdadm -C /dev/md/raid10_test2 /dev/md/ddf0 -n 8 -l 10 -z 1G -c 32K
mdadm: array /dev/md/raid10_test2 started.
# mdadm -C /dev/md/raid5_test1 /dev/md/ddf0 -qn 8 -l 5 -z 1G -c 32K
mdadm: array /dev/md/raid5_test1 started.
# mdadm -C /dev/md/raid6_test1 /dev/md/ddf0 -n 8 -l 6 -z 1G -c 32K
mdadm: array /dev/md/raid6_test1 started.
# mdadm -C /dev/md/raid1_test1 /dev/md/ddf0 -n 2 -l 1 -z 1G -c 32K
mdadm: array /dev/md/raid1_test1 started.
# mdadm -C /dev/md/raid1_test2 /dev/md/ddf0 -n 3 -l 1 -z 1G -c 32K
mdadm: array /dev/md/raid1_test2 started.
- 标记失败并从阵列之一中删除设备
# mdadm /dev/md/raid10_test1 --fail /dev/nvme5n1
mdadm: set /dev/sde faulty in /dev/md/raid10_test1
# mdadm /dev/md/ddf0 --remove /dev/nvme5n1
mdadm: hot removed /dev/sde from /dev/md/ddf0
- 在已删除的设备上擦除标题
# wipefs -a /dev/sde
/dev/sde: 4 bytes were erased at offset 0x3ffffe00 (ddf_raid_member): de 11 de 11
- 将设备重新添加到阵列中
# mdadm /dev/md/ddf0 --add /dev/sde
mdadm: added /dev/sde
- 将设备添加为新的全局备用设备,并且不会发生重复
# mdadm --examine /dev/md/ddf0
[snip..]
Physical Disks : 1023
Number RefNo Size Device Type/State
0 a47420c0 1015808K /dev/sdb Global-Spare/Online
1 1a49734b 1015808K /dev/sdc active/Online
2 c30bd310 1015808K /dev/sdd active/Online
3 2068fdea 1015808K active/Offline,Failed,Missing
4 4af60472 1015808K /dev/sdf active/Online
5 77c8d4a3 1015808K /dev/sdg active/Online
6 e26a1c6d 1015808K /dev/sdh active/Online
7 8ed9b610 1015808K /dev/sdi active/Online
8 eeaca06e 1015808K /dev/sdj active/Online
9 26b4a06b 1015808K /dev/sdk active/Online
10 489e4608 1015808K /dev/sde Global-Spare/Online <<< Device added back in as spare
为什么容器不会自动开始重建过程?是因为后备设备不受BIOS Raid控制器控制吗?