今天我们遇到了一些最坏的情况,并愿意接受任何好的想法。
这是我们的问题:
我们正在使用多台专用存储服务器来托管虚拟机。在继续之前,先了解一下规格:
- 专用服务器
- Areca 1280ml RAID 控制器,固件 1.49
- 12 个三星 1TB 硬盘
我们配置了一个包含 10 个磁盘的 RAID6 组,其中包含一个逻辑卷。系统中有两个热备盘。
今天一个硬盘坏了。这种情况时有发生,所以我们更换了它。重建时,第二张光盘也坏了。通常这没什么好玩的。我们停止了繁重的 IO 操作,以确保 RAID 重建稳定。
遗憾的是,热备用盘在重建时出现故障,整个过程停止了。
现在我们面临以下情况:
- 控制器表示突袭集正在重建
- 控制器说卷失败
这是一个 RAID 6 系统,并且两个磁盘出现故障,因此数据必须是完整的,但我们无法再次使卷联机来访问数据。
在搜索过程中,我们发现了以下线索。我不知道它们是好是坏:
将所有光盘镜像到第二组驱动器。这样我们就可以尝试不同的方法,而不会损失太多。
尝试在 R-Studio 中重建阵列。但我们没有使用该软件的实际经验。
拔出所有驱动器,重新启动系统,切换到 Areca 控制器 BIOS,逐个重新插入硬盘。有人说这样做可以让系统恢复在线。有人说这样做没有效果。有人说这样做把一切都搞砸了。
使用未记录的槟榔命令,如“rescue”或“LeVel2ReScUe”。
联系计算机取证服务。但是哇哦……电话初步估计超过 20,000 欧元。这就是我们恳请帮助的原因。也许我们忽略了显而易见的事情?
当然,我们有备份。但有些系统丢失了一周的数据,这就是为什么我们希望让系统重新启动并运行。
我们非常欢迎任何帮助、建议和问题。
答案1
我认为选项 1 是最好的。
使用 12 个新硬盘和 1 个新 RAID 控制器尝试使用任何 Linux 系统将旧磁盘 1:1 镜像到新磁盘。使用 1 个新 RAID 控制器和 12 个新硬盘构建新服务器
尝试在新服务器中重建阵列。成功?很好。停止。
重建失败?再次将旧磁盘镜像到新磁盘,尝试选项 i+1
答案2
不幸的是,这是一种非常常见的情况。几年前,谷歌对此进行了一项很好的研究,结果表明,在重建阵列期间可能会丢失 RAID 数据。这可能会对不同的 RAID 系统造成不同严重程度的影响。以下是 RAID6 场景:
- 您的阵列有 3 个数据磁盘和 2 个奇偶校验磁盘。
- 如果丢失一个磁盘,可以肯定的是,所有数据都是可以恢复的。
- 如果你丢失了 2 个磁盘,你就丢失了数据
这是为什么?
考虑以下情况:假设有一些数据,假设文件的前 3 个块有以下数据块:A1 + A2 + A3 和以下奇偶校验:Ap + Ap 位于 hdd1...hdd5 上
如果丢失 1 到 3 之间的任意两个磁盘,您将丢失数据,因为数据无法恢复,您有 2 个奇偶校验和 1 个数据块。
现在,具有 10 个磁盘的相同场景可能会有所不同,但我猜它的处理方式与将数据拆分为 8 个块并将奇偶校验保存到其他 2 个驱动器并具有 2 个热备用的方式相同。您知道 RAID 控制器配置的详细信息吗?
我将开始从异地备份中恢复(我猜你有一些),然后服务会恢复尝试恢复尽可能多的数据,例如使用 Unix 并将驱动器 dd 到图像并将其用作循环设备。
http://wiki.edseek.com/guide:mount_loopback
您需要知道 RAID 控制器使用什么类型的元数据,如果幸运的话,它会受到 dmraid 等某些工具的支持。
但这并不意味着您根本可以恢复数据,因为文件通常分布在许多块中,恢复很可能无法恢复任何数据。
有关 RAID 的更多信息: