我从完全崩溃的服务器中取出了 12 个硬盘,其中一些也出现故障。我成功地保存了所有硬盘的位副本,甚至并非总是没有错误。我在磁盘的每一端都发现了 512MB 超级块,以单词 DSREGION 开头。512MB 的空间使用并不频繁,从一些文本片段可以判断,内置 RAID 控制器是某种 LSI 型号。问题仍然存在:如何使用 mdadm 组装 RAID 阵列。我如何告诉 mdadm 它可以在哪里读取超级块,而命令:
# mdadm -E /dev/loopX
即使明确设置了 DDF,也无法检测超级块:
# mdadm -E -e DDF /dev/loopX
如果有提示如何解析 512MB 超级块,我可以手动进行解析,然后可以使用明确组装 RAID 阵列mdadm -A
。
或者是否有可能告诉 mdadm 它必须在哪里寻找超级块元数据。
J.
PS 我希望我能找到一些有用的东西www.snia.org但没有找到任何细节。
答案1
您不使用 mdadm,因为它无法处理这项工作。它对硬件 RAID 阵列中的磁盘(即 DDF)的支持非常有限,而且不是每个人都使用这种格式。
相反,您应该使用 dmraid 尝试探索和恢复此阵列。它支持各种软件、硬件和假 RAID 格式。在最近的 Linux 系统上,它将支持:
$ dmraid -l
asr : Adaptec HostRAID ASR (0,1,10)
ddf1 : SNIA DDF1 (0,1,4,5,linear)
hpt37x : Highpoint HPT37X (S,0,1,10,01)
hpt45x : Highpoint HPT45X (S,0,1,10)
isw : Intel Software RAID (0,1,5,01)
jmicron : JMicron ATARAID (S,0,1)
lsi : LSI Logic MegaRAID (0,1,10)
nvidia : NVidia RAID (S,0,1,10,5)
pdc : Promise FastTrack (S,0,1,10)
sil : Silicon Image(tm) Medley(tm) (0,1,10)
via : VIA Software RAID (S,0,1,10)
dos : DOS partitions on SW RAIDs
将您制作的所有磁盘的副本连接到系统,打开计算机,然后使用它dmraid -r
来查看是否检测到一组 RAID 设备,dmraid -s <set name>
获取该组的属性,dmraid -b
查看可能属于一组的所有块设备的状态,如果一切正常,dmraid -ay <set name>
将激活 RAID 阵列。