我们有一台在 RAID 1 设置中运行 Fedora 8 和英特尔软件 RAID 的服务器。
我们的服务器上的一个磁盘出现故障,所以我更换了坏驱动器并执行“dd if=/dev/sda of=/dev/sdb”将好驱动器的数据复制到新驱动器。
重新启动后,我重新启动并运行;Fedora 完全没有抱怨。
但是,在启动时 Intel Matrix BIOS 仍然显示 RAID 阵列处于“重建”状态。从操作系统中我看不出 RAID 阵列有什么问题,并且基于英特尔 BIOS 的工具没有任何选项来重建 RAID 阵列。
RAID 阵列详情
$ pvscan && vgscan && lvscan
PV /dev/dm-2 VG VolGroup00 lvm2 [465.53 GB / 32.00 MB free]
Total: 1 [465.53 GB] / in use: 1 [465.53 GB] / in no VG: 0 [0 ]
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
ACTIVE '/dev/VolGroup00/LogVol00' [463.56 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol01' [1.94 GB] inherit
fdisk -l:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 60800 488175187+ 8e Linux LVM
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 25 200781 83 Linux
/dev/sdb2 26 60800 488175187+ 8e Linux LVM
Device Boot Start End Blocks Id System
/dev/dm-0p1 * 1 25 200781 83 Linux
/dev/dm-0p2 26 60800 488175187+ 8e Linux LVM
我最初在尝试重建阵列时尝试了 lvm 工具,但它们对我不起作用,因为我没有任何 /dev/md* 分区。Dmraid 也无济于事,所以我退回到低级方法并使用 dd 代替。
我想知道我的低级方法是否是英特尔 BIOS 未将 RAID 阵列视为正确重建的原因。
更新:
- 是的,我确实有服务器上重要文件的 Amazon S3 备份。
Intel Raid 由主板和/或驱动程序管理。lvm 工具甚至看不到东西。
你的 Linux 看到 sda 和 sdb 意味着它看穿了主板的 raid 设置,这是一件坏事(tm)。
RAID 中有几个级别:1)硬件 2)raidcontroller 的组成 3)操作系统看到的。在任何可靠的raid系统中,2和3都是一样的。如果它们不一样,就会出现像您这样的问题,即使是最有经验的管理员也会感到困惑。在这种情况下,看起来你很幸运。你做错了事,你的突袭设置忽略了你,现在正在做(希望)正确的事。
这并非总是如此。同等的机会是,你做对了,主板突袭无视你,做错事。
安全修复任何类型的突袭的唯一方法是通过突袭系统的工具。
英特尔驱动程序现在正在做的是一个 dd,称为重建。当然,它没有看到你的 dd 做了什么!它不知道 dd 的数据输出来自哪里,现在也无法知道它实际上是正确的数据。所以它必须自己进行复制。可怜的人都知道,这可能是奶奶收集的火鸡食谱。
对于任何良好的可靠的raid设置,事情必须是确定性的。主板突袭通常不是(BIOS 版本、驱动程序版本、操作系统等)。管理员必须训练他/她自己修复袭击。如果您将任何类型的重要数据放在突袭中,您必须自己克服其中的一些失败。如果你不这样做,你可能会在没有突袭的情况下过得更好。事实证明,大多数时候,只有操作系统软件袭击或袭击卡袭击是确定性的。几乎每块主板都有的主板/驱动程序袭击的混合只不过是安慰剂。
PS你有备份吗?
谨防!集成的“英特尔矩阵 RAID”不是真正的硬件 RAID。它是变相的软件 RAID,它通过 AFAIK 一个仅限 Windows 的驱动程序工作。算了,在 Linux 中设置软件 RAID。不幸的是,事后配置可能很难。