我的 CentOS 6 服务器正在运行具有两个 1 TB 磁盘的软件 RAID 1 配置。昨天,当服务器非常无响应时,问题开始出现。我检查了日志,发现一大堆与磁盘 IO 有关的连续错误消息。我还注意到第二个磁盘 /dev/sdb 被“踢出”了 RAID 1 设置。它说它已降级,并且当我执行 时显示 [U_] 而不是 [UU] cat /proc/mdstat
。输出如下所示:
root@rescue:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sda1[0]
20971456 blocks [2/1] [U_]
md2 : active raid1 sda2[0]
955260864 blocks [2/1] [U_]
unused devices: <none>
在联系运行服务器的托管公司并运行 smartctl 检查驱动器后,发现两个磁盘都需要更换。
此时我只能进入救援模式,在该模式下我仍然可以挂载我的分区(/dev/md1 和 /dev/md2)并访问数据。我已经使用 scp 下载了最新的 Plesk 备份。
现在请耐心等待,因为我不是服务器管理员,但我的计划是先更换第二个磁盘 /dev/sdb,然后将其重新添加到 RAID 1 设置中。这样,新的第二个磁盘将与旧磁盘 1 同步。完成后,我可以对磁盘 1 重复该过程,并将新磁盘 1 与新磁盘 2 同步。这可能吗?
此外,我应该采取什么步骤来实现这一点?
- 用新磁盘 2 替换故障磁盘 2
- 对磁盘 2 进行与磁盘 1 相同的分区:
sfdisk -d /dev/sda | sfdisk /dev/sdb
- 将新磁盘添加到分区 /dev/md1 和 /dev/md2:
mdadm --manage /dev/md1 --add /dev/sdb1
并且mdadm --manage /dev/md2 --add /dev/sdb2
- 等待同步完成,同时关注 /proc/mdstat 进行验证
- 对磁盘 1 重复上述步骤
这看起来还好吗?同步会在第 3 点之后立即开始吗?我在这些步骤中忘记了什么吗?
答案1
如果两个驱动器都需要更换,那么在阵列重建时,您很可能会丢失第一个驱动器。我只想省去麻烦,从备份中恢复。