为什么RAID5重build会失败?

我有一个带有ServeRaid控制器的IBM System x3650服务器和两个由3个磁盘组成的RAID5arrays。

昨天,一个磁盘失败了(这是Raid数组保存数据,系统位于声音arrays上)。 我天真地信任RAID控制器重buildarrays。 我closures了服务器,用一个新的类似的replace失败的磁盘。 我在控制器BIOS启动,在那里我可以看到它识别新的磁盘,并准备重build(我无事可做,一切都是自动的)。 我启动了服务器,并重build了数组。

今天早上一切都好了。 重build完成后,arrays显得很响。 只有几个小时后,MySQL服务崩溃了数据库损坏。 我设法部分转储数据,并从备份中恢复其余部分。 我以为我没事

但是后来我发现一些活动的日志文件被破坏了:它们包含了来自不同随机文件的块。 如果我正确地认识到这种情况,只有重build以来修改的文件已损坏,但我还没有100%确定。 不知何故,重build必须破坏数据。

我问这个问题,以了解错误。 我希望下一次永远不会…

什么可能是重build失败的原因? 我下次能做些什么呢?
重build期间从networking上切断服务器是否强制? 我想,控制器应该同时pipe理重build,并进行普通的读写。
或者这不应该发生,也许控制器是错误的?

从你的描述来看,重build并没有失败,因为arrays已经启动并运行了。 但是,重build过程似乎造成了一些块被错误地放置/重新映射,这是非常罕见但是危险的事情。

我build议你花点时间来检查一下情况。 您是否阅读/遵循RAID卡手册? 你是否100%肯定你做了正确的事情? 如果对这两个问题的答复是“是”,则应立即向服务器供应商/顾问公开支持案例。

我又学到了一堂课,我已经是新的了: 阅读事件日志 。 我会看到说明文件系统已损坏的错误。 我本来可以提前一两个小时的停机时间。 我也知道只有一个逻辑卷受到影响,而不是整个物理RAID数量。

下次我可以做得更好:

raid重build是一个重要的事件,需要完成一次完整的服务器检查。