CentOS 7.X迁移国产系统 openAnolis 8.X
如果是用公网的repo源,系统升级默认是升级到最新版本,比如升级到openAnolis 8版本,会升级到8的最新版本
官网部署文档:系统升级文档
1、下载龙蜥ISO镜像作为镜像源数据
如果你的网络环境暂时无法访问 龙蜥 rsync 源站点,也可以考虑通过下载 龙蜥ISO 镜像作为本地镜像源数据,不过这种方式的弊端是你的本地镜像源无法获取上游持续更新的软件包(譬如软件的漏洞修复包)。
以 Anolis 8.6 为例,
1、首先你需要访问 .6/isos/GA/x86_64/ 或者 .6/isos/GA/aarch64/ 按需下载所需的 ISO 包
2、将该 ISO 包拷贝到内网用作本地镜像源的机器上面
3、将该 ISO 包 mount 到特定目录
4、将数据通过nginx(或者tengine) web服务提供给用户使用
5、其他的配置仍然参考前面给出的服务端配置方案。
2、迁移工具安装
代码语言:javascript代码运行次数:0运行复制yum install -y python-pip
yum remove -y python-requests python-urllib3; /usr/bin/pip2 uninstall requests urllib3 -y 2>/dev/null || echo "not installed"
yum -y install leapp
3、迁移前评估
成功部署工具后,运行工具的评估命令来对系统环境进行扫描评估:
代码语言:javascript代码运行次数:0运行复制leapp preupgrade --no-rhsm
上述命令是默认评估迁移到带 ANCK 内核的龙蜥OS,如果你想评估迁移到带 RHCK 内核的龙蜥OS请执行下面的命令
代码语言:javascript代码运行次数:0运行复制leapp preupgrade --no-rhsm --disablerepo=anolis_plus
4、查看评估报告
评估命令执行完成后,会生成评估报告,在/var/log/leapp/leapp-report.txt中,报告中详细列举出当前OS与目标OS系统间的升级分析报告,每一个报告点都包含影响等级,影响范围以及解决方案。
当评估工具认为报告点影响到了OS的就地升级,这些报告点问题就必须解决,否则无法实施就地迁移。
报告样式如下,包含影响等级,影响概述,影响详细信息,推荐解决方案。
上述报告提示用户在Anolis OS中默认没有python命令,系统中默认提供的是不向前兼容的python3,并且python2只是有限支持,用户需要尽快将业务程序尽快迁移到使用python3。同时报告也给出了解决方案来使系统默认提供python命令。
5、基于评估报告处理迁移前问题
迁移评估报告中一旦遇到影响到就地迁移的因素,会禁止做迁移实施,将这些影响因素都解决后才能够继续实施迁移。如果遇到影响迁移实施的因素,迁移评估结果显示如下:
按照报告的提示,在/var/log/leapp/leapp-report.txt可以获取到详细的报告信息,同时UPGRADE INHIBITED给出的影响升级的因素也可以在/var/log/leapp/answerfile文件中查看。
代码语言:javascript代码运行次数:0运行复制# cat /var/log/leapp/answerfile
[remove_pam_pkcs11_module_check]
# Title: None
# Reason: Confirmation
# =================== remove_pam_pkcs11_module_check.confirm ==================
# Label: Disable pam_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted.
# Description: PAM module pam_pkcs11 is no longer available in Anolis 8 since it was replaced by SSSD.
# Type: bool
# Default: None
# Available choices: True/False
# Unanswered question. Uncomment the following line with your answer
# confirm =
解决方案,在新的Anolis OS 8中不再支持pam_pkcs11,所以我们直接选择删除该不支持的选项:
代码语言:javascript代码运行次数:0运行复制leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Anolis OS 8中默认的PermitRootLogin行为是prohibit-password,禁止root用户登陆,如果不显式设置PermitRootLogin yes则会在迁移后影响root用户密码登陆。
解决方案:修改sshd_config 配置文件,允许root用户登录
代码语言:javascript代码运行次数:0运行复制sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
解决了上述影响因素后,可以再次执行leapp preupgrade --no-rhsm或者 leapp preupgrade --no-rhsm --disablerepo=anolis_plus 再次评估是否有影响迁移的因素。若没有影响迁移的因素,结果如下:
6、迁移实施
解决了评估报告中所有影响就地迁移的问题后,即可实施迁移。
代码语言:javascript代码运行次数:0运行复制leapp upgrade --no-rhsm
上述命令是默认迁移到带 ANCK 内核的龙蜥OS,如果你想迁移到带 RHCK 内核的龙蜥OS请执行下面的命令
leapp upgrade --no-rhsm --disablerepo=anolis_plus
该步骤涉及到从目标系统(Anolis OS repo)上下载软件包用于就地升级,确保待迁移环境能够正常访问Anolis OS repo。
上述命令执行成功后,还可以通过/var/log/leapp/leapp-report.txt查看迁移报告,该报告除了包含评估报告外,还包含对目标系统repo的可行性评估,如果目标系统软件包不符合迁移要求,会给出提示。
以下图为例,Anolis OS 8中不再支持kde,评估报告中给出了这样的提示:
一切就绪,执行结果如下:
接下来需要执行 reboot 命令,reboot后OS进入一个隔离环境自动进行实质的迁移操作。
待系统迁移完成后,OS 会再次自动重启进入迁移后的系统。这一步骤涉及到2次OS重启以及相关的迁移操作故耗时较长。
7、迁移后验证
就地迁移完成后,进入新的操作系统,可以通过/var/log/leapp/leapp-report.txt查看迁移报告,报告中会包含就地迁移以及迁移后的系统详细报告信息,也可以通过/var/log/leapp/leapp-upgrade.txt查看就地迁移的执行日志。
查看报告/var/log/leapp/leapp-report.txt可以获取升级过程中的一些信息,比如因为某些原因软件包没有升级成功,需要手动处理这些软件包。
/var/log/leapp/leapp-upgrade.txt则记录了整个迁移过程,
迁移完成后,可通过一系列基础操作查看OS版本,如/etc/os-release查看OS版本。
迁移完成后,应用程序可以通过自身的指标查看是否能够正常运行。