我们是一家小公司,有一台带 CERC 6ch RAID 控制器的旧戴尔 PowerEdge 830。服务器是我们的文件服务器、域控制器 (Windows Server 2003)、MySQL 服务器等。我们有一个合作了几年的系统管理员,他通常能让我们一切正常运转,但他现在不在国内,无法联系到他。
昨天我接到经理的电话,说服务器发出了警报声,声音很大,而且停不下来。办公室里没有人抱怨将文件保存到服务器或读取文件时出错。我来到办公室,谷歌了一下,确定警报与 RAID 有关,并且有一个 BIOS 设置可以将其静音(直到我们可以更换坏驱动器)。哦,对了,我忘了说我能听到其中一个驱动器的机械故障。所以我进入 raid 配置,找到警报并将其静音。这当然需要重新启动,在重新启动期间,我可以听到可怜的坏掉的驱动器,并且还有一些 BIOS 消息,内容是“Raid SATA 0 脱机或重建” -(不是它所说的,我很抱歉我没有记下来)
长话短说,服务器重新启动后,我们很快发现,在警报响起(即磁盘故障)和我重新启动之间写入磁盘的所有数据都消失了。我在重新启动后保存了一些文件,它们在再次重新启动后仍然存在。但直到第一次重新启动之前,周日、昨天和今天保存的文件都消失了。
这完全让我吃惊,RAID-1 是镜像的,那么为什么数据会丢失?办公室里的人开始抱怨他们需要重新创建的所有文件(哦,是的,备份也丢失了文件),我阻止了他们,直到我能弄清楚这一切。我对各位专业人士的问题是:有什么可以恢复这些数据的方法吗?是否有可以遵循的 RAID 实用程序或流程来解决问题?换句话说,我到目前为止所描述的在故障事件中听起来是否正常,是否只需要采取一些额外的步骤来告诉 RAID 另一个磁盘已损坏并依赖剩余驱动器上镜像的数据?
我对管理我们的服务器及其运行的各种服务相当熟悉,但谈到 RAID 和硬件,我完全是个新手,而且考虑到我们涉及到现实世界的数据,我不太愿意在整个过程中不断尝试。
答案1
这听起来就像您的 RAID 决定使用故障驱动器启动或重建。当一个驱动器发生故障时,RAID 会继续向另一个驱动器写入数据,系统会以某种方式重新启动故障驱动器。也许它只是有点故障。
希望它实际上是驱动器出现故障并且没有尝试重建。
无论如何,我的第一个建议是这样的。关闭系统,断开其中一个驱动器(从发出噪音的驱动器开始)。然后启动它,看看你的数据是否存在。如果没有,那么尝试切换到另一个驱动器,这样只有它连接。你可能需要使用 livecd 或某种方式启动系统,这样你就可以检查驱动器的内容而不做任何更改。
如果您在任何一个驱动器上都看不到数据,那么您很可能运气不佳。