我的设置如下
/dev/sdb/ /dev/sdc/ /dev/sdd/ /dev/sdf/
我在 mdadm raid 5 阵列中安装了以下 4 个 1.5TB 驱动器。其中一个磁盘 (sdb) 坏了,导致阵列在降级模式下启动运行。
我认为没问题,因为这就是我设置 raid 5 阵列的根本原因。我有一个备用的 1.5TB 的空白磁盘来替换坏掉的 sdb 磁盘,所以我格式化了它并将其添加到阵列中。然而,问题真正开始的地方就在这里。
在添加新磁盘后恢复阵列时,恢复每次都会失败,尽管失败的百分比并不总是相同。恢复失败后,sdc 被标记为故障设备,并从阵列中删除,但可以强制再次添加。
以下是 syslog 的一些输出
Jan 5 01:16:28 serverlol kernel: [11303.917452] md/raid:md0: Disk failure on sdc1, disabling device. Jan 5 01:16:28 serverlol mdadm[3345]: Fail event detected on md device /dev/md0, component device /dev/sdc1
以下是发生故障时 syslog 的输出
Jan 5 01:16:24 serverlol kernel: [11300.853422] end_request: I/O error, dev sdc, sector 693768801 Jan 5 01:16:24 serverlol kernel: [11300.853426] md/raid:md0: read error not correctable (sector 693766752 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853429] md/raid:md0: read error not correctable (sector 693766760 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853432] md/raid:md0: read error not correctable (sector 693766768 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853434] md/raid:md0: read error not correctable (sector 693766776 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853436] md/raid:md0: read error not correctable (sector 693766784 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853438] md/raid:md0: read error not correctable (sector 693766792 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853441] md/raid:md0: read error not correctable (sector 693766800 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853443] md/raid:md0: read error not correctable (sector 693766808 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853446] md/raid:md0: read error not correctable (sector 693766816 on sdc1). Jan 5 01:16:24 serverlol kernel: [11300.853448] md/raid:md0: read error not correctable (sector 693766824 on sdc1).
我已经在 /dev/sdc 上运行了 smartctl,发现肯定存在一些错误,我在阵列中的其他驱动器上运行相同的测试,但在这么大的驱动器上完成需要很长时间。
好的,以下是我到目前为止采取的恢复步骤,我订购了一个外部 4TB 硬盘,我打算将降级阵列中的尽可能多的数据备份到该硬盘上。这是因为在降级模式下仍然可以安装和浏览阵列。当然,对于其中包含的所有数据来说,情况可能并非如此。我目前已停止 mdadm 并卸载阵列,同时等待 4TB 备份磁盘到达。
我目前的计划是使用“safecopy”工具将尽可能多的数据恢复到外部硬盘。这是从降级的 /dev/md0 设备复制数据的最佳实用程序吗?
这是我恢复尽可能多的数据的最佳做法吗?或者我还能做其他什么来解决这个问题?
我有一个用于替换最初发生故障的驱动器 (sdb) 的磁盘,但我没有其他 1.5 TB 驱动器来替换另一个标记为发生故障的驱动器 (sdc)。这就是为什么我只想将尽可能多的数据恢复到外部驱动器,之后我可能会建立一个全新的阵列,因为这些 1.5 TB 驱动器已经很旧了。