系统盘是LVM如何使用MondoRescure恢复安装

举报
Xiao_Chuan 发表于 2023/11/18 16:07:02 2023/11/18
【摘要】 在上一篇《将CentOS7系统制作成iso镜像并安装》中,介绍了如何使用开源软件mondo rescure实现linux系统的打包和自动化安装。 自动化使用nuke模式安装虽然方便,但却有一个致命的缺陷,一旦系统盘是LVM卷,那么自动化安装就会失败,提示 LVM will not initialize;这一篇就描述系统盘是LVM卷时,如何做恢复安装。

在上一篇《将CentOS7系统制作成iso镜像并安装》中,介绍了如何使用开源软件mondo rescure实现linux系统的打包和自动化安装。

自动化使用nuke模式安装虽然方便,但却有一个致命的缺陷,一旦系统盘是LVM卷,那么自动化安装就会失败,提示:

 LVM will not initialize

screenshot20231118.png

社区里有提问例如:[Mondo-devel] /tmp/i-want-my-lvm | Mondo Rescue (sourceforge.net)

这一篇就描述系统盘是LVM卷时,如何做恢复安装。

interactive安装恢复模式

interactive是交互式安装,安装过程中需要人根据提示做部分操作完成全部的安装流程,可以参考官方文档:MondoRescue HOWTO

从ISO引导成功后,选择“interactive”


screenshot20231118 (1).png


继续选择Interactively


screenshot20231118 (2).png

当进入到选择配置磁盘步骤时,通过tab和方向键选择<Cancel>



screenshot20231118 (3).png

进入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


screenshot20231118 (4).png

退出bash重新回到UI模式进行后续的操作,仍然选择Interactively:


screenshot20231118 (2).png

回到编辑挂载列表UI时,选择<OK>,弹出窗口选择《YES》

screenshot20231118 (14).png

选择保存Mountlist

screenshot20231118 (15).png

注意,这里开始,每个步骤要仔细,不要选错了。

弹出这个窗口询问是否执行分区动作,因为我们前面已经手动做好了,所以选择NO

screenshot20231118 (6).png

弹出窗口询问是否格式磁盘,这个动作在前面已经手动做好了,选择No

screenshot20231118 (7).png

询问是否恢复所有数据,选择YES

screenshot20231118 (8).png

然后进入自动恢复文件过程,请耐心等待文件恢复完成:

screenshot20231118 (9).png

文件恢复完之后,弹出窗口询问是否初始化boot loader,选择YES

screenshot20231118 (10).png

选择YES重新生成initrd或initramfs文件:

screenshot20231118 (1).png

提示要通过mkinitrd命令重新生成当前服务器适配的initrd或initramfs文件,选择OK进入bash命令操作:

screenshot20231118 (12).png

因为系统卷是LVM,mondo rescure默认不会打包lvm相关的驱动和命令,所以需要修改/etc/dracut.conf文件来实现:

screenshot20231118 (2).png

找到并将下面3行内容修改为下图所示(注意放开前面的注释#):

screenshot20231118 (13).png

最后执行命令下面命令重新生成initrd或initramfs文件:

dracut -f
cd /boot
#注意,下面的$(uame -r)可以考虑修改成具体的kernel版本
mkinitrd -f -v initramfs-$(uname -r).img $(uname -r)

示例:

screenshot20231118 (3).png

命令执行成功,使用shfit + PageUP往上翻,应该可以看到如下字段initrd已经打包了lvm模块:

screenshot20231118 (4).png

输入exit退出bash,重新回到UI操作,后续按照提示操作即可,过程省略。


最后一个需要确认的窗口选择Yes后

screenshot20231118 (16).png

恢复安装结束,自动退回到bash阶段。


screenshot20231118 (17).png

输入exit,自动重启,如果一切顺利,就可以看到熟悉的Grub引导界面啦。


screenshot20231118 (18).png




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。