Red Hat Training
A Red Hat training course is available for RHEL 8
15.2. 使用 Boom 升级到另一个版本
除了 Boom 外,升级过程中还使用以下 Red Hat Enterprise Linux 组件:
- 逻辑卷管理器 (LVM)
- GRUB 2 引导装载程序
-
Leapp
升级工具
这个步骤描述了如何使用 boom
命令从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8。
先决条件
安装
boom
软件包:# yum install lvm2-python-boom
确保
lvm2-python-boom
软件包的版本至少为boom-0.9
(最好是boom-1.2
)。注意如果要在 Red Hat Enterprise Linux 8 中安装
boom
软件包,请执行以下命令:# yum install boom-boot
快照必须有足够的空间。使用以下命令在卷组和逻辑卷中查找可用空间:
# vgs VG #PV #LV #SN Attr VSize VFree rhel 4 2 0 wz--n- 103.89g 29.99g # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root rhel -wi-ao--- 68.88g swap rhel -wi-ao--- 5.98g
在这里,rhel 是系统的卷组,root 和 swap 是系统逻辑卷。
查找所有挂载的逻辑卷:
# mount | grep rhel /dev/mapper/rhel-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
注意如果存在多个条目,且附加条目的挂载点包括 '/usr' 或 '/var',则无法遵循以上步骤而不执行超出这个用户权限的附加步骤。
-
已安装
Leapp
软件包并启用软件存储库。如需更多信息,请参阅为升级准备 RHEL 7 系统部分,以下载升级所需的软件包。
流程
创建您的 root 逻辑卷快照:
如果您的 root 文件系统使用精简配置,请创建一个精简快照:
在创建精简快照时,不要定义快照大小。从精简池中分配快照。
# lvcreate -s rhel/root -n root_snapshot_before_changes
在这里:
-
-s
用于创建快照 -
rhel/root
是逻辑卷中复制的文件系统 -
-n
root_snapshot_before_changes 是快照的名称
-
如果您的 root 文件系统使用 thick 置备,请创建一个 thick 快照:
在创建粘性快照时,定义可在升级过程中保存所有更改的快照大小。
# lvcreate -s rhel/root -n root_snapshot_before_changes -L 25g
在这里:
-
-s
用于创建快照 -
rhel/root
是要复制的文件系统 -
-n
root_snapshot_before_changes 是快照的名称 -L
25g 是快照大小。这个快照必须可以保存升级过程中的所有更改重要创建快照后,不会包含任何附加系统更改。
-
创建配置集:
# boom profile create --from-host --uname-pattern el7
注意如果要在 Red Hat Enterprise Linux 8 中创建
boom
配置集,使用el8
作为 uname-pattern。使用原始引导镜像的备份副本创建原始系统的快照引导条目:
对于
boom-1.2
或更高版本:# boom create --backup --title "Root LV snapshot before changes" --rootlv rhel/root_snapshot_before_changes
在这里:
-
--title
Root LV snapshot before changes 是引导条目的名称,它会在系统启动期间显示在列表中 -
--rootlv
是与新引导条目对应的根逻辑卷
-
对于
boom-1.1
或更早版本:# cp /boot/vmlinuz-$(uname r) /boot/vmlinuz$(uname -r).bak # cp /boot/initramfs-$(uname r).img /boot/initramfs$(uname -r).img.bak # boom create -title "Root LV snapshot before changes" --rootlv rhel/root_snapshot_before_changes --linux /boot/vmlinuz$(uname r).bak --initrd /boot/initramfs$(uname -r).img.bak
如果您第一次执行
boom create
命令,则会显示以下消息:WARNING - Boom configuration not found in grub.cfg WARNING - Run 'grub2-mkconfig > /boot/grub2/grub.cfg' to enable
在 GRUB 2 中启用 Boom:
# grub2-mkconfig > /boot/grub2/grub.cfg
使用
Leapp
升级到 Red Hat Enterprise Linux 8:# leapp preupgrade
检查和解决
leapp preupgrade
命令报告中指示的任何块器。解决预升级报告中标识的阻塞者后,使用
--reboot
选项重新运行 upgrade 命令:# leapp upgrade --reboot
这个命令重启到
leapp
工具创建的升级引导条目,并执行到 Red Hat Enterprise Linux 8 的原位升级。reboot 参数会在升级过程后启动自动系统重启。在重启过程中,GRUB 2 屏幕会显示:
注意如果您在 Red Hat Enterprise Linux 8 系统中,则 GRUB2 引导屏幕中的 Snapshots 子菜单不可用。
验证步骤
选择 RHEL Upgrade Initramfs 条目并按 ENTER。继续升级并安装新的 Red Hat Enterprise Linux 8 RPM 软件包。升级完成后,系统会自动重启,GRUB 2 屏幕会显示升级以及可用系统的旧版本。升级的系统版本是默认选择。
另外,如果存在创建的 Root LV snapshot before changes 引导项,它会在升级前提供对系统状态的即时访问。
其他资源
-
boom
man page。 - 什么是 BOOM 以及如何安装它?知识库文章。
- 如何创建 BOOM 引导条目 知识库文章。
- 从 RHEL 7 原位升级到 RHEL 8 知识库文章的 Leapp 工具所需的数据。