我遇到了一个问题。在我外出期间,一台配备 50 TB 硬件 RAID(我想是 5 个)的服务器似乎出于某种原因踢出了两个驱动器。一位同事只需将它们重新添加到配置实用程序中即可将它们放回去。一切似乎都很好。然后我注意到很多文件都出现了 IO 错误。
然后我想我可以用 fsck.ext4 来纠正它们。它运行了一个小时左右,然后崩溃了。16 GB 的 Ram 已满。我不得不创建一个 64 GB 的交换文件(在 HDD 上......)才能让它真正不崩溃。现在它已经运行了两个星期,总是说一些块被不同的文件使用,并且多次引用的块被克隆。我知道这太慢了,因为它交换得像疯了一样。
您是否认为,如果我中止并重新启动,这次可能不会进入交换,因为很多操作已经完成?中止可以吗,还是我不应该中止?或者我只是销毁了 raid 上的每个文件?
我实际上尝试了 ctrl+c,但什么也没发生......
答案1
启动您的业务连续性计划。
确定所有备份的状态。如果您有可接受的时间点,请使用良好的驱动器重建阵列并恢复。在此过程中,请使用 RAID 6 或类似的奇偶校验,这些奇偶校验可以承受多个驱动器故障。
如果必须从故障阵列中恢复数据,请制定备用计划。在尝试恢复原始阵列上的数据时,请考虑获取另一个等效阵列进行恢复。
减少 e2fsck 的内存消耗配置 scratch_files 目录在不同的存储上。它会运行得很慢,但内存系统不会破坏分页空间。
决定是否中止。强制终止 fsck(重新启动主机)可能会导致进一步的数据丢失。但是,您可能需要释放阵列以便及时恢复。