Redhat 8.10 离线升级 Redhat 9.6
1.可行性分析
Redhat 8.10 支持原位升级到 Redhat 9.6。
参考:从 RHEL 8 升级至 RHEL 9
2.搭建内网 yum 源
如果直接使用上传镜像挂载到待升级主机本地并配置 yum 源的方式会报错,因此需要在内网建一个 http 类型的 yum 源。
注意,建立 http 类型 yum 源的应该是另一台(非待升级)服务器。
# 上传镜像并个挂载
mkdir -p /mnt/iso
mount -o loop rhel-9.6-x86_64-dvd.iso /mnt/iso/
# 安装 http 软件
yum install -y httpd
systemctl enable --now httpd
# 将源放入网站目录中
mkdir -p /var/www/html/rhel9
cp -r /mnt/iso/* /var/www/html/rhel9/
# 测试
curl http://localhost/rhel9/
3.安装 leapp 软件
原位升级需要使用到 leapp 软体,安装 leapp 使用 Redhat 8.10 的 yum 源。可以将 8.10 的介质上传到待升级服务器,挂载到本地配置 yum 源安装。
# 上传挂载介质
mkdir -p /mnt/rhel8iso
mount -o loop rhel-8.10-x86_64-dvd.iso /mnt/rhel8iso
# 配置 yum 源
cat > /etc/yum.repos.d/rhel8offline.repo <<'EOF'
[rhel8-baseos]
name=RHEL 8.10 BaseOS
baseurl=file:///mnt/rhel8iso/BaseOS
enabled=1
gpgcheck=0[rhel8-appstream]
name=RHEL 8.10 AppStream
baseurl=file:///mnt/rhel8iso/AppStream
enabled=1
gpgcheck=0
EOF
# 安装
yum install leapp leapp-upgrade-el8toel9 -y
# 卸载删除 Redhat 8.10 源
umount /mnt/rhel8iso
rm -f /etc/yum.repos.d/rhel8offline.repo
4.升级
4.1.环境准备
关闭 selinux
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
新建用户并禁用 root 用户登录
useradd monkey
passwd monkey
sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl restart sshd
修改最大打开文件数限制
ulimit -n 16384
4.2.升级
# 配置 yum 源
cat > /etc/leapp/files/leapp_upgrade_repositories.repo <<'EOF'
[rhel9-BaseOS]
name=RHEL 9.6 BaseOS
baseurl=http://192.168.31.23/rhel9/BaseOS
enabled=1
gpgcheck=0[rhel9-AppStream]
name=RHEL 9.6 AppStream
baseurl=http://192.168.31.23/rhel9/AppStream
enabled=1
gpgcheck=0
EOF
# 预升级
leapp preupgrade --no-rhsm
# 升级
leapp upgrade --no-rhsm
4.3.重启
升级完后重启,重启可能需要很久,请耐心等待。
# 检查是否升级成功
hostnamectl status
