一、升级前的关键准备工作
1.1 数据备份黄金法则
• 使用tar -zcvf backup_$(date +%Y%m%d).tar.gz /etc /home /var创建关键目录压缩包
• 通过mysqldump -u root -p --all-databases > sql_backup.sql备份数据库
• 云平台快照功能不可忽视,阿里云/腾讯云均提供系统盘快照服务
1.2 系统状态检查清单
• 磁盘空间:df -h确保至少有20%剩余空间
• 服务依赖:systemctl list-unit-files | grep enabled记录关键服务
• 网络配置:ip addr show保存当前网络参数
二、主流发行版升级实操指南
2.1 CentOS/RHEL系列升级
小版本升级(如7.9→7.10)
sudo yum clean all
sudo yum update --exclude=kernel*
大版本升级(如7→8)需使用
leapp-upgrade工具,特别注意:• 提前安装EPEL仓库
• 运行
leapp preupgrade检查兼容性• 处理评估报告中的风险项
2.2 Ubuntu/Debian系列升级
LTS版本升级(如20.04→22.04)
sudo apt update
sudo apt dist-upgrade
sudo do-release-upgrade -d
注意事项:• 修改
/etc/update-manager/release-upgrades中的Prompt参数• 建议通过
screen会话执行长期操作
三、升级后的必须验证步骤
- 基础功能验证:
uname -r检查内核版本 - 服务状态检查:
systemctl --failed查看异常服务 - 网络连通测试:
curl -I https://example.com - 性能基准对比:
sysbench cpu run
四、常见问题解决方案
| 问题现象 | 解决方案 |
|---|---|
| 依赖冲突 | 使用yum history undo或apt-mark hold |
| 引导失败 | 通过LiveCD修复GRUB引导 |
| 网卡识别异常 | 重新生成udev规则 |
五、专家级升级策略
5.1 蓝绿部署方案
• 创建克隆实例进行升级测试
• 使用负载均衡实现流量切换
• DNS权重调整实现灰度发布
5.2 容器化迁移方案
• 将传统服务改造为Docker容器
• 通过Kubernetes实现滚动更新
• 利用kubectl rollout undo快速回滚
最佳实践建议
- 选择业务低谷期执行升级操作
- 建立完整的回滚预案(平均回滚时间应<15分钟)
- 监控系统至少观察72小时
- 更新文档记录变更细节
