简介:我在一个RAIDarrays上创build了一个根文件系统的副本(其上有一个磁盘),然后试图让系统从新复制的驱动器启动。
背景:
我不知道是否有可能做一个完整的raid1系统,可以启动任一驱动器,因为我没有kvm访问(我只能告诉他们通过troubleticket帮助我出了堵塞)
完成到目前为止:
我可以编辑GRUB2,以/ dev / md3作为根目录,所有内容都应该正确吗?
我需要绝对确定,因为我没有kvm访问。 我看着/boot/grub/grub.cfg,我看到这个条目:
menuentry 'Ubuntu, with Linux 2.6.32-28-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd0,1)' search --no-floppy --fs-uuid --set 18de6bbd-e46d-4f89-a2c9-fa2e7fa718b7 linux /vmlinuz-2.6.32-28-generic-pae root=/dev/sda3 ro initrd /initrd.img-2.6.32-28-generic-pae }
所以,请注意“ root = / dev / sda3 ”部分。 我可以用“root = / dev / md3”replace它,然后重启?
假设文件系统直接位于/ dev / md3上(而不是分区或使用LVM),是的,设置root=/dev/md3就是你想要的。 你应该检查的事情:
raid1添加到/etc/initramfs-tools/modules )。 /etc/initramfs-tools/conf.d/mdadm设置BOOT_DEGRADED=true ) set fallback="2"行添加到/etc/grub.d/40_custom ,其中数字是从0开始计数的menuentry的数量)。 grub-set-default --once而不是明确地设置默认值,以便重新引导计算机足以启动非RAID磁盘。 [0]:你的数组实际上可能不会被降级,但是你可能想要这个。
不幸的是,下面的mgorvensbuild议很可能导致无法启动的系统,/ dev中的设备可能与您当前的启动环境不匹配,您应该在其上设置根目录为您的RAID磁盘的UUID,而不是dynamic分配的/ dev条目。 幸运的是,虽然grub会自动处理所有这些,只需要这样做:
sh -c /etc/grub.d/30_os-prober
假设你看到一个包含你的RAID设备的菜单条目,那么通过执行以下步骤更新grub2:
grub2-mkconfig > /boot/grub2/grub.cfg
这将以正确的方式更新你的grub启动菜单,你不想手动编辑grub.cfg文件,因为当grub更新时它很可能被覆盖。