包头企业Linux服务器系统迁移实战:CentOS停服后的Rocky Linux升级方案

引言:CentOS停服带来的紧迫挑战

2026年7月,包头昆区某医疗设备公司IT部门面临一个棘手问题:公司运行的6台CentOS 7服务器将于月底完全停止安全更新。这些服务器承载着公司的HIS(医院信息系统)接口服务、PACS影像存储和OA系统,迁移工作刻不容缓。本文详细记录我们将CentOS 7平滑迁移到Rocky Linux 9的全过程。

一、迁移背景与风险评估

1.1 现有环境

该公司6台CentOS 7服务器的角色和配置:

  • Server-01:HIS接口服务(Java 8 + Tomcat 8.5),4核16G,500G SAS
  • Server-02:MySQL 5.7主库,8核32G,2T SAS RAID1
  • Server-03:MySQL 5.7从库 + Redis 6,8核32G,2T SAS RAID1
  • Server-04:PACS影像存储(Nginx + MinIO),8核16G,10T SATA RAID5
  • Server-05:OA系统(PHP 7.4 + Nginx),4核8G,500G SAS
  • Server-06:监控+日志(Prometheus + Grafana + Loki),4核8G,1T SATA

1.2 风险评估

从CentOS 7迁移到Rocky Linux 9涉及多个维度变化:

维度 CentOS 7 Rocky Linux 9 风险等级
内核版本 3.10 5.14
glibc版本 2.17 2.34
OpenSSL 1.0.2 3.0
Python 2.7/3.6 3.9
MySQL 5.7 需升级到8.0
PHP 7.4 8.1
防火墙 iptables/firewalld nftables/firewalld

二、迁移方案设计

2.1 迁移策略选择

我们评估了三种方案:

  1. 原地升级(in-place upgrade):使用Leapp工具直接在原服务器上升级。风险:如果升级失败,回退困难
  2. 新建并行+数据迁移:搭建Rocky Linux 9新服务器,部署应用后迁移数据。风险:需要额外硬件,切换窗口要求精确
  3. 虚拟化迁移:将物理机P2V到虚拟化平台,再在虚拟化环境做升级。风险:性能可能有损耗

最终选择方案2(新建并行+数据迁移),因为:医疗系统对稳定性要求极高,新建并行可以在切换前充分测试,出问题可快速回退到旧系统。

2.2 迁移窗口规划

分3个批次迁移,每批次2台服务器:

  • 批次1(7月第2周):Server-05(OA)+ Server-06(监控)— 非核心系统先行
  • 批次2(7月第3周):Server-01(HIS接口)+ Server-04(PACS存储)— 业务系统
  • 批次3(7月第4周):Server-02(MySQL主)+ Server-03(MySQL从)— 数据库最后迁移

三、关键迁移步骤

3.1 系统基础环境部署

新服务器安装Rocky Linux 9.4 Minimal,基础配置:

# 系统更新
dnf update -y

# 安装常用工具
dnf install -y vim wget curl tar zip unzip net-tools bind-utils   htop iotop sysstat chrony rsync firewalld

# 时间同步
systemctl enable --now chronyd

# SELinux配置(医疗系统保持enforcing)
getenforce  # 确认Enforcing

# 内核参数优化
cat >> /etc/sysctl.conf << EOF
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
vm.swappiness = 10
vm.max_map_count = 262144
EOF
sysctl -p

3.2 MySQL 5.7 → 8.0 迁移

这是本次迁移难度最大的部分。主要变化:

  • 认证插件从mysql_native_password变为caching_sha2_password
  • 字符集默认从latin1变为utf8mb4
  • 部分SQL语法变更(如GROUP BY更严格)
  • 系统表结构变化

