CentOS 8迁移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. CentOS 8切换源
说明 CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。建议您切换到Anolis或Alinux。如果您的业务过渡期仍需要使用CentOS 8系统中的一些安装包,请根据下文切换CentOS 8的源。
- 运行以下命令备份之前的repo文件。
rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
- 运行以下命令下载最新的repo文件。
wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo
wget https://mirrors.aliyun.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo
- 运行以下命令替换repo文件中的链接。
sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo
sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/epel-archive-8.repo
- 运行以下命令重新创建缓存。
yum clean all && yum makecache
- 查看repo文件。
ls -l /etc/yum.repos.d/
- 删除之前备份的repo文件。
说明 后续步骤中我们将为切换后的CentOS 8的repo文件进行重命名,以防冲突需将其删除。如果只有两个repo文件则不需要进行删除
rm -rf /etc/yum.repos.d/!(*.repo)
删除之后,在用ls -l /etc/yum.repos.d/命令进行查询,则会如下图所示。
4. 部署迁移工具并迁移
- 下载迁移脚本。
wget https://gitee.com/anolis/centos2anolis/raw/master/centos2anolis.py
- 安装迁移脚本运行依赖。
yum -y install python3
- 迁移执行。
python3 centos2anolis.py
如下图所示,迁移成功。
5. 重启进入Anolis OS系统
- 迁移成功,重启即可进入Anolis OS系统。
reboot
重启后,会弹出远程连接已经断开对话框。
- 如果重新连接报错,解决方法。
若重新连接报错,会弹出建立远程连接失败对话框。
解决方法:返回实例详情界面,选择“加入安全组”,在弹出的ECS实例加入安全组对话框中,选择和当前实例安全组名称相同的安全组,然后单击“确定”。
添加完成后,返回远程登录的服务器端,选择“重新登录”即可。
连接成功如图所示。
说明 若以上方法无效,则可以选择关闭终端,重新进行远程连接。
6. 迁移后配置检查并验证
说明 CentOS在2021年12月31号停止维护,相应的CentOS源在2022年1月31号从官网删除,导致CentOS实例无法正常使用repo,阿里云官方给出了切换使用CentOS Vault源的指导:https://help.aliyun.com/document_detail/405635.html
如果您按照该指导切换使用CentOS Vault源或者自行配置使用Vault源,然后实施迁移Anolis OS,迁移完成后,需要检查当前系统中是否残留CentOS Vault源。
- 通过命令进行检查。
yum repolist
- 如上述结果所示,“CentOS-8.5.2111 - Base - mirrors.aliyun.com”就是残留的CentOS repo,需要删除,否则会出现Anolis OS和CentOS源共存的问题,一旦执行yum update可能会错误地安装CentOS的包。
2.1查找提供CentOS repo的配置文件。
grep -rn "CentOS-8.5.2111" /etc/yum.repos.d/*.repo
2.1重命名上述步骤中找到的配置文件。
mv /etc/yum.repos.d/Centos-vault-8.5.2111.repo /etc/yum.repos.d/Centos-vault-8.5.2111.repo.bak
- 迁移后验证。
3.1查看OS版本。
cat /etc/os-release
3.2通过命令查看当前系统中是否有残留CentOS软件包,如果残留kernel包,为正常现象,kernel包支持多版本共存。
rpm -qa --qf "%{NAME} %{VENDOR}\n" | grep CentOS
7. FAQ
如果您在正式环境中迁移出现疑问,请参考如下:
- 就地迁移失败是否可回滚?
1.1迁移工具不支持回滚,迁移失败无法恢复到迁移初始状态,迁移前务必做好系统备份。
- 迁移出现问题怎么办?
2.1先在龙蜥社区知识库查看是否有同样的问题。
2.2如果问题无法解决,请前往龙蜥社区提交issue,或者加入钉钉交流群(33311793)获取帮助。您需要先保存迁移工具执行报错信息,并提供初始系统信息(系统版本,内核,软件包列表等等),附上迁移日志文件/var/log/centos2anolis.log。
说明 更多FAQ,请参见迁移FAQ。
实验地址:https://developer.aliyun.com/adc/scenario/66cf8402e157499a81585243a0f10500