RAID-5 重组后丢失文件

RAID-5 重组后丢失文件

周日我不得不打开文件服务器的外壳来更换一个故障风扇。我没有发现其中一条 SATA 电缆没有正确连接。重启后我做的第一件事就是检查 RAID 状态,它立即显示缺少一个驱动器。到目前为止,该设备尚未使用(但它已安装,所以我不能 100% 确定系统没有做任何事情)。我停止了 md0 并重新插入电缆:

mdadm --stop /dev/md0
poweroff

再次重新启动后,我检查了已移除的驱动器:

 mdadm --examine /dev/sdd1
 ...
       Checksum : 3276bc1d - correct
         Events : 315782

         Layout : left-symmetric
     Chunk Size : 32K

      Number   Major   Minor   RaidDevice State
this     0       8       49        0      active sync   /dev/sdd1

   0     0       8       49        0      active sync   /dev/sdd1
   1     1       8       65        1      active sync   /dev/sde1
   2     2       8       33        2      active sync   /dev/sdc1
   3     3       8       17        3      active sync   /dev/sdb1

我有点惊讶它显示为活动状态(即使之前 mdadm 表示该设备已从阵列中删除)并且其校验和正常。我使用以下命令重新创建了 RAID:

mdadm --assemble /dev/md0 --scan

该命令mdadm --detail /dev/md0显示所有驱动器都在运行,系统处于“干净”状态。我安装了设备 md0,然后出现了问题。我想处理发生所有情况之前我一直在使用的最后一个文件,但它不在那里。在另一个地方,我实际上错过了我正在工作的目录中的所有文件。据我所知,大多数几天前的文件都完好无损,但一些较新的文件丢失了。

现在最大的问题是:您的建议是什么?有没有办法获取这些数据?我考虑过移除之前由 mdadm 标记的驱动器,并使用另一个空 HDD 重建阵列。

我发现重新组装后,“损坏”的驱动器位于 RAID 中的另一个位置(之前它列在第 3 位,然后列在第 4 位)。这会影响重建过程吗?如果是,如何正确重新组装阵列?我确信 SATA 电缆仍以相同的顺序连接到控制器。

附言:请不要给出“从备份恢复”之类的建议。我在周日晚上进行备份,而这件事发生在下午晚些时候,所以备份对我来说并不是真正的选择。

pss 我在 Unix&Linux 上问过这个问题,但过去两天都没有得到答案。我变得非常焦虑。如果你们有人正在阅读其他论坛,我很抱歉重复了这个问题。

答案1

也许它能对某些人有所帮助。

我之前没有写过,但所有四个分区的事件数量相同

mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd`'
mdadm: No md superblock detected on /dev/sda1.
         Events : 315786
         Events : 315786
         Events : 315784
         Events : 315786

尽管如此,在阅读了一些资料之后,我还是决定移除“故障”的驱动器并重新组装我的 md0 设备。

mdadm --manage --set-faulty /dev/md0 /dev/sdd1
mdadm /dev/md1 --stop
mdadm --assemble /dev/md0 /dev/sd[bce]1 --force 
mdadm --manage /dev/md0 --add /dev/sdd1

请不要问我为什么它有效。对我来说重要的是我恢复了所有文件(文件分配表显示恰当的目录内容。所有缺失的文件都在那里。

相关内容