温馨提示×

怎样备份centos overlay数据

小樊
48
2026-09-18 08:20:31
栏目: 智能运维

在 CentOS 上,“overlay 数据”通常出现在两种场景里:

  1. Docker 的 overlay2 存储驱动数据(最常见)
  2. OverlayFS 文件系统本身(手动挂载的 overlay)

下面分别说明备份方法。


一、备份 Docker overlay2 数据(CentOS 常见)

Docker 默认数据目录:

/var/lib/docker

其中容器和镜像数据主要在:

/var/lib/docker/overlay2

✅ 推荐做法(标准备份方式)

不要直接 cp overlay2,应使用 Docker 自身机制:

1. 备份镜像

docker save -o images.tar $(docker images -q)

2. 备份容器(含数据)

docker export 容器名 > 容器名.tar

或提交为镜像:

docker commit 容器名 备份镜像名
docker save -o 备份镜像名.tar 备份镜像名

3. 备份卷(重要!)

overlay 不含卷数据:

docker run --rm -v 卷名:/data -v $(pwd):/backup busybox \
tar czf /backup/volume.tar.gz -C /data .

⚠️ 如果你必须物理备份 overlay2(不推荐)

先停止 Docker:

systemctl stop docker

再备份:

tar czf docker-overlay2.tar.gz -C /var/lib/docker overlay2

恢复:

systemctl stop docker
tar xzf docker-overlay2.tar.gz -C /var/lib/docker
systemctl start docker

⚠️ 风险:版本不一致、容器运行中会导致数据损坏


二、备份手动挂载的 OverlayFS

如果你是自己用 mount -t overlay:

mount | grep overlay

示例:

overlay on /mnt/merged type overlay

备份“上层可写数据”(最重要)

通常只备份 upperdir:

tar czf overlay-upper.tar.gz /path/to/upperdir

恢复

重新挂载 overlay 即可,无需备份 lowerdir(只读层)


三、总结建议

场景 推荐备份方式
Docker docker save + 卷备份
OverlayFS 只备份 upperdir
整机 /var/lib/docker 停服后备份

如果你是 Docker 还是 Kubernetes / Podman / 自建 overlay,可以告诉我具体环境,我可以给你更精确的命令。

0 踩