我在 BIOS 传统模式下的 Debian 7 上以 JBOD 模式(无 HW raid)在 2 个 LSI SAS2008 后面的 mdadm 上运行 14 磁盘 RAID 6。
Grub2 正在进入救援 shell,并抱怨“mduuid/b1c40379914e5d18dddb893b4dc5a28f”不存在“这样的设备”。
mdadm 的输出:
# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Nov 7 17:06:02 2012
Raid Level : raid6
Array Size : 35160446976 (33531.62 GiB 36004.30 GB)
Used Dev Size : 2930037248 (2794.30 GiB 3000.36 GB)
Raid Devices : 14
Total Devices : 14
Persistence : Superblock is persistent
Update Time : Thu Sep 18 19:44:56 2014
State : clean
Active Devices : 14
Working Devices : 14
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : media:0 (local to host media)
UUID : b1c40379:914e5d18:dddb893b:4dc5a28f
Events : 2319862
Number Major Minor RaidDevice State
13 8 82 0 active sync /dev/sdf2
15 8 130 1 active sync /dev/sdi2
14 8 98 2 active sync /dev/sdg2
21 8 194 3 active sync /dev/sdm2
16 8 226 4 active sync /dev/sdo2
12 8 162 5 active sync /dev/sdk2
18 8 50 6 active sync /dev/sdd2
17 8 146 7 active sync /dev/sdj2
20 8 210 8 active sync /dev/sdn2
19 8 66 9 active sync /dev/sde2
11 8 34 10 active sync /dev/sdc2
24 8 178 11 active sync /dev/sdl2
23 8 114 12 active sync /dev/sdh2
22 8 18 13 active sync /dev/sdb2
blkid 的输出:
# blkid
/dev/md0: UUID="2c61b08d-cb1f-4c2c-8ce0-eaea15af32fb" TYPE="xfs"
/dev/md/0: UUID="2c61b08d-cb1f-4c2c-8ce0-eaea15af32fb" TYPE="xfs"
/dev/sdd2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="09a00673-c9c1-dc15-b792-f0226016a8a6" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdc2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="ce717500-cadf-3b12-e893-48d43c1408e7" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdf2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="071afb12-f78f-4f15-f65a-a6298eadcfa7" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdb2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="822fd02b-454d-a94c-57f6-8535964996b1" LABEL="media:0" TYPE="linux_raid_member"
/dev/sde2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="de3f41b8-3016-870c-344f-2a92c08e1085" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdg2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="e319bdaa-22bc-1153-c43b-48788a9c1832" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdi2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="3dd1df1b-203c-6453-0964-ebad245b1670" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdh2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="f5477580-9435-7948-6e97-fe82c8805bcd" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdj2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="4a013330-37c5-65f9-cb76-1d357ce4ddb4" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdm2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="b750b4e4-2b1b-ac5f-cbd3-bde5eab657e7" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdk2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="d5521994-6c4f-04f9-f7ca-0dd9dff3c6cd" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdn2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="4670b36c-07cb-e661-20e3-d314f7c3fd42" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdl2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="c1514b9f-2461-6fed-324a-50fb9469043a" LABEL="media:0" TYPE="linux_raid_member"
/dev/sdo2: UUID="b1c40379-914e-5d18-dddb-893b4dc5a28f" UUID_SUB="6c33c472-af1f-fd8f-22d1-0ea39edc75bb" LABEL="media:0" TYPE="linux_raid_member"
md0 的 UUID 是2c61b08d-cb1f-4c2c-8ce0-eaea15af32fb
这样的,我不明白为什么 grub 坚持寻找b1c40379914e5d18dddb893b4dc5a28f
。
这是 0.61 的输出bootinfoscript
。它包含很多详细信息,我没有发现任何错误:
在 grub 救援过程中,会ls
显示成员磁盘,也会显示,(md/0)
但如果我尝试,ls (md/0)
则会收到未知磁盘错误。在任何成员设备上尝试ls
都会导致未知文件系统。md0 上的文件系统是 XFS,如果它尝试读取单个磁盘而不是 md0,我认为未知文件系统是正常的。
我几乎为此失去了理智,我尝试卸载并重新安装 grub 无数次,update-initramfs -u -k all
无数update-grub
次,grub-install
无数次到所有成员磁盘都没有出现错误,等等。
我甚至尝试手动编辑以替换grub.cfg
所有实例,然后重新安装 grub,但仍然出现完全相同的错误“没有这样的设备 mduuid/b1c40379914e5d18dddb893b4dc5a28f”。mduuid/b1c40379914e5d18dddb893b4dc5a28f
(md/0)
编辑添加
我的这个盒子上没有 IPMI,所以请原谅这张尴尬的手机图片:
https://i.stack.imgur.com/Nlvu8.jpg
我注意到的一件事是它只显示了一半的磁盘。我不确定这是否重要,但有一种理论可能是因为机器中物理上有两张 LSI 卡。
mduuid/b1c40379914e5d18dddb893b4dc5a28f
在我特意修改 grub.cfg 以将所有实例替换为mduuid/2c61b08d-cb1f-4c2c-8ce0-eaea15af32fb
并在所有成员驱动器上重新运行 grub-install 后,显示了最后一张屏幕截图。我不知道它从哪里得到了这个旧的 b1c* 地址。
我甚至尝试在阵列外的 /dev/sda 上安装 SATA 驱动器,并在其上安装 grub 并从其启动。仍然出现相同的错误。
编辑澄清
Grub 安装到每个单独的成员磁盘,而不是 /dev/md0,并且无错误完成。但重启时会转到 grub 救援。
编辑添加
这些操作是朋友建议的。它们没有起作用,我仍然需要帮助!
我确实需要任何人/每个人的帮助来帮助我让 GRUB 在这个盒子上运行。
有人还有其他建议和解决办法吗?
编辑5
Grub 错误报告:
答案1
查看 /dev/disk/by-id,其中 raid 设备以 md-uuid 为前缀。这些是使用 grub 中的 mduuid/ 的正确 ID。如果您使用当前元数据,可能还需要 insmod mdraid1x。
答案2
正如我在这里所说的:无法安装 grub、分段错误、无法识别文件系统、多余的 RAID 成员、发现两个具有相同索引的磁盘 — Debian 7
您无法在 mdadm 设备上安装 grub,它通过 raid 软件(即 mdadm)存在,它不指向物理设备。您需要在物理设备上安装 grub。
最好不要提出新问题,而是将信息添加到现有问题中。这个问题可能会被投票关闭,因为它与您的其他问题重复。