md
在Ubuntu中启动时如何组装设备?是/etc/mdadm/mdadm.conf
名副其实的相关因素,在这里?
我mdadm.conf
的声音很正常,并且在应急CD环境中检查了一下。运行时,mdadm -A --scan
它会根据需要查找并分配设备名称。该mdadm.conf
包含AUTO -all
从组装阵列采取了所有自动性。
我需要做的是能够在启动时自动组装md
设备,mdadm.conf
或者在组装时能够super-minor
接受0.9阵列的值和name
(显然<hostname>:<super-minor>
)1.2阵列的值,而无需进行正确的操作mdadm.conf
。我想念什么拼图?
我有以下问题。有两台md
具有RAID1(md0
和md1
)的设备,一台具有RAID6(md2
)的设备。我通过所需的设备名称来指代它们。md0
具有元数据版本0.9,其他两个具有版本1.2。md0
映射到/
和其他两个与引导无关。
引导驱动器已分区。上面有一个胶水“ BIOS引导分区”(sda1
)。grub-install --no-floppy /dev/sda
报告成功。
md0 == sda3 + sdb3
md1 == sda2 + sdb2
md2 == sdc + sdd + sde + sdf + sdg + sdh
sda1
并sdb1
有“BIOS引导分区”每
GRUB2是高兴的/boot/grub/devicemap
我把它和我说part_gpt
,raid
,mdraid09
并ext2
在模块预载GRUB2。
由于我仍然在救援环境中拥有根卷,因此我只需安装所有内容,然后进行操作chroot
:
mkdir /target
mount /dev/md0 /target
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts
mount -o bind /sys /target/sys
mount -o bind /proc /target/proc
chroot /target /bin/bash
从那里,我重置super-minor
on md0
(带有元数据0.9)以及name
on md1
和md2
。我还验证了可以使用mdadm --detail ...
。除此之外,我调整/etc/default/grub
,运行update-grub
和也grub-install --no-floppy /dev/sda
和grub-install --no-floppy /dev/sdb
。
在那之后,引导时,我总是掉入initramfs
救援外壳,因为无法挂载根文件系统。经过检查,原因/proc/mdstat
似乎是各个md
设备甚至都没有组装和运行。更不用说其他两个(元数据版本1.2)驱动器在125..127范围内的某个位置接收到设备号。
注意: GRUB2从引导盘启动。因此,至少它已正确嵌入。问题是从初始rootfs
到正确的根文件系统的过渡。
/etc/fstab
。设置不依赖于名称,我仍然希望它们是这种方式;)
Not to mention that the other two (meta-data version 1.2) drives receive a device number somewhere in the 125..127 range
。我对ubuntu如何组装RAID卷来回答更大的问题还不了解。
/dev/mdX
出于这个原因,请勿使用。使用/dev/md/NAME
代替。那将永远不会改变。