我有一台 Ubuntu 13.04 服务器。今天我发现服务器崩溃了。我重启了服务器,现在每个硬盘的分区表都不见了。(1 个 SSD 用于 /boot、/,3 个 2TB 硬盘用于 RAID)。
我通过 USB->SATA 电缆将 SSD 连接到笔记本电脑,果然,分区表丢失了。这告诉我主板/SATA 控制器/软件实际上损坏了驱动器,而不是它们无法正确读取。
几个月前,类似的事情只发生在 SSD 上,我被迫对其进行重新分区。
这到底是怎么回事?主板坏了还是 SATA 控制器坏了?
答案1
这可能是坏的/损坏的内存。考虑运行 memtest86+ 来确定。
答案2
不一定是磁盘本身但可能是内存故障、RAID 控制器故障或错误。请确保您使用的是最新固件。
答案3
原因可能有很多。数据损坏不一定是由您列出的这些原因造成的,也不意味着驱动器损坏或有任何东西损坏了驱动器。
SSD 的固件可能有问题。控制器(旧的、新的或两者)可能有问题。可能有一个根或内核进程在坏内存中运行并覆盖了驱动器的开头和结尾。CPU 甚至可能有问题。也有可能所有驱动器实际上都有问题(这种情况并不经常发生,但有时会发生)。如果您使用的是带 LVM 的软件 RAID,则可能是您已升级到有缺陷的版本,或者只是遇到了随机错误。
最好的做法是获取需要从中恢复数据的任何驱动器的字节映像,然后对其进行操作。将其写入另一个驱动器,写入与您期望在那里看到的分区表完全相同的分区表,然后尝试安装。复制到您期望文件系统在驱动器上的位置,然后使用循环设备安装它。使用某种数据恢复软件。但是,最简单的方法是从备份中恢复。
目前还不清楚您使用的是哪种硬件。不过,我还是会在服务器上运行完整的硬件测试(至少是内存测试,但如果有功能强大的测试套件,还可以进行硬盘测试和 CPU 测试)。如果可以,请在控制器和另一个控制器上测试驱动器,并检查它们的 SMART 状态。更新与驱动器相关的所有内容(特别是文件系统驱动程序、内核和 LVM(如果正在使用))。如果您有硬件 RAID 设备,请考虑升级其固件。
过去我也遇到过由多个故障 RAID 控制器引起的此问题。如果它已清空多个驱动器的部分,请获取 RMA 并安装新的。