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

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

我的 RAID 1 中的两个磁盘中的一个坏了,所以我更换了它。当新磁盘添加到阵列时,同步过程开始,几分钟后它就变成了备用磁盘。我如何“强制”磁盘成为阵列的常规部分?

# 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,而新磁盘为 1TB,扇区大小为 4KiB。这可能是问题的根源吗?

旧磁盘的几何结构与 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。

答案1

我终于找到了同步问题的根本原因。这是因为另一个磁盘有一些坏块,所以同步过程在某个时候失败了。我创建了新的 md2 设备并将其作为新 PV 添加到 vg00。然后 pvmove 将所有数据从坏的 md1 阵列中移除,销毁它,重建 initrd,移除第二个磁盘并从新磁盘启动。感谢您的支持。我希望这对某人有帮助。

答案2

您没有显示任何输出或日志;运行时 dmesg 说了什么

mdadm /dev/md1 -a /dev/sdb2

此外,从 fdisk -l 假设分区大小是危险的;它告诉您 sda2 是 487982407+(PLUS)块是有原因的。

用于mdadm -D /dev/md1实际尺寸。

相关内容