in-place upgarde含义

1. In-Place Upgrade 的准确含义

1.1 字面拆解

  • In-Place:在原地、不挪窝
  • Upgrade:升级系统版本

合在一起只有一个意思:

在同一台机器、同一套系统盘、同一套配置上,直接把操作系统从旧版本升级到新版本

不新装、不迁移、不重建。


2. In-Place Upgrade 实际在干什么

2.1 它不是“yum update”

很多人误以为是“大号升级版 yum”,这是危险误解。

In-Place Upgrade 实际过程是:

  1. 保留:

    • /etc(系统配置)
    • /var(数据、日志、数据库)
    • 用户、UID、服务状态
  2. 整体替换

    • glibc
    • systemd
    • kernel
    • openssl
    • Python / Perl / Ruby 运行时
  3. 同一个 root filesystem 上完成

本质是一场 活体换骨手术


3. 用一句工程化比喻理解

In-Place Upgrade ≈
高速运行中的服务器,边跑业务,边把心脏、神经系统、血液类型全换掉

能成功,但前提极其苛刻。


4. In-Place Upgrade 的必要前提(缺一不可)

4.1 发行版必须官方支持

  • 内核 ABI
  • RPM 包迁移规则
  • GPG 签名信任链
  • 系统服务兼容性矩阵

这就是 Leapp 为什么“只认 RHEL”


4.2 版本跨度必须受控

升级跨度 风险
7 → 8
8 → 9
9 → 10 极高【不怎么支持】
跨发行版 不可控

4.3 机器角色必须简单

适合

  • 纯计算节点
  • 单一服务节点
  • 无复杂第三方 RPM

不适合

  • DB 节点
  • 容器宿主机
  • 安全合规环境
  • 长期演进过的“老祖宗系统”

5. In-Place Upgrade 不等于“省事”

5.1 成功 ≠ 安全

成功只说明:

  • 系统能 boot
  • rpm 没炸

不代表:

  • 应用没隐患
  • 性能没回退
  • 行为没变化

5.2 失败的代价

项目 结果
回滚 极难
定位问题 极慢
数据恢复 高风险
审计 不可解释

这也是为什么 SRE 圈有一句老话:

In-Place Upgrade 是在赌历史不会反噬你