温馨提示×

centos overlay怎么回滚

小樊
48
2026-10-03 06:16:30
栏目: 智能运维

在 CentOS 里提到 overlay,通常有两种常见场景,回滚方式不同:


一、如果是 OverlayFS(文件系统层面)

例如:

  • Docker 使用的 overlay2
  • 手动 mount -t overlay

特点

OverlayFS 本身不支持“回滚”,因为它是联合挂载,不修改底层(lower)只读层。

回滚思路

  1. 停止使用该 overlay
umount /your/overlay/mountpoint
  1. 恢复底层数据
  • 如果是 Docker:
    • 回滚镜像或容器
    docker rollback <container>   # 不存在,需要重新跑旧镜像
    docker run old_image
    
  • 如果是手动 overlay:
    • 直接修改 lowerdir 中的原始文件
    • 或重新构建 overlay 目录

✅ 结论:OverlayFS 没有“事务回滚”,只能重建或恢复底层数据。


二、如果是 CentOS 使用 yum/dnf 的 overlay 软件包更新

例如:

  • 通过 yum / dnf 安装软件
  • 系统启用了 dnf history

回滚方法(推荐)

dnf history

找到对应的事务 ID(如 20)

dnf history undo 20

或

dnf history rollback 20

参数区别:

  • undo:只撤销某一次操作
  • rollback:回滚到该操作之前的状态

三、如果是 CentOS 使用 LVM + Overlay

例如:

  • 快照 + overlay

回滚方式

lvconvert --merge /dev/vg00/snap01

然后重启系统。


四、如果是 Kubernetes / OpenShift 的 Overlay 网络

例如:

  • flannel / ovn overlay 网络

回滚方式

  • 修改 CNI 配置
  • 或重装网络插件
kubectl delete -f flannel.yaml
kubectl apply -f flannel-old.yaml

总结

场景 是否可回滚 方式
OverlayFS ❌ 重建 / 恢复底层
dnf/yum ✅ dnf history undo
LVM 快照 ✅ lvconvert --merge
K8s overlay ✅ 重装 CNI

如果你能补充:

  • CentOS 版本(7 / 8 / Stream)
  • overlay 用在哪(Docker / 系统 / K8s)

我可以给你更精确的操作命令。

0 踩