温馨提示×

怎么备份centos overlay

小樊
36
2026-10-12 00:55:20
栏目: 智能运维

在 CentOS 中,overlay(通常指 OverlayFS,或 Docker 使用的 overlay/overlay2 存储驱动)的“备份”方式,取决于你指的是哪一种 overlay 场景。下面按常见情况说明。


一、如果你是备份 Docker 的 overlay/overlay2 数据(最常见)

Docker 默认在 CentOS 上使用 overlay2 存储驱动,数据一般在:

/var/lib/docker/overlay2

✅ 推荐做法(正确姿势)

不要直接 cp overlay2 目录,而应:

1. 备份镜像和容器(官方方式)

# 导出镜像
docker save -o images.tar $(docker images -q)

# 导出容器
docker export -o container.tar <container_id>

或对所有容器:

for c in $(docker ps -aq); do
  docker export -o $c.tar $c
done

2. 备份 Docker 卷(volume)

docker run --rm -v <volume_name>:/data -v /backup:/backup busybox \
  tar cvf /backup/volume.tar /data

3. 停止 Docker 后整盘备份(可选)

systemctl stop docker
tar czvf docker-backup.tar.gz /var/lib/docker
systemctl start docker

⚠️ 必须在 Docker 停止时做,否则数据不一致。


二、如果你是备份 OverlayFS 挂载点(手动 mount 的 overlay)

例如你手动挂载了:

mount -t overlay overlay \
  -o lowerdir=/lower,upperdir=/upper,workdir=/work \
  /merged

✅ 备份方法

你只需要备份:

  • upperdir(写层)
  • workdir(临时层,可不备份但建议一起)
  • lowerdir 如果是你自己管理的,也要备份
tar czvf overlay-backup.tar.gz /upper /work

或者直接备份 /merged(最终视图):

rsync -a /merged/ /backup/merged/

⚠️ 不建议在挂载状态下直接 tar upperdir,最好先 umount。


三、如果你是 CentOS 系统层用了 overlay(如 LiveOS / 原子系统)

这类系统通常是只读底 + 可写层:

/ (overlay)
├── lowerdir=/mnt/sysroot
├── upperdir=/var/lib/overlay

备份方式

# 查看 overlay 挂载
mount | grep overlay

# 备份 upperdir
tar czvf overlay-upper.tar.gz /var/lib/overlay

四、常见错误 ❌

  • ❌ 直接 cp -r /var/lib/docker/overlay2
  • ❌ 在 Docker 运行时热备份
  • ❌ 只备份 merged 视图就以为完事

五、总结建议

场景 推荐备份
Docker docker save + volume 备份
手动 overlay 备份 upperdir
系统 overlay 备份 upperdir

如果你能告诉我:

  • 是 Docker 还是 手动 overlay
  • CentOS 版本(7 / 8 / Stream)
  • 是否运行中的服务

我可以给你精确的一条命令备份方案。

0 踩