温馨提示×

CentOS Overlay如何进行备份与恢复

小樊
31
2025-12-21 15:32:54
栏目: 智能运维

CentOS 上 Overlay 备份与恢复实用指南

一、先明确你的 Overlay 类型

  • Docker 的 OverlayFS 存储驱动(overlay2):用于容器镜像与容器可写层的存储,重点备份镜像、容器与卷数据,而非直接拷贝内核挂载点。适用于 CentOS 7/8/Stream 上的容器场景。
  • 系统层面的 OverlayFS 挂载:手工或应用将多个目录叠加为统一视图(如 lowerdir/upperdir/workdir/merged),需按目录结构完整备份与恢复。

二、Docker Overlay2 场景的备份与恢复

  • 备份
    • 停止相关容器或确保一致性窗口:例如先停业务容器,避免运行中写入导致备份不一致。
    • 备份镜像:使用 docker save -o image.tar image:tag 导出镜像归档。
    • 备份容器可写层与配置:使用 docker export -o container.tar container_name 导出容器文件系统快照;如需保留容器配置与元数据,可额外记录 docker inspect 输出。
    • 备份卷与关键数据:对挂载到容器的 Docker 卷与宿主机目录,使用 tar/rsync 完整备份(卷路径可通过 docker inspect 查看 Mounts 字段)。
  • 恢复
    • 恢复镜像:使用 docker load -i image.tar 导入镜像。
    • 恢复容器:优先用编排或 docker run 重建容器(推荐基于镜像和原有运行参数重建,而不是直接导入容器文件系统);若必须使用导出文件系统,可先基于镜像启动新容器,再用 docker cp 或解包归档到目标路径。
    • 恢复卷与数据:将备份归档解压到原卷或宿主机目录,确保 权限与属主一致(如需要,执行 restorecon 修复 SELinux 上下文)。
    • 验证:核对容器运行状态与数据完整性(例如对数据库容器执行简单查询或校验和检查)。

三、系统层面 OverlayFS 挂载的备份与恢复

  • 备份
    • 停止使用该 Overlay 的服务,确保无进程占用。
    • 识别挂载点与目录结构:通过 mount 或查看 /proc/mounts 找到 lowerdir、upperdir、workdir、merged 的实际路径。
    • 完整备份各目录:使用 rsync -atar czvf 分别备份 lower、upper(以及 work 与 merged 若需要),保留权限、属主与时间戳。
  • 恢复
    • 停止服务后,按原路径恢复目录内容(先 upper,再 lower,必要时恢复 work;merged 为运行时视图,通常不需单独恢复)。
    • 重新挂载 OverlayFS:使用 mount -t overlay overlay -o lowerdir=…,upperdir=…,workdir=… merged 挂载回统一视图。
    • 启动服务并校验:确认进程正常、文件一致性与权限正确。

四、通用注意事项与验证清单

  • 一致性与停机窗口:备份期间尽量停止写入或置于维护模式;对数据库等状态服务,先执行 flush/lock 或快照。
  • 权限与 SELinux:备份与恢复全程使用 root 或具备相应能力;恢复后用 restorecon -Rv / 修复 SELinux 类型(如属主/类型变更)。
  • 存储与校验:确保备份目标磁盘空间充足;对关键归档执行 sha256sum 校验;保留多份副本与异地/离线备份。
  • 配置即代码:将 /etc/docker/daemon.json 等配置纳入版本管理与备份,便于快速回滚存储驱动或参数变更。
  • 恢复演练:定期在测试环境演练恢复流程,记录耗时与问题,形成 SOP 与回滚预案。

0