CentOS官方已计划停止维护CentOS Linux项目,您可以通过Alibaba Cloud Linux提供的迁移工具将CentOS 8操作系统平滑迁移至Alibaba Cloud Linux 3操作系统。本文介绍如何使用操作系统迁移工具。
迁移限制
Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为Alibaba Cloud Linux 3的内核,并选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链。在软件包生态上与CentOS 8兼容。当您在使用本文介绍的操作系统迁移工具将CentOS 8迁移为Alibaba Cloud Linux 3时,工具会对待迁移的操作系统进行基础判断。因此您需要注意以下操作系统相关特性或软件的迁移限制:
特性或软件 | 支持情况 | 是否影响操作系统迁移流程 | 说明 |
---|---|---|---|
图形化界面 | 不支持 | 是 | Alibaba Cloud Linux 3不支持图形化界面,因此迁移工具不支持迁移已配置图形化界面的CentOS 8操作系统。 |
i386架构的软件包 | 不支持 | 是 | Alibaba Cloud Linux 3不提供i386架构的软件包。如果您当前使用的CentOS 8系统内带有i386架构的软件包,则不支持使用迁移工具迁移操作系统。您需要先删除这些软件包,然后再进行迁移操作,以免迁移时系统发生异常。 |
epel-modular | 不支持 | 否 | CentOS 8中EPEL源所依赖的platform与Alibaba Cloud Linux 3不同。因此,您可以迁移操作系统,但需要注意迁移后无法安装基于epel-modular的软件包。 |
C/C++语言程序兼容性 | 不保证 | 否 | Alibaba Cloud Linux 3选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链,且系统自身的软件包已经做了兼容性处理。操作系统迁移后,建议您基于新的基础工具链重新对您的C/C++语言程序进行编译验证,避免出现兼容性问题。 |
内核模块兼容性 | 不支持 | 否 | Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为内核,在软件包生态上与CentOS 8兼容,但您需要注意,Alibaba Cloud Linux 3无法完全兼容CentOS 8的4.18内核。因此,依赖于内核接口编程的业务(例如内核OOT模块开发、硬件使能等业务场景),您需要在迁移前自行做好迁移评估,避免迁移后业务无法正常运行。 |
MySQL数据库 | 仅支持向同版本或更高版本的MySQL迁移 |
|
Alibaba Cloud Linux 3支持MySQL数据库,但您需要注意,由于MySQL不支持降低版本,当Alibaba Cloud Linux 3提供的MySQL版本低于待迁移的CentOS 8内的MySQL版本时,不支持使用迁移工具完成操作系统迁移。 |
操作系统热迁移 | 不支持 | 否 | 使用操作系统工具迁移操作系统时涉及软件包的重新安装,会引起系统内服务重启,进而造成业务中断。因此,您在迁移前需要做好数据备份(具体操作请参见快照概述)并隔离待迁移的操作系统环境,避免影响正常业务。 |
操作系统迁移工具在迁移过程中涉及软件包的下载与安装,会产生一定的资源消耗。因此,迁移前您需要确保实例内保留了以下可用的资源容量:
- 内存大小:300 MiB
- 云盘容量:
- /usr目录需要250 MiB
- /var目录需要1.5 GiB
- /boot目录需要50 MiB
说明 如果您的实例对应的计算资源(vCPU与内存)、存储资源(系统盘与数据盘)较小,建议您停止实例内的业务再进行操作系统迁移,避免因资源不足而迁移失败。
操作步骤
- 远程连接待迁移的CentOS 8实例。
具体操作,请参见 连接方式概述 。
- 切换源地址。
CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。如果您需要使用CentOS 8系统中的一些安装包,则需要手动切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?。
- 依次运行以下命令,安装迁移工具。
- 下载迁移工具软件源。
wget http://mirrors.aliyun.com/alinux/migration/alinux-migration.repo -O /etc/yum.repos.d/alinux-migration.repo
- 安装迁移工具centos8toalinux3。
yum -y install centos8toalinux3
- 下载迁移工具软件源。
- 运行以下命令,执行迁移工具。
说明 迁移工具支持记录操作系统迁移前后的软件包的变化。如果您需要在迁移后查看记录,需要运行 centos8toalinux3.py -V命令。如何查看迁移前后的记录文件,请参见 常见问题。
centos8toalinux3.py
迁移结果说明:- 如果出现如下图所示的提示信息,则表示您的CentOS 8操作系统配置了图形化界面,迁移工具不支持迁移操作,并自动结束了迁移操作。
- 如果出现如下图所示的提示信息,则表示迁移操作完成。
- 如果出现如下图所示的提示信息,则表示您的CentOS 8操作系统配置了图形化界面,迁移工具不支持迁移操作,并自动结束了迁移操作。
- 运行以下命令,查看迁移后的操作系统信息。
cat /etc/os-release
如下图所示,表示操作系统已成功迁移为Alibaba Cloud Linux 3。 - 迁移后配置检查。
迁移完成后,需要检查当前系统中是否残留CentOS Vault源。如果系统中有残留CentOS Vault源,您需要删除,否则会出现Alibaba Cloud Linux 3和CentOS 8源共存的问题,一旦执行 yum update命令可能会错误地安装CentOS包。
- 运行以下命令,重启ECS实例,使系统进入Alibaba Cloud Linux 3操作系统内核。
reboot
待ECS实例重启后,您可以运行 uname -r命令查看Alibaba Cloud Linux 3内核版本信息。示例操作如下图所示:
常见问题
- 如何确认操作系统迁移前后的变化?
操作系统迁移工具支持记录迁移前后的软件包信息,如果您通过 centos8toalinux3.py -V命令执行迁移操作,迁移完成后您可以通过记录文件对比迁移前后的变化。记录文件存放于 /var/tmp目录下,该目录下不同命名的文件说明如下:
- 迁移前软件包(RPM)的信息记录在下列文件:
$(hostname)-rpms-list-before.log
$(hostname)-rpms-verified-before.log
- 迁移后软件包(RPM)的信息记录在下列文件:
$(hostname)-rpms-list-after.log
$(hostname)-rpms-verified-after.log
- 迁移前软件包(RPM)的信息记录在下列文件:
- 迁移过程中出现异常并导致迁移失败如何处理?
迁移操作不可逆,如果迁移过程中出现异常,则无法再恢复到系统原始状态。因此建议您在迁移操作前为ECS实例创建快照备份数据,当迁移过程中出现异常,可通过快照回滚云盘。
如果因软件包的依赖关系导致迁移失败(例如
yum distro-sync
执行后报错),则您需要保存报错信息并提交工单反馈。