CentOS 迁移 TencentOS Server 指引

操作系统版本 停止维护时间 使用者影响
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 (TK4)。
CentOS 8系列建议迁移至 TencentOS Server 3.1 (TK4)。

注意事项

以下情况可能会影响业务在迁移后无法正常运行:
业务程序安装且依赖了第三方的 rpm 包。
迁移后的目标版本是 tkernel4,基于5.4的内核。该版本较 CentOS 7及 CentOS 8的内核版本更新,一些较旧的特性在新版本可能会发生变化。建议强依赖于内核的用户了解所依赖的特性,或可咨询 在线客服
业务程序依赖某个固定的 gcc 版本。 目前 TencentOS Server 2.4默认安装 gcc 4.8.5,TencentOS Server 3.1默认安装 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挂载分区,该分区空间需要大于500MB。

    操作步骤

    迁移准备

  3. 迁移操作不可逆,为保障业务数据安全,强烈建议您在执行迁移前通过 创建快照 备份系统盘数据。
  4. 操作系统迁移需要用户具有 root 权限。

    执行迁移

    CentOS 7系列迁移至 TencentOS Server 2.4(TK4)

    1. 登录目标云服务器,详情请参见 使用标准登录方式登录 Linux 实例

    2. 执行以下命令,获取迁移工具。

    注意:
    若您的系统安装了旧版本的迁移工具,请卸载后再安装新的工具包。

    wget https://mirrors.cloud.tencent.com/tencentos/2.4/tlinux/x86_64/RPMS/migrate2tencentos-1.07-6.tl2.x86_64.rpm

    3. 执行以下命令,安装迁移工具。

    rpm -ivh migrate2tencentos-1.07-6.tl2.x86_64.rpm

    4. 执行以下命令,开始迁移。

    4.1 通过下面命令之一进行迁移
    4.1.1 全量迁移

    将 CentOS 发行版的用户态软件包替换为 TencentOS 发行版,为系统安装 TencentOS 自主研发的 tkernel4,基于5.4的内核。

    /usr/local/bin/EasyMigration -d remote -k

    image.png
    image.png
    最后 reboot 重启

4.1.2 minimal 软件组迁移

将系统的核心组件包迁移成 TencentOS 发行版,为系统安装 TencentOS 自主研发的 tkernel4,基于5.4的内核。
该模式下迁移的用户态软件包规模较小,系统上其他非核心组件的软件仍然保留为 CentOS 发行版。

/usr/local/bin/EasyMigration -d remote -k -g minimal

minimal 软件组默认列表参考 附录一
迁移需要一定时间,请耐心等待。脚本执行完成后,输出如下图所示信息,表示已完成迁移。

5. 重启实例,详情请参见 重启实例

6. 检查迁移结果。

6.1 执行以下命令,检查 os-release。

cat /etc/os-release

返回如下图所示信息:

6.2 执行以下命令,检查内核。

uname -r

返回如下图所示信息:

说明:
内核默认为 yum 最新版本,请以您的实际返回结果为准,本文以图示版本为例。

6.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

CentOS 8系列迁移至 TencentOS 3.1(TK4)

  1. 登录目标云服务器,详情请参见 使用标准登录方式登录 Linux 实例

  2. 执行以下命令,获取迁移工具。
    注意:
    若您的系统曾经安装了旧版本的迁移工具,请卸载后再安装新的工具包。

    wget https://mirrors.cloud.tencent.com/tlinux/3.1/extras/x86_64/os/Packages/migrate2tencentos-1.07-6.tl3.x86_64.rpm
  3. 执行以下命令,安装迁移工具。

    rpm -ivh migrate2tencentos-1.07-6.tl3.x86_64.rpm
  4. 执行以下命令,开始迁移。
    4.1 通过下面命令之一进行迁移
    4.1.1 全量迁移
    将 CentOS 发行版的用户态软件包替换为 TencentOS 发行版,为系统安装 TencentOS 自主研发的 tkernel4,基于5.4的内核。

    /usr/local/bin/EasyMigration -d remote -k

    4.1.2 minimal 软件组迁移
    将系统的核心组件包迁移成 TencentOS 发行版,为系统安装 TencentOS 自主研发的 tkernel4,基于5.4的内核。
    该模式下迁移的用户态软件包规模较小,系统上其他非核心组件的软件仍然保留为 CentOS 发行版。

    /usr/local/bin/EasyMigration -d remote -k -g minimal

    minimal 软件组默认列表参考附录一。
    迁移需要一定时间,请耐心等待。脚本执行完成后,输出如下图所示信息,表示已完成迁移。

  5. 重启实例,详情请参见 重启实例

  6. 检查迁移结果。
    6.1 执行以下命令,检查 os-release。

    cat /etc/os-release

    返回如下图所示信息:

    6.2 执行以下命令,检查内核。

uname -r

返回如下图所示信息:

说明:
内核默认为 yum 最新版本,请以您的实际返回结果为准,本文以图示版本为例。
6.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

Views: 8