这是我的情况。
我有戴尔服务器戴尔Perc 7i控制器(LSI控制器)。
我有一个驱动器给我一个失败预测警告,所以我打电话给他们的支持,他们出来,并取代了驱动器和arrays重build自己,非常标准。
两个星期后,我有另一个驱动器给我失败预测警告。 我想也许这是一批糟糕的驱动器或巧合等,所以我联系支持,并更深入地看待。 我意识到其他驱动器中有一个没有故障,坏块在重build过程中被复制过。 所以现在我到处都有坏块,他们正在慢慢地杀死我的arrays。 我已经发现,这被称为穿孔arrays。
所以他们的build议是更换所有驱动器,重buildarrays,并从备份恢复。 除了这个问题我已经有几个星期了,这意味着我的备份是不好的…如果我从之前(一个月前)的备份恢复,那么我将会从我的数据库中丢失大约4周的数据我们的办公室是完全不能接受的。
我的问题是……有没有人从这样的事情中恢复过来,而不必丢失数据或没有整体(把它全部扔出窗外,重新开始)?
我确实find了一个涵盖了我的场景的链接,不确定是否能够说明情况: http : //www.theprojectbot.com/raid/what-is-a-punctured-raid-array/
任何帮助或方向将不胜感激! 你们有什么感想?
我假设你的系统还在运行,所以最好的办法是立即进行备份,转储磁盘/arrays,重build和从备份中恢复。
坏块并不总是意味着你的备份也不好。 如果您没有遇到任何性能问题或损坏的文件,那么您的备份应该仍然足够完成恢复。
要testing,请采取最新的备份并检查最重要的数据。 如果它仍然完好无损,那么可能有一个很好的备份。
此时,存在风险,因为您无法100%确定您的备份是否正常,或者现在备份不会导致文件丢失。 但是,你的数组最终会失败,并强制恢复,所以这是你唯一的select。
请立即执行以下操作:
希望磁盘仍然足够好,以保证数据完好无损,并且在运行新的完整备份时不会遇到任何问题。
然后取消这些磁盘,并build立一个新的RAIDarrays。 一旦准备就绪,请尝试从刚才的备份中恢复。 运气好的话,这就是你所需要做的。
如果失败了,请尝试下一个最老的,然后再尝试下一个最老的等等。确保testing系统的function – 仅仅因为启动,并不意味着它是完全可操作的。 特别是,testing数据库的腐败。
如果您必须从较旧的备份中恢复整个系统,那没关系。 采取最新的备份,并恢复只是数据库文件和其他重要的文件。 testing它们以确保它们正常工作。 再次,如果失败了,尝试下一个最老的。
使用此过程可最大限度地减less数据丢失。
Grant和Nathan C提供的答案在处理备份/恢复以及处理数据完整性方面非常出色。
下面是关于如何处理RAID集的一些更清晰的细节,以便重新创build虚拟磁盘并从备份中恢复:
注意 :如果您使用的是RAID5,那么您应该认真考虑使用RAID6。 RAID5对于业务关键型数据来说是不可靠的,这是根据目前业界标准的这种规模arrays的最佳做法。 大容量SATA / NL-SAS磁盘在重build过程中遇到URE的风险也更高,这会导致类似于您正在处理的问题。 RAID6极大地降低了这种风险,并且对于具有当前可用驱动器容量的关键数据通常是可以接受的。