系统盘是LVM如何使用MondoRescure恢复安装
在上一篇《将CentOS7系统制作成iso镜像并安装》中,介绍了如何使用开源软件mondo rescure实现linux系统的打包和自动化安装。
自动化使用nuke模式安装虽然方便,但却有一个致命的缺陷,一旦系统盘是LVM卷,那么自动化安装就会失败,提示:
LVM will not initialize
社区里有提问例如:[Mondo-devel] /tmp/i-want-my-lvm | Mondo Rescue (sourceforge.net)
这一篇就描述系统盘是LVM卷时,如何做恢复安装。
interactive安装恢复模式
interactive是交互式安装,安装过程中需要人根据提示做部分操作完成全部的安装流程,可以参考官方文档:MondoRescue HOWTO
从ISO引导成功后,选择“interactive”
继续选择Interactively
当进入到选择配置磁盘步骤时,通过tab和方向键选择<Cancel>
进入bash手工配置LVM卷步骤。
步骤1,针对需要做LVM分区的设备执行fdisk命令执行分区,例如按照上图原始分区要求,分3个主分区出来:
/dev/sdm1 5G
/dev sdm2 5G
/dev/sdm3 剩余部分
步骤2,对做好的分区执行lvm命令创建LVM卷,例如:
lvm vgchange -an
lvm pvcreate -ff /dev/sdm3
lvm vgcreate centos /dev/sdm3
lvm vgchange -a y centos
lvm lvcreate -L 100G -n root centos
lvm lvcreate -L 10G -n swap centos
lvm lvcreate -l 100%FREE -n home centos
步骤3, 对创建好的分区执行格式化动作,例如:
mkfs.vfat /dev/sdm1
mkfs.xfs /dev/sdm2
mkfs.xfs /dev/centos/root
mkswap /dev/centos/swap
mkfs.ext4 /dev/centos/home
注意:步骤1-3的命令仅供参考,请根据实际分区的需要合理配置。
步骤4,执行命令mondorestore,退出bash
退出bash重新回到UI模式进行后续的操作,仍然选择Interactively:
回到编辑挂载列表UI时,选择<OK>,弹出窗口选择《YES》
选择保存Mountlist
注意,这里开始,每个步骤要仔细,不要选错了。
弹出这个窗口询问是否执行分区动作,因为我们前面已经手动做好了,所以选择NO:
弹出窗口询问是否格式磁盘,这个动作在前面已经手动做好了,选择No:
询问是否恢复所有数据,选择YES:
然后进入自动恢复文件过程,请耐心等待文件恢复完成:
文件恢复完之后,弹出窗口询问是否初始化boot loader,选择YES
选择YES重新生成initrd或initramfs文件:
提示要通过mkinitrd命令重新生成当前服务器适配的initrd或initramfs文件,选择OK进入bash命令操作:
因为系统卷是LVM,mondo rescure默认不会打包lvm相关的驱动和命令,所以需要修改/etc/dracut.conf文件来实现:
找到并将下面3行内容修改为下图所示(注意放开前面的注释#):
最后执行命令下面命令重新生成initrd或initramfs文件:
dracut -f
cd /boot
#注意,下面的$(uame -r)可以考虑修改成具体的kernel版本
mkinitrd -f -v initramfs-$(uname -r).img $(uname -r)
示例:
命令执行成功,使用shfit + PageUP往上翻,应该可以看到如下字段initrd已经打包了lvm模块:
输入exit退出bash,重新回到UI操作,后续按照提示操作即可,过程省略。
最后一个需要确认的窗口选择Yes后
恢复安装结束,自动退回到bash阶段。
输入exit,自动重启,如果一切顺利,就可以看到熟悉的Grub引导界面啦。
- 点赞
- 收藏
- 关注作者
评论(0)