今天我不得不打开文件服务器的外壳来更换有故障的风扇。我没有看到其中一根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,然后出现了 hic-cup。我想处理我在所有情况发生之前使用的最后一个文件,但它不在那里。在另一个地方,我实际上错过了我正在工作的目录中的所有文件。据我所知,大多数几天前的文件都完好无损,但一些较新的文件丢失了。
现在最大的问题是:您的建议是什么?有没有办法获取这些数据?我考虑过移除之前标记为的驱动器,mdadm
然后用另一块 HDD 重建阵列。
更新
我今天开始备份驱动器。将 md0 安装为只读后,我运行rsync
到另一台服务器。现在好奇的事情。一周前我将一些目录移动到其他阵列。rsyns
显示了有关这些已删除目录的以下信息:
file has vanished: "/MD0/Data/_NMR_"
答案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
请不要问我为什么它有效。对我来说重要的部分是我取回了所有文件(文件分配表显示恰当的目录的内容。所有丢失的文件都在那里。