- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。
1 迁移原理与注意事项
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS8.x兼容,所以CentOS8.x迁移Anolis OS 8实现上,工具充分利用了兼容的特性,提供了一键式迁移脚本。centos2anolis.py。
CentOS 8.x迁移使用Anolis OS release相关的包替代CentOS release,通过yum distro-sync重装当前系统中所有的系统软件包。
软件重装的过程并不会修改当前系统基础配置,所以系统配置,业务配置,业务数据都不会被清除,迁移完成后这些数据无需重新设置。
使用迁移脚本前需要注意如下事项:
迁移过程涉及软件包重装,是不可逆过程,迁移前务必做好备份。
迁移过程涉及到访问Anolis OS 的官方repo,需要确保待迁移环境网络能够正常访问Anolis OS repo。
需要使用root用户执行,当前只支持CentOS8.x系统的迁移,不支持CentOS stream系统迁移。
迁移过程依赖于yum/dnf,确保这两个组件能够正常运行。
迁移脚本提供了Anolis OS repo访问加速的功能,如果访问Anolis OS官方repo速度较慢,可以通过-s选项进行加速访问。
Anolis OS 不提供i686架构的软件包,如您系统上安装了CentOS的i686架构的软件包,则无法正常迁移。
2 部署迁移工具
选项一 从本地 yum 源安装迁移工具
如果待迁移系统无法访问龙蜥 mirror,首先建议在内网搭建一套本地yum源。(如何做本地yum源 用户名: rsync_user , 密码: Rsync@2020) ,然后通过本地源安装迁移工具。假设本地源地址为 http:///local.repo.com/anolis , 则下载迁移工具软件源:
wget http:///local.repo.com/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
然后执行下述命令将 /etc/yum.repos.d/anolis-migration.repo 里面的baseurl地址替换为本地源地址。
sed -i "s#baseurl=https:///mirrors.openanolis.cn/#baseurl=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.repo
sed -i "s#gpgkey=https:///mirrors.openanolis.cn/#gpgkey=http:///local.repo.com/#" /etc/yum.repos.d/anolis-migration.repo
安装迁移工具centos2anolis:
yum -y install centos2anolis
选项二 从社区 yum 源(mirrors.openanolis.cn) 安装迁移工具
如果待迁移系统可以联网,则下载迁移工具软件源:
wget https:///mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
安装迁移工具centos2anolis:
yum -y install centos2anolis
3 迁移执行
选项一 使用本地 yum 源执行迁移
针对本地配置的龙蜥 yum 源, 该如何使用迁移工具进行迁移操作?
在无法接入到mirrors.openanolis.cn 或 mirrors.aliyun.com 时,可以使用本地源迁移系统。(如何做本地yum源 用户名: rsync_user , 密码: Rsync@2020)
1.在运行工具之前,新建或者编辑Anolis仓库的repo文件:/etc/yum.repos.d/switch-to-anolis.repo (注意,请确保文件名为 switch-to-anolis.repo), 将对应的 repo baseurl 地址改成本地源 repo 地址, 譬如,假设本地源地址为 http:///local.repo.com/anolis , 则配置文件如下
[an8_baseos]
name=AnolisOS-8 - BaseOS
baseurl=http:///local.repo.com/anolis/8/BaseOS/$basearch/os
gpgcheck=0
enabled=1
[an8_appstream]
name=AnolisOS-8 - AppStream
baseurl=http:///local.repo.com/anolis/8/AppStream/$basearch/os
gpgcheck=0
enabled=1
1.执行下面命令进行迁移
centos2anolis.py -l
上述命令是默认迁移到带 ANCK 内核的龙蜥OS,如果你想迁移到带 RHCK 内核的龙蜥OS请执行下面的命令进行迁移
centos2anolis.py -l --rhck
选项二 使用社区 yum 源(mirrors.openanolis.cn) 执行迁移
直接执行下述命令即可
centos2anolis.py
上述命令是默认迁移到带 ANCK 内核的龙蜥OS,如果你想迁移到带 RHCK 内核的龙蜥OS请执行下面的命令进行迁移
centos2anolis.py --rhck
迁移完成后,系统会提示如下信息,表示迁移成功,重启即可进入Anolis OS系统。
centos2anolis.py提供了-V选项,用于记录迁移前后的软件包信息,您可以根据需要判断是否添加选项。添加-V选项,迁移完成后会在/var/tmp目录下生成迁移前后的rpm信息,命名格式为:
# 迁移前
$(hostname)-rpms-list-before.log
$(hostname)-rpms-verified-before.log
# 迁移后
$(hostname)-rpms-list-after.log
$(hostname)-rpms-verified-after.log
4 迁移后配置检查
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检查:
# yum repolist
Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Linux-epel.repo; 配置:ID 为 "failovermethod" 的 OptionBinding 不存在
Repository PowerTools is listed more than once in the configuration
Repository AppStream is listed more than once in the configuration
仓库 id 仓库名称
AppStream AnolisOS-8 - AppStream
BaseOS AnolisOS-8 - BaseOS
Extras AnolisOS-8 - Extras
PowerTools AnolisOS-8 - PowerTools
base CentOS-8.5.2111 - Base - mirrors.aliyun.com
epel Extra Packages for Enterprise Linux 8 - x86_64
extras CentOS-8.5.2111 - Extras - mirrors.aliyun.com
如上述结果所示,“CentOS-8.5.2111 - Base - mirrors.aliyun.com”就是残留的CentOS repo,需要删除,否则会出现Anolis OS和CentOS源共存的问题,一旦执行yum update可能会错误地安装CentOS的包。
删除CentOS源的方法和步骤如下:
1.查找提供CentOS repo的配置文件
# grep -rn "CentOS-8.5.2111" /etc/yum.repos.d/*.repo
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:14:name=CentOS-8.5.2111 - Base - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:24:name=CentOS-8.5.2111 - Extras - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:34:name=CentOS-8.5.2111 - Plus - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:43:name=CentOS-8.5.2111 - PowerTools - mirrors.aliyun.com
/etc/yum.repos.d/Centos-vault-8.5.2111.repo:53:name=CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
1.重命名步骤1找到的配置文件
mv /etc/yum.repos.d/Centos-vault-8.5.2111.repo /etc/yum.repos.d/Centos-vault-8.5.2111.repo.bak
5 迁移后验证
查看os版本:
# cat /etc/os-release
NAME="Anolis OS"
VERSION="8.5"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.5"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.5"
ANSI_COLOR="0;31"
HOME_URL="https:///openanolis.cn/"
通过命令查看当前系统中是否有残留CentOS软件包,如果残留kernel包,为正常现象,kernel包支持多版本共存。
rpm -qa --qf "%{NAME} %{VENDOR}\\\\n" | grep CentOS
6 注意
1)就地迁移失败是否可回滚?
迁移工具不支持回滚,迁移失败无法恢复到迁移初始状态,迁移前务必做好系统备份。
蓝队云官网拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
更多技术知识,蓝队云期待与你一起探索。
售前咨询
售后咨询
备案咨询
二维码
TOP