操作场景
操作系统版本 | 停止维护时间 | 使用者影响 |
CentOS 8 | 2022年01月01日 | 停止维护后将无法获得包括问题修复和功能更新在内的任何软件维护和支持。 |
| CentOS 7 | 2024年06月30日 |
针对以上情况,若您需新购云服务器实例,建议选择使用 TencentOS Server 镜像。若您正在使用 CentOS 实例,则可参考本文替换为 TencentOS Server。
版本说明
源端主机支持操作系统版本:
支持 CentOS 7系列操作系统版本:
CentOS 7.2 64位、CentOS 7.3 64位、CentOS 7.4 64位、CentOS 7.5 64位、CentOS 7.6 64位、CentOS 7.7 64位、CentOS 7.8 64位、CentOS 7.9 64位。
支持 CentOS 8系列操作系统版本:
CentOS 8.0 64位、CentOS 8.2 64位、CentOS 8.3 64位、CentOS 8.4 64位、CentOS 8.5 64位。
目标主机建议操作系统版本:
CentOS 7系列建议迁移至 TencentOS Server 2.4。
CentOS 8系列建议迁移至 TencentOS Server 3。
注意事项
以下情况可能会影响业务在迁移后无法正常运行:
业务程序安装且依赖了第三方的 rpm 包。
迁移后的目标版本是 tkernel4,基于5.4的内核。该版本较 CentOS 7及 CentOS 8的内核版本更新,一些较旧的特性在新版本可能会发生变化。建议强依赖于内核的用户了解所依赖的特性,或可咨询 在线客服。
业务程序依赖某个固定的 gcc 版本。
目前 TencentOS Server 2.4默认安装 gcc 4.8.5,TencentOS Server 3默认安装 gcc 8.5。
迁移结束后,需重启才能进入TencentOS Server 内核。
迁移不影响数据盘,仅 OS 层面的升级,不会对数据盘进行任何操作。
注意:
操作系统迁移会将内核升级为基于 5.4 版本的 tkernel4 内核,因此可能下列情况的系统可能受到影响:
1. 业务程序依赖于某个固定的内核版本,或者自行编译了内核模块,如 GPU 机型迁移后内核需要重新安装 GPU 驱动;
2. 原操作系统的某个模块由 rpm 包提供,在迁移后此 rpm 包可能无法为新的内核提供模块,如:
xpmem-modules-2.6.3-2.54310.kver.3.10.0_1160.108.1.el7.x86_64.x86_64 为 kernel-3.10.0-1160.108.1.el7.x86_64 提供 ko 文件,
但无法为迁移后的 tkernel4 内核提供。这种情况下用户可获取源码重新编译安装该模块。
资源要求
空闲内存大于500MB。
系统盘剩余空间大于10GB。
若/boot挂载分区,该分区空间需要大于150MB。
操作步骤
迁移准备
1. 迁移操作不可逆,为保障业务数据安全,强烈建议您在执行迁移前通过 创建快照 备份系统盘数据。
2. 操作系统迁移需要用户具有 root 权限。
执行迁移
1. 登录目标云服务器,详情请参见 使用标准登录方式登录 Linux 实例。
2. 执行以下命令,获取迁移工具。
注意:
若您的系统安装了旧版本的迁移工具,请卸载后再安装新的工具包。
wget https://mirrors.cloud.tencent.com/tencentos/2.4/tlinux/x86_64/RPMS/migrate2tencentos-1.08-3.tl2.x86_64.rpm
3. 执行以下命令,安装迁移工具。
rpm -ivh migrate2tencentos-1.08-3.tl2.x86_64.rpm
4. 执行以下命令,检查迁移环境。
/usr/local/bin/EasyCheck --target tencentos2
5. 执行以下命令,开始迁移。
5.1 通过下面命令之一进行迁移
5.1.1 全量迁移
将 CentOS 发行版的用户态软件包替换为 TencentOS 发行版,为系统安装 TencentOS 基于5.4的内核。
/usr/local/bin/EasyMigration -d remote -k
5.1.2 minimal 软件组迁移
将系统的核心组件包迁移成 TencentOS 发行版,为系统安装 TencentOS 基于5.4的内核。
该模式下迁移的用户态软件包规模较小,系统上其他非核心组件的软件仍然保留为 CentOS 发行版。
/usr/local/bin/EasyMigration -d remote -k -g minimal
迁移需要一定时间,请耐心等待。脚本执行完成后,输出如下图所示信息,表示已完成迁移。
6. 重启实例,详情请参见 重启实例。
7. 检查迁移结果。
7.1 执行以下命令,检查 os-release。
cat /etc/os-release
返回如下图所示信息:
7.2 执行以下命令,检查内核。
uname -r
返回如下图所示信息:
说明:
内核默认为 yum 最新版本,请以您的实际返回结果为准,本文以图示版本为例。
7.3 执行以下命令,检查 yum。
yum makecache
返回如下图所示信息:
1. 登录目标云服务器,详情请参见 使用标准登录方式登录 Linux 实例。
2. 执行以下命令,获取迁移工具。
注意:
若您的系统曾经安装了旧版本的迁移工具,请卸载后再安装新的工具包。
wget https://mirrors.cloud.tencent.com/tlinux/3.1/Updates/x86_64/RPMS/migrate2tencentos-1.08-3.tl3.x86_64.rpm
3. 执行以下命令,安装迁移工具。
rpm -ivh migrate2tencentos-1.08-3.tl3.x86_64.rpm
4. 执行以下命令,检查迁移环境。
/usr/local/bin/EasyCheck --target tencentos3
5. 执行以下命令,开始迁移。
5.1 通过下面命令之一进行迁移
5.1.1 全量迁移
将 CentOS 发行版的用户态软件包替换为 TencentOS 发行版,为系统安装 TencentOS 基于5.4的内核。
/usr/local/bin/EasyMigration -d remote -k
5.1.2 minimal 软件组迁移
将系统的核心组件包迁移成 TencentOS 发行版,为系统安装 TencentOS 基于5.4的内核。
该模式下迁移的用户态软件包规模较小,系统上其他非核心组件的软件仍然保留为 CentOS 发行版。
/usr/local/bin/EasyMigration -d remote -k -g minimal
迁移需要一定时间,请耐心等待。脚本执行完成后,输出如下图所示信息,表示已完成迁移。
6. 重启实例,详情请参见 重启实例。
7. 检查迁移结果。
7.1 执行以下命令,检查 os-release。
cat /etc/os-release
返回如下图所示信息:
7.2 执行以下命令,检查内核。
uname -r
返回如下图所示信息:
说明:
内核默认为 yum 最新版本,请以您的实际返回结果为准,本文以图示版本为例。
7.3 执行以下命令,检查 yum。
yum makecache
返回如下图所示信息:
Minimal 软件组列表见下表格
:序号 | 名称 |
1 | audit |
2 | basesystem |
3 | bash |
4 | btrfs-progs |
5 | coreutils |
6 | cronie |
7 | curl |
8 | dhclient |
9 | e2fsprogs |
10 | filesystem |
11 | firewalld |
12 | glibc |
13 | hostname |
14 | initscripts |
15 | iproute |
16 | iprutils |
17 | iptables |
18 | iputils |
19 | irqbalance |
20 | kbd |
21 | kexec-tools |
22 | less |
23 | man-db |
24 | ncurses |
25 | openssh-clients |
26 | openssh-server |
27 | parted |
28 | passwd |
29 | plymouth |
30 | policycoreutils |
31 | procps-ng |
32 | rootfiles |
33 | rpm |
34 | rsyslog |
35 | selinux-policy-targeted |
36 | setup |
37 | shadow-utils |
38 | sudo |
39 | systemd |
40 | tar |
41 | tuned |
42 | util-linux |
43 | vim-minimal |
44 | xfsprogs |
45 | yum |
46 | NetworkManager |
47 | NetworkManager-team |
48 | NetworkManager-tui |
49 | aic94xx-firmware |
50 | alsa-firmware |
51 | biosdevname |
52 | dracut-config-rescue |
53 | ivtv-firmware |
54 | iwl100-firmware |
55 | iwl1000-firmware |
56 | iwl105-firmware |
57 | iwl135-firmware |
58 | iwl2000-firmware |
59 | iwl2030-firmware |
60 | iwl3160-firmware |
61 | iwl3945-firmware |
62 | iwl4965-firmware |
63 | iwl5000-firmware |
64 | iwl5150-firmware |
65 | iwl6000-firmware |
66 | iwl6000g2a-firmware |
67 | iwl6000g2b-firmware |
68 | iwl6050-firmware |
69 | iwl7260-firmware |
70 | kernel-tools |
71 | libsysfs |
72 | linux-firmware |
73 | lshw |
74 | microcode_ctl |
75 | postfix |
76 | sg3_utils |
77 | sg3_utils-libs |
78 | dracut-config-generic |
79 | dracut-fips |
80 | dracut-fips-aesni |
81 | dracut-network |
82 | initial-setup |
83 | openssh-keycat |
84 | rdma-core |
85 | selinux-policy-mls |
86 | tboot |
87 | gdb |
88 | kexec-tools |
89 | latrace |
90 | libreport-cli |
91 | strace |
92 | systemtap-runtime |
93 | abrt-addon-ccpp |
94 | abrt-addon-python |
95 | abrt-cli |
96 | crash |
97 | crash-gcore-command |
98 | crash-ptdump-command |
99 | crash-trace-command |
100 | elfutils |
101 | kernel-tools |
102 | libreport-plugin-mailx |
103 | ltrace |
104 | memstomp |
105 | ps_mem |
106 | trace-cmd |
107 | valgrind |
108 | abrt-java-connector |
109 | gdb-gdbserver |
110 | glibc-utils |
111 | memtest86+ |
112 | systemtap-client |
113 | systemtap-initscrip |