CentOS 7迁移Anolis OS 8
1. 创建资源
- 在实验室页面,单击创建资源。
- (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。
说明 资源创建过程需要1~3分钟。
2. 连接服务器
- 双击打开虚拟桌面的Firefox ESR浏览器。
- 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码到用户密码输入框,单击登录。
- 复制云服务器ECS控制台地址,在FireFox浏览器打开新页签,粘贴并访问云服务器ECS控制台。
https://ecs.console.aliyun.com/
- 在云服务器ECS控制台左侧导航栏中,选择实例与镜像>实例。
- 在实例页面顶部,选择资源所在地域。例如下图中,地域切换为华东2(上海)。
说明 您可以在云产品资源列表中查看云服务器ECS所在地域。
- 在实例页面,在目标实例的操作列下单击远程连接。
- 在远程连接与命令对话框的Workbench远程连接区域中,单击立即登录。
- 在登录实例对话框中,输入云资源产品列表中ECS服务器的登录密码,单击确定。
说明 要获取ECS登录密码,请进入本页面的“云产品资源”,在“ECS服务器”区域中查看。
返回如下页面,表示您已经成功远程连接到ECS服务器。
3. 部署迁移工具
- 下载迁移脚本。
wget https://gitee.com/anolis/leapp/repository/archive/master.zip
- 下载unzip包。
yum install unzip
- 解压master.zip。
unzip master.zip
- 切换到leapp-master目录下。
cd leapp-master
- 执行部署脚本安装leapp组件。
sh leapp-install.sh
sh leapp-repository-install.sh
4. 迁移前评估
- 成功部署工具后,运行工具的评估命令来对系统环境进行扫描评估。
leapp preupgrade --no-rhsm
执行命令之后,如果评估报告出现问题,则如下图所示。
1.1查看评估报告。
说明 评估命令执行完成后,会生成评估报告,在/var/log/leapp/leapp-report.txt中,报告中详细列举出当前OS与目标OS系统间的升级分析报告,每一个报告点都包含影响等级,影响范围以及解决方案。当评估工具认为报告点影响到了OS的就地升级,这些报告点问题就必须解决,否则无法实施就地迁移。
cat /var/log/leapp/leapp-report.txt
评估报告样式如下。
- 基于评估报告处理迁移前问题。
说明 迁移评估报告中一旦遇到影响到就地迁移的因素,会禁止做迁移实施,将这些影响因素都解决后才能够继续实施迁移。
2.1按照报告的提示,在/var/log/leapp/leapp-report.txt可以获取到详细的报告信息,同时UPGRADE INHIBITED给出的影响升级的因素也可以在/var/log/leapp/answerfile文件中查看。
cat /var/log/leapp/answerfile
解决方案:在新的Anolis OS 8中不再支持pam_pkcs11,所以我们直接选择删除该不支持的选项。
leapp answer --section remove_pam_pkcs11_module_check.confirm=True
2.2Anolis OS 8中默认的PermitRootLogin行为是prohibit-password,禁止root用户登录,如果不显式设置PermitRootLogin yes则会在迁移后影响root用户密码登录。
解决方案:修改sshd_config 配置文件,允许root用户登录。
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_confi
- 解决了上述影响因素后,可以再次执行leapp preupgrade --no-rhsm再次评估是否有影响迁移的因素。若没有影响迁移的因素,结果如下。
leapp preupgrade --no-rhsm
5. 迁移实施
- 实施迁移。
leapp upgrade --no-rhsm
说明 该步骤涉及到从目标系统(Anolis OS repo)上下载软件包用于就地升级,确保待迁移环境能够正常访问Anolis OS repo。
上述命令执行成功后,还可以通过/var/log/leapp/leapp-report.txt查看迁移报告,该报告除了包含评估报告外,还包含对目标系统repo的可行性评估,如果目标系统软件包不符合迁移要求,会给出提示。
cat /var/log/leapp/leapp-report.txt
以下图为例,Anolis OS 8中不再支持kde,评估报告中给出了这样的提示。
一切就绪,执行结果如下。
6. 迁移后验证
- 迁移成功,重启即可进入Anolis OS系统。
reboot
重启后,会弹出远程连接已经断开对话框。
- 如果重新连接报错,解决方法。
若重新连接报错,会弹出建立远程连接失败对话框。
解决方法:返回实例详情界面,选择“加入安全组”,在弹出的ECS实例加入安全组对话框中,选择和当前实例安全组名称相同的安全组,然后单击“确定”。
添加完成后,返回远程登录的服务器端,选择“重新登录”即可。
连接成功如图所示。
说明 若以上方法无效,则可以选择关闭终端,重新进行远程连接。
- 迁移后验证。
3.1查看报告/var/log/leapp/leapp-report.txt可以获取升级过程中的一些信息,比如因为某些原因软件包没有升级成功,需要手动处理这些软件包。
cat /var/log/leapp/leapp-report.txt
3.2/var/log/leapp/leapp-upgrade.log则记录了整个迁移过程。
cat /var/log/leapp/leapp-upgrade.log
3.3迁移完成后,可通过一系列基础操作查看OS版本,如/etc/os-release查看OS版本。
cat /etc/os-release
7. FAQ
- 执行“leapp upgrade --no-rhsm”时出现因网络问题下载软件包失败,如何解决?
修改/etc/leapp/files/leapp_upgrade_repositories.repo文件,将mirrors.openanolis.org替换为mirrors.aliyun.com。
- 待迁移环境需要配置代理访问外网,leapp运行过程中下载软件包报错,如何解决?
leapp执行过程中真正生效的repo是/etc/leapp/files/leapp_upgrade_repositories.repo,修改/etc/leapp/files/leapp_upgrade_repositories.repo 文件,为每个repo配置代理。
- 如何确认迁移前后软件包变化?
使用leapp进行OS迁移后,可通过迁移日志/var/log/leapp/leapp-upgrade.log查看软件包更新详细信息。
- 就地迁移失败是否可回滚?
迁移工具不支持回滚,迁移失败无法恢复到迁移初始状态,迁移前务必做好系统备份。
- 迁移出现问题怎么办?
迁移过程中出现任何问题,可前往龙蜥社区提交issue,或者加入钉钉交流群(33311793)获取帮助。您需要先保存迁移工具执行报错信息,并提供初始系统信息(系统版本,内核,软件包列表等等),附上迁移日志文件/var/log/centos2anolis.log。
说明 更多FAQ,请参见迁移FAQ。
实验链接:https://developer.aliyun.com/adc/scenario/d7455fe8a23148e88389dddabfe820a4