我有一个Linux mdadm RAID 10arrays,包含configuration有n2个副本的6个(SATA)磁盘。
当拔出一个磁盘时,另一个镜像对中的另一个失败。 留下我:
$ cat /proc/mdstat md2 : active raid10 sdb1[1] sdd1[5] sdc1[3] sdf1[2] 2929412352 blocks 64K chunks 2 near-copies [6/4] [_UUU_U]
我想replace第五个磁盘,并用以下命令重build分区表: sfdisk -d /dev/sdf | sfdisk /dev/sde sfdisk -d /dev/sdf | sfdisk /dev/sde
但是,当我用mdadm -a /dev/md1 /dev/sde1添加新磁盘时,mdadm开始重buildRaidDevice 0
$ mdadm -D /dev/md2 ... Number Major Minor RaidDevice State 6 8 66 0 spare rebuilding /dev/sde1 1 8 2 1 active sync /dev/sdb1 2 8 17 2 active sync /dev/sdc1 3 8 33 3 active sync /dev/sdd1 4 0 0 4 removed 5 8 49 5 active sync /dev/sdf1
这不是一个大问题,我只需要将磁盘5物理移动到磁盘1插槽,以便在查看盒子时保持一定的理智。
我的问题是,有没有办法指示mdadm使用新磁盘来replace特定的RaidDevice? 我拖网页,但找不到合适的选项。
即使在硬件RAID控制器上我也没有看到这样的select。 您只能为某些RAID添加热备用,但不能用于指定的磁盘。 也许有些控制器做这件事,但不是全部…
据我所知,mdadm也没有这个select。 但你可以尝试做这样的伎俩:使超级块(元数据)目标失败的磁盘(sde?)转储并上传到您的备用磁盘。 也许, – 重新select是做你想做的,但我不知道。
从man:–re-add重新添加一个以前从数组中删除的设备。 如果设备上的元数据报告它是arrays的成员,并且它使用的插槽仍是空的,则设备将被添加回arrays中相同的位置。