CentOS 7原地迁移到版本 8 的 AlmaLinux、Rocky Linux、Oracle Linux

CentOS 官方计划停止维护 CentOS Linux 项目,CentOS 8及 CentOS 7维护情况如下表格。如需了解更多信息,请参见 CentOS 官方公告

操作系统版本 停止维护时间 使用者影响
CentOS 8 2022年01月01日 停止维护后将无法获得包括问题修复和功能更新在内的任何软件维护和支持。
CentOS 7 2024年06月30日

针对以上情况
Elevate 是一个由 AlmaLinux 团队开发的开源项目,它允许将 CentOS 7 迁移到基于 RHEL 的较新和主要版本的发行版,例如 AlmaLinux 8、Rocky Linux 8、Oracle Linux 8 和 CentOS Stream 8。它结合了 RedHat 的 Leapp 框架带有一个社区开发的库来协助迁移。
本教学指南为您提供了使用 Elevate 将 CentOS 7 升级/迁移到 AlmaLinux 8 的步骤。
注意:Elevate仍处于开发的早期阶段,应该仅用于测试目的。不应该在生产服务器中测试迁移工具。
当前可用的迁移路径:

  • CentOS 7 到 AlmaLinux 8
  • CentOS 7 到 Rocky Linux 8
  • CentOS 7 到 Oracle Linux 8
  • CentOS 7 到 CentOS Stream 8

第 1 步:完全更新系统

首先,更新所有系统包和存储库。
[linuxmi@localhost www.linuxmi.com]$ sudo yum update -y
image.png
然后重启CentOS 7服务器。
[linuxmi@localhost www.linuxmi.com]$ sudo reboot

第 2 步:安装elevate-release包

下一步是安装 elevate-release 包,如下所示。
[linuxmi@localhost www.linuxmi.com]$ sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
image.png
安装完成后,现在是时候为要迁移到的首选操作系统安装 Leapp 包和迁移数据了。迁移数据包的可能选项包括:

  • leapp-data-oraclelinux
  • leapp-data-almalinux
  • leapp-data-rocky
  • leapp-data-centos
  • leapp-data-oraclelinux

在我们的例子中,我们正在迁移到 AlmaLinux 8,因此,我们将安装leapp-data-almalinux 包。
[linuxmi@localhost www.linuxmi.com]$ sudo yum install -y leapp-upgrade leapp-data-almalinux
image.png

第 3 步:运行升级前检查

此后,启动升级前检查,如下所示。该命令会运行检查以查看升级是否成功,并提供有关在测试失败时您可以采取的可能补救措施的报告。
[linuxmi@localhost www.linuxmi.com]$ sudo leapp preupgrade
image.png
事实上,测试失败的原因有两到三个,这些原因记录在/var/log/leap /answerfile文件中,带有true/false的问题。有各种各样的建议可以解决无法升级的问题,但是,下面的建议是强制性的。
image.png
image.png
因此, 需要删除多余开发内核依赖以及回答 answerfile 文件
删除其余未使用的内核
image.png
sudo yum remove kernel-devel-3.10.0-1160.88.1.el7 -y
sudo yum remove kernel-devel-3.10.0-1160.108.1.el7 -y
sudo yum remove kernel-devel-3.10.0-1160.118.1.el7 -y
清除并重建缓存
sudo yum clean all
sudo yum makecache

移除已经加载到内核中的模块pata_acpi
[linuxmi@localhost www.linuxmi.com]$ sudo lsmod | grep pata_acpi
[linuxmi@localhost www.linuxmi.com]$ sudo rmmod pata_acpi
image.png
回答 answerfile 文件
[linuxmi@localhost www.linuxmi.com]$ sudo leapp answer –section remove_pam_pkcs11_module_check.confirm=True
image.png

升级还要求 sshd 服务设置允许通过 root 登录, 解决办法
[linuxmi@localhost www.linuxmi.com]$ echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
PermitRootLogin yes

重启你的系统以确保所有的更改生效:
sudo reboot
再次执行预升级检查
$ sudo leapp preupgrade
image.png

第 4 步:从 CentOS 7 升级到 Almalinux 8

升级前首先备份关键数据
提前创建快照用于回滚

开始升级,请运行以下命令并重新启动系统
[linuxmi@localhost www.linuxmi.com]$ sudo leapp upgrade
image.png
image.png
[linuxmi@localhost www.linuxmi.com]$ sudo reboot
如果使用的时云服务器, 重启后切换 VNC 登录方式
image.png
可以发现升级过程还在继续
image.png
image.png
reboot 重启服务器

在重新启动过程中,将出现一个标有“Elevate-Upgrade-Initramfs”的新引导选项。选择此选项。

问题:

腾讯轻应用服务器, 重启后找不到引导项,尝试在菜单处按 c 进入 grub shell, 查找引导镜像
image.png
但是如何手动加载引导项暂时没找到办法…只能作罢。 并且进入Almalinux系统后输入用户名后直接显示认证失败(无法输入密码). 暂时找不到解决办法, 感觉这种办法不适合在云服务器上使用。最终根据官方指引 https://cloud.tencent.com/document/product/213/70900
从 Centos7 升级到了 TencentOS Server

如果以上没有出现问题, 升级将继续进行,大约需要 25 分钟。
最后,系统将再次重新启动。这次使用 AlmaLinux grub 菜单选项。
登录后,请验证您使用的操作系统版本。
[linuxmi@localhost www.linuxmi.com]$ cat /etc/redhat-release

就我而言,输出确认我已成功从 CentOS 7 升级到 AlmaLinux 8.4。就是这样。我希望本指南可以让你现在可以从 CentOS 7 无缝升级到任何基于 RHEL 8.x 的主要发行版,而不会出现问题。
来自:Linux迷
链接:https://www.linuxmi.com/centos-7update-almalinux-8-rocky-linux-8.html

Views: 0