升级限制
-
SELinux 必须是关闭状态
-
必须是 CentOS 6 x86_64
-
根分区剩余空间不小于5GB,/boot分区剩余空间不小于120MB
-
必须能连外网
升级风险
-
升级需要1-3小时不等,甚至更长时间,视硬盘的速度和系统已安装的软件包数量
-
升级可能会导致 sshd 起不来,因此远程升级有较大的风险
-
升级可能会导致网卡配不上IP,因此远程升级有较大的风险
-
升级后有部分软件不能使用(如 grep、yum等),需要手动处理
-
升级后需要手动解决依赖关系,此步骤通常需要1-2小时甚至更久,视系统安装的软件包数量
-
此升级不可逆,如升级失败系统将无法正常启动。物理机升级有较大风险,升级前务必做好数据备份。虚拟机升级前务必做好快照
升级路径
CentOS 6.x --> CentOS 7.2 --> CentOS 7 最新版
升级步骤
升级前准备(非常重要)
-
解决升级后 grep、 yum 命令不能使用,网卡无法配置IP等问题
-
此步骤非常重要,如果不做或做错,升级后将无法远程连接到目标机器
-
cat > /etc/ld.so.conf.d/usr-local-lib.conf << EOF
/usr/local/lib
/usr/local/lib64
EOF
cp /usr/lib64/libsas12.so.2.0.23 /usr/local/lib64/
cp /lib64/libpcre.so.0.0.1 /usr/local/lib64/
ldconfig
-
-
-
libsas12.so.2.0.23、libpcre.so.0.0.1 这两个文件在不同的版本中可能版本号会不一样
-
操作完成后必须检查 /usr/local/lib64/ 下是否有这两个文件和其软连接
-
[root@localhost ~]# ll /usr/local/lib64/
total 284
lrwxrwxrwx. 1 root root 16 Apr 20 22:49 libpcre.so.0 -> libpcre.so.0.0.1
-rwxr-xr-x. 1 root root 183080 Apr 20 22:48 libpcre.so.0.0.1
lrwxrwxrwx. 1 root root 18 Apr 20 22:49 libsasl2.so.2 -> libsasl2.so.2.0.23
-rwxr-xr-x. 1 root root 106160 Apr 20 22:49 libsasl2.so.2.0.23 -
如无以上信息,不可往下执行
-
CentOS 6 升级到 CentOS 7.2
-
配置 yum 源
-
cat > /etc/yum.repos.d/upgrade.repo << EOF
[upgrade]
name=upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/
enabled=1
gpgcheck=0
EOF -
安装旧版 openscap
yum remove -y openscap
yum install -y https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm
-
需确认 openscap 的版本必须是 1.0.8,而不能是 1.2.13或其他版本,否则执行升级步骤会报错
-
安装升级工具
yum install -y redhat-upgrade-tool preupgrade-assistant preupgrade-assistant-contents
-
升级前检查
-
preupg -s CentOS6_7
-
如检查成功,会生成检查报告,此报告需要细读一遍
-
如检查失败,根据提示解决问题或放弃升级
-
-
上传CentOS7.2 DVD ISO 镜像包到系统任意路径,必须是DVD包,大小为4G多
-
执行更新
-
centos-upgrade-tool-cli --iso=/PATH/TO/CentOS7.2-DVD-ISO
-
如提示 Finished. Reboot to start upgrade.,则输入 reboot 执行后续升级,此步骤需要较长时间
-
如报错,根据提示解决问题或放弃升级
-
升级后完善
-
升级 grep 软件包因为 grep 没有被升级,需要手工将 grep 升级到 CentOS 7 的版本
- yum downgrade -y grep
-
卸载 el6 相关软件包
- # 查找 el6 的包
rpm -qa | grep el6
# 卸载
yum remove xxx -
el6 的包是升级遗留的一些软件包,不建议保留,保留这些软件包可能会导致后续升级到最新 CentOS 7 造成依赖问题,因此需要将其卸载或升级为 CentOS 7 的版本。
-
此处可能需要解决很多依赖问题。而且可能有些包是被系统重要组件依赖的,卸载时要注意看清楚,建议少量多次分批卸载
-
最后剩余卸不掉的包,尝试将其升级为 CentOS 7 的版本
-
-
删除无效开机启动项因 CentOS 7 使用 systemd 作为系统初始化程序,升级后系统还残留了一些无效的启动项(服务脚本软连接,位于 /etc/rc.d/rc{0..6}.d/ 目录下),因此删除这些无效的启动项
-
for f in /etc/rc.d/rc{0..6}.d/*; do ls -H $f || unlink $f; done
CentOS 7.2 升级到 7.x 最新版
-
执行 yum update
-
如报错,需手动解决依赖并不断循环此过程,直到升级成功
0 条评论