迁移步骤:

  1. 在Rocky Linux 9上安装MySQL 8.0:dnf install mysql-server
  2. 修改my.cnf配置,设置default-authentication-plugin=mysql_native_password(兼容旧应用)
  3. 使用mysqldump导出CentOS 7上的数据:mysqldump --single-transaction --routines --triggers --all-databases > full_dump.sql
  4. 在MySQL 8.0上导入:mysql < full_dump.sql
  5. 运行mysql_upgrade检查系统表(MySQL 8.0已内置)
  6. 使用MySQL Shell的Upgrade Checker工具验证兼容性

关键问题处理:HIS系统的JDBC连接串需要添加useSSL=false&allowPublicKeyRetrieval=true参数,否则无法连接MySQL 8.0。

3.3 Java应用迁移

HIS接口服务从Java 8迁移到Java 11(Rocky Linux 9默认OpenJDK 11):

  • 安装OpenJDK 11:dnf install java-11-openjdk-devel
  • Tomcat升级到9.0版本(Tomcat 8.5在Java 11上可运行但已停止支持)
  • 修改catalina.sh中的JVM参数,增加--add-opens参数解决模块化兼容问题
  • 检查所有依赖库兼容性:jackson、log4j、Spring等均需要升级到支持Java 11的版本

3.4 PACS影像存储迁移

MinIO对象存储迁移约8TB医学影像数据:

  1. 新服务器部署MinIO集群(分布式模式,4节点)
  2. 使用mc(MinIO Client)的mirror命令同步数据:mc mirror --watch source/dest/
  3. 同步完成后校验:mc diff source/dest/
  4. Nginx配置更新,upstream指向新MinIO地址

四、切换与验证

4.1 切换流程

每次批次切换在凌晨2:00-6:00进行:

  1. 停止旧服务器应用服务
  2. 最后一次增量数据同步(rsync/MySQL主从同步)
  3. DNS解析切换到新服务器IP
  4. 启动新服务器应用,执行冒烟测试
  5. 监控1小时无异常后通知业务部门验证

4.2 验证检查清单

  • 功能验证:核心业务流程走通(挂号、检查、报告等)
  • 性能验证:JMeter压测,响应时间与旧系统对比偏差<10%
  • 安全验证:nmap扫描端口,确认无多余开放端口
  • 日志验证:检查应用日志无Error级别异常
  • 备份验证:新服务器备份任务正常运行

五、迁移后优化

迁移完成后,我们进行了多项性能优化:

  • MySQL性能调优:innodb_buffer_pool_size设置为物理内存的70%(22GB),启用innodb_dedicated_server自适应配置
  • SSD替换:将Server-02的SAS硬盘替换为企业级SSD,数据库写入性能提升3倍
  • Redis持久化优化:RDB+AOF混合持久化,AOF重写策略调整为everysec
  • 系统安全加固:配置CIS Benchmark基线,部署auditd审计,配置fail2ban防暴破

结语

CentOS停服是很多企业面临的紧迫问题。系统迁移不仅仅是OS版本的升级,更涉及数据库、中间件、应用层的全面兼容性适配。不舍昼夜技术在包头昆区、青山区、稀土高新区等地提供专业的Linux服务器运维和迁移服务。技术热线:17704868686

【不舍昼夜技术 · 包头IT一站式服务】

电脑/服务器:重装系统、硬件升级、服务器Linux/Windows环境部署

数据安全:硬盘/U盘/数据库数据恢复、网络安全加固、病毒清理

弱电安防:监控安装、机房建设、综合布线、门禁人脸识别

办公耗材:打印机维修、硒鼓墨盒配送、复印机租赁

软件开发:企业官网、小程序开发、APP定制、ERP系统


服务单位:内蒙古不舍昼夜技术有限公司
业务涵盖:电脑维修/系统重装/数据恢复/监控安防/弱电布线/打印耗材
技术热线:17704868686(包头本地团队,随叫随到!)

上一篇 包头昆区餐饮连锁小程序开发实战:从需求分析到上线运营全流程拆解
下一篇 包头企业软件正版化整改实战指南:操作系统与办公软件合规化全流程