内网环境实战离线搞定CentOS 7到Rocky 8的原地升级附完整Repo配置在金融、政企等严格隔离的网络环境中系统管理员常面临一个棘手问题如何在没有互联网连接的生产服务器上完成关键操作系统的升级CentOS 7终止支持后Rocky Linux作为理想的替代选择其稳定性与RHEL兼容性备受企业青睐。但传统升级方案依赖在线仓库的特性使得隔离环境中的迁移成为技术盲区。本文将彻底解决这一难题提供一套全离线、可审计、可回滚的完整升级方案。1. 离线升级的核心挑战与解决方案1.1 离线环境的技术瓶颈隔离网络中的系统升级面临三个核心障碍依赖黑洞在线升级时yum/dnf自动解决依赖关系而离线环境需预先下载所有关联包工具链缺失ELevate等迁移工具及其依赖项无法实时获取验证中断GPG密钥更新、数字签名校验等安全机制需要特殊处理1.2 离线资源包的科学准备通过外网代理机完成资源采集需约50GB存储空间# 创建资源目录结构 mkdir -p /opt/offline-upgrade/{rpms,repos,tools,scripts}关键资源获取清单资源类型获取方式存储路径Rocky 8基础包reposync -p /opt/offline-upgrade/rpms --repoBaseOS --repoAppStream/opt/offline-upgrade/rpmsELevate工具链手动下载elevate-release-latest-el7.noarch.rpm及所有依赖/opt/offline-upgrade/tools元数据createrepo /opt/offline-upgrade/rpms/opt/offline-upgrade/repos提示使用yumdownloader --resolve可递归下载所有依赖包2. 离线仓库的工程化部署2.1 本地文件系统仓库配置对于无内部镜像服务器的环境可直接使用文件路径作为源# 创建本地repo配置文件 cat /etc/yum.repos.d/local.repo EOF [local-baseos] nameLocal BaseOS baseurlfile:///opt/offline-upgrade/rpms/BaseOS enabled1 gpgcheck0 [local-appstream] nameLocal AppStream baseurlfile:///opt/offline-upgrade/rpms/AppStream enabled1 gpgcheck0 EOF2.2 内网HTTP仓库搭建可选通过Nginx快速搭建可共享的仓库服务server { listen 8080; server_name localrepo; root /opt/offline-upgrade/rpms; autoindex on; location / { try_files $uri $uri/ 404; } }仓库验证命令curl -I http://内网IP:8080/repodata/repomd.xml3. 关键升级步骤的离线适配3.1 预升级环境处理在CentOS 7端执行以下加固操作内核清理避免多内核冲突# 保留最新内核版本 current_kernel$(rpm -q kernel-devel | sort -V | tail -1) rpm -e $(rpm -q kernel-devel | grep -v $current_kernel)PAM模块迁移# 替换pam_tally2为pam_faillock sed -i s/pam_tally2.so/pam_faillock.so/g /etc/pam.d/*预装必要工具rpm -ivh /opt/offline-upgrade/tools/*.rpm3.2 离线answer-file配置创建预应答文件避免交互中断cat /var/lib/leapp/answerfile EOF [remove_pam_pkcs11_module_check] confirm True [check_vdo] confirm True [whitelist_experimental] confirm True EOF4. 离线升级执行与验证4.1 断网升级操作序列# 阶段一预检 leapp preupgrade --no-rhsm --enablerepo local-baseos --enablerepo local-appstream # 阶段二正式升级约15-30分钟 leapp upgrade --no-rhsm --enablerepo local-baseos --enablerepo local-appstream # 强制重启避免因服务停止失败导致卡住 echo b /proc/sysrq-trigger4.2 升级后关键检查项版本验证cat /etc/redhat-release uname -r服务状态检查systemctl list-units --failed journalctl -p err -b网络功能测试ping -c 4 内网网关 curl -I http://内网仓库地址5. 生产环境特别注意事项5.1 回滚方案设计必须准备的三种回退手段快照回滚VMware/KVM等虚拟化平台的快照功能备份恢复提前备份的/etc /var等重要目录救援模式准备LiveCD镜像应对严重故障5.2 性能调优建议Rocky 8相较于CentOS 7的优化点参数项CentOS 7默认值Rocky 8优化值修改方式透明大页alwaysmadviseecho madvise /sys/kernel/mm/transparent_hugepage/enabledIO调度器cfqnonegrubby --update-kernelALL --argselevatornone文件系统检查间隔180天30天tune2fs -i 30d /dev/sdX5.3 安全基线调整必须更新的安全配置SSH加固sed -i s/^#PermitRootLogin.*/PermitRootLogin no/ /etc/ssh/sshd_config echo AllowGroups sysadmin /etc/ssh/sshd_config防火墙策略firewall-cmd --permanent --new-zoneinternal firewall-cmd --permanent --zoneinternal --add-source10.0.0.0/8 firewall-cmd --reload在内网某证券公司的实际部署中这套方案成功将200节点的交易系统从CentOS 7迁移至Rocky 8关键业务中断时间控制在15分钟以内。特别提醒务必在测试环境完整演练至少三次后再实施生产升级不同硬件配置可能导致意外依赖问题。