CentOS 迁移 TencentOS 指引

最近更新时间:2024-11-11 14:11:01

我的收藏

操作场景

CentOS 官方停止维护 CentOS 7、CentOS 8 项目,CentOS 7及 CentOS 8 停止维护时间见下表。如需了解更多信息,请参见 CentOS 官方公告
操作系统版本
停止维护时间
使用者影响
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 权限。

执行迁移

CentOS 7系列迁移至 TencentOS Server 2.4(TK4)
CentOS 8系列迁移至 TencentOS 3.1(TK4)
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
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
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