更换后RAID 1磁盘被标记为备用

我的RAID 1中的两个磁盘之一死了,所以我把它replace了。 当新的磁盘已经添加到arrays的同步过程开始,几分钟后,它已经成为一个备用。 我如何“强制”磁盘是一个数组的常规部分?

# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 401472 blocks [2/2] [UU] md1 : active raid1 sdb2[2](S) sda2[0] 487982336 blocks [2/1] [U_] unused devices: <none> 

正如你所看到的,分区sdb1是数组md0的常规部分。 但sdb2被标记为备用,不会被添加到md1。

旧盘是500GB,512B扇区,新盘是4K扇区大小的1TB。 这可以成为问题的根源吗?

旧磁盘与sda具有相同的几何形状。 新的磁盘是sdb。

 # fdisk -l /dev/sda Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000dda75 Device Boot Start End Blocks Id System /dev/sda1 * 63 803249 401593+ fd Linux raid autodetect /dev/sda2 803250 976768064 487982407+ fd Linux raid autodetect # fdisk -l /dev/sdb Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 809343 403648 fd Linux raid autodetect /dev/sdb2 809344 976774159 487982408 fd Linux raid autodetect 

我已经做了sdb2一个块大于sda2(487982408与487982407 +)所以我认为一切都应该是好的。

这是Fedora 2.6.35.14-97.fc14.x86_64我会欢迎任何意见。

谢谢,Aas。

我最终find了同步问题的根本原因。 这是因为另一个磁盘有一些坏块,所以同步过程在某个时候失败了。 我创build了新的md2设备,并将其添加到vg00作为新的PV。 然后将所有的数据从错误的md1数组中删除,销毁它,重buildinitrd,删除第二个磁盘,并从新的磁盘启动。 谢谢你的支持。 我希望这可以帮助别人。

您没有显示任何输出或日志; 当你跑步时,dmesg会说什么?

mdadm /dev/md1 -a /dev/sdb2

另外,假设fdisk -l的分区大小是危险的。 有一个原因,它告诉你sda2是487982407 +(PLUS)块。

使用mdadm -D /dev/md1作为实际大小。