我的 Ubuntu 系统(10.04 LTS、2.6.32-24-server 以防万一)上的 RAID1 软件 raid 分区遇到以下问题。
我的一个磁盘 (sdb5) 报告了 I/O 错误,因此在阵列中被标记为故障。该阵列随后被一个有源器件降级。因此,我更换了硬盘,克隆了分区表并将所有新分区添加到我的 raid 阵列中。同步所有分区后,结果很好,有 2 个活动设备 - 除了其中一个。然而,之前报告故障磁盘的分区没有将新分区作为活动设备,而是作为备用磁盘:
md3 : active raid1 sdb5[2] sda5[1]
4881344 blocks [2/1] [_U]
Run Code Online (Sandbox Code Playgroud)
详细的外观显示:
root@server:~# mdadm --detail /dev/md3
[...]
Number Major Minor RaidDevice State
2 8 21 0 spare rebuilding /dev/sdb5
1 8 5 1 active sync /dev/sda5
Run Code Online (Sandbox Code Playgroud)
那么问题来了:我如何告诉我的raid 将备用磁盘变成活动磁盘?为什么将其添加为备用设备?重新创建或重新组装阵列不是一种选择,因为它是我的根分区。而且我在 Software Raid HOWTO 中找不到有关该主题的任何提示。
任何帮助,将不胜感激。
当前解决方案
我找到了解决问题的方法,但我不确定这是否是解决问题的实际方法。仔细查看我的突袭,我发现 sdb5 始终被列为备用设备:
mdadm --examine /dev/sdb5
[...]
Number Major Minor RaidDevice State
this 2 8 21 2 …Run Code Online (Sandbox Code Playgroud)