我们有一台运行Fedora 8的服务器和一个RAID 1设置的英特尔软件RAID。
其中一个硬盘在我们的服务器上失败了,所以我更换了坏的硬盘,并将“dd if = / dev / sda of = / dev / sdb”复制到新的硬盘上。
重新启动后,我恢复正常运行。 没有来自Fedora的投诉。
但是,在启动时,Intel Matrix BIOS仍然表示RAIDarrays处于“重build”状态。 在操作系统中,我看不出有什么问题,而基于BIOS的工具没有任何选项来重buildRAIDarrays。
RAIDarrays详细信息
$ 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
我尝试重build数组时,最初尝试了lvm工具,但他们没有为我工作,因为我没有任何/ dev / md *分区。 Dmraid也没有帮助,所以我回到了低级的方法,并用dd代替。
我想知道如果我的低级方法是英特尔BIOS没有看到RAIDarrays正确重build的原因。
更新:
Intel Raid由主板和/或驱动程序pipe理。 lvm工具甚至不能看到的东西。
你的Linux看到sda和sdb意味着它通过主板的RAID设置,这是一件坏事(tm)。
在RAID中有几个级别:1)硬件2)RAID控制器对它的作用3)操作系统看到的东西。 在任何可靠的RAID系统中,2和3是一样的。 如果他们不一样,像你这样的问题就会出现,即使是最经验丰富的pipe理员也会感到困惑。 在这种情况下,看起来你很幸运。 你做错了事情,你的RAID设置忽略了你,现在正在(希望)做正确的事情。
这并非总是如此。 同样的机会是,你做正确的事情,主板突袭无视你,做错了事情。
通过raid系统的工具来安全地修复任何types的raid的唯一方法。
英特尔现在正在做的是一个dd,叫它重build。 当然,它没有看到你的日子! 它不知道dd的数据输出是从哪里来的,现在它实际上是正确的数据。 所以它必须做自我复制。 对于所有可怜的东西都知道,这可能是奶奶收集的火鸡食谱。
对于任何良好的固体RAID设置,事情必须是确定性的。 主板raid通常arent(BIOS版本,驱动程序版本,操作系统等)。 pipe理员必须训练他/她自己修理袭击。 如果你把任何一种重要的数据放在突袭中,你必须通过一些失败来解决。 如果你不这样做,你可能会没有突袭而变得更好。 原来,大部分时候,只有操作系统软件袭击,或突袭卡袭击是确定性的。 几乎每个主板都有的主板/驱动程序raid的混合不仅仅是一个安慰剂。
PS你有备份吗?
谨防! 集成的“Intel Matrix RAID”不是真正的硬件RAID。 这是软件RAID的变相,它通过AFAIK一个Windows专用的驱动程序。 忘了它,并在Linux中设置软件RAID。 不幸的是,事后configuration可能很难。