![Raid 1 mdadm(linux)磁盘故障恢复:DRDY err(UNC)不断重复无法登录](https://linux22.com/image/1258450/Raid%201%20mdadm%EF%BC%88linux%EF%BC%89%E7%A3%81%E7%9B%98%E6%95%85%E9%9A%9C%E6%81%A2%E5%A4%8D%EF%BC%9ADRDY%20err%EF%BC%88UNC%EF%BC%89%E4%B8%8D%E6%96%AD%E9%87%8D%E5%A4%8D%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95.png)
周末,我收到了来自我们的网络存储服务器(只是一个装有 CentOS 5 和 2 个 2tb 驱动器软件 raid 1 的定制盒子)的几封电子邮件,表明 SMART 检测到其中一个驱动器存在问题。
我检查了状态,其中 2 个被突袭的分区被标记为失败:
[root@aapsan01 ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb1[1] sda1[0]
104320 blocks [2/2] [UU]
md0 : active raid1 sdb3[1] sda3[2](F)
4064320 blocks [2/1] [_U]
md3 : active raid1 sdb5[1] sda5[0]
1928860160 blocks [2/2] [UU]
md2 : active raid1 sdb2[1] sda2[2](F)
20482752 blocks [2/1] [_U]
因此,我将所有 sda 分区设置为“失败”,成功删除所有 sda 镜像,放入一个全新的 2TB 相同驱动器(关机后)并启动。现在,我无法登录,因为在启动过程中到达 md: autodetect raid array 后错误消息不断重复。起初错误如下:
DRDY err (UNC) -- exception emask media error
现在我收到 I/O 错误。我尝试移除损坏的驱动器,然后再次插入。结果相同。我发现的文章显示这是一个简单的恢复过程。怎么回事?有人遇到过类似的事情吗?似乎启动过程仍在继续,尽管每一步都要花很长时间。有人等了这么久才到达提示符吗?希望如果我无法到达提示符,我可以使用救援 CD 到达某个地方。
答案1
查看 md2 - 它在数组中有两个分区,按 [sdb2] [sda2] 的顺序列出,并且该对的状态列为 [_U],这意味着第一个分区 ([sdb2]) 已退出配对。请阅读此处:http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array。希望你能解决这个问题。
答案2
我是个笨蛋。我错误地识别了故障磁盘,并试图在恢复过程中使用坏磁盘。对于任何感兴趣的人,您可以使用 lshal 获取坏驱动器的 s/n。将 lshal 的输出重定向到日志文件,然后搜索 sda sdb 或任何 mdadm 或 SMART 识别为坏的磁盘。
答案3
根据 Linker3000 的回答,您首先删除的磁盘的内容应该仍然没问题。删除您现在知道实际上是损坏的磁盘,然后尝试单独使用好磁盘启动。当您在损坏磁盘存在的情况下重新添加健康磁盘时,md 可能会将健康磁盘标记为落后,但这种可能性很小。在这种情况下,您需要从活动 CD/USB 启动并重新激活您的 RAID。一旦您的系统正常运行,您就可以按照正常步骤重新开始将新磁盘添加到 RAID 1。