通过运行创建了一个 5 磁盘 RAID 10 mdadm --create /dev/md0 --level=10 --raid-devices=5 /dev/sdb1 /dev/sd[d-g]1
,因为它是一个奇数,所以我希望 1 个磁盘成为备用设备。
但是有 0 个备用设备mdadm --detail /dev/md0
:
Version : 1.2
Creation Time : Fri Jun 5 01:23:44 2020
Raid Level : raid10
Array Size : 1464820224 (1396.96 GiB 1499.98 GB)
Used Dev Size : 585928192 (558.78 GiB 599.99 GB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Fri Jun 5 03:38:38 2020
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : bitmap
Name : localhost-test1:0 (local to host localhost-test1)
UUID : 70b93b43:fbf9aebc:710c8153:a29cbd47
Events : 1565
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 49 1 active sync /dev/sdd1
2 8 65 2 active sync /dev/sde1
3 8 81 3 active sync /dev/sdf1
4 8 97 4 active sync /dev/sdg1
创建两个 2disk 镜像不是默认策略吗?
答案1
不确定答案是什么,但要解决这个问题,有两个选择。故障并移除驱动器,增加/减少 raid 设备数量,然后重新添加驱动器。或者移除并使用新参数重新创建阵列。但是会发生某种增量/重新同步,这会比从头开始花费更长的时间(两倍时间?)。
mdadm /dev/md0 --fail /dev/sdg1
mdadm /dev/md0 --remove /dev/sdg1
wipefs -a /dev/sdg1
mdadm --grow /dev/md0 --raid-devices=4
You may get a warning telling you what to run
mdadm --grow /dev/md0 --raid-devices=4
mdadm /dev/md0 --add /dev/sdg1
第二个选项是重新创建并指定少 1 个 --raid-devices 并明确指定 --spare-devices= 数量和分区:
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sdb1 /dev/sd[d-f]1 --spare-devices=1 /dev/sdg1