温馨提示×

debian overlay怎么备份

小樊
37
2026-09-10 13:40:21
栏目: 智能运维

在 Debian(或其他 Linux)里,overlay(通常指 overlayfs,或 Docker 的 overlay 存储驱动)本身不是“一个文件”,而是多层目录 + 联合挂载。备份方式取决于你指的是哪一种“overlay”。

下面分情况说。


一、你指的是 Docker 的 overlay / overlay2(最常见)

Docker 默认在 Debian 上使用 overlay2 存储驱动。

1️⃣ 正确做法:不要直接 cp overlay 目录

❌ 不建议:

cp -a /var/lib/docker/overlay2 /backup

原因:

  • 正在运行的容器会写数据
  • 硬链接、whiteout 文件可能丢失
  • 元数据不一致

✅ 推荐方式

方法 A:Docker 官方备份方式(最安全)

# 停止 docker
systemctl stop docker

# 备份整个数据目录
tar -czpf docker-backup.tar.gz /var/lib/docker

# 或 rsync
rsync -aHAX /var/lib/docker/ /backup/docker/

# 启动 docker
systemctl start docker

-H 保留硬链接(overlay2 非常依赖)

方法 B:只备份重要数据(推荐生产环境)

  • 容器配置:docker compose
  • 业务数据:使用 volume
  • 备份 volume:
docker run --rm \
  -v mydata:/data \
  -v /backup:/backup \
  alpine tar czf /backup/mydata.tar.gz -C /data .

二、你指的是 Linux overlayfs(手动 mount)

例如:

mount -t overlay overlay \
  -o lowerdir=/a,upperdir=/b,workdir=/c \
  /mnt/merged

备份重点

你必须分别备份:

  • lowerdir(只读层)
  • upperdir(写层)
  • workdir(临时层)
rsync -aHAX /a /backup/lower
rsync -aHAX /b /backup/upper
rsync -aHAX /c /backup/work

恢复时再重新 mount:

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

三、你指的是 Debian 的“overlay rootfs”(live / 嵌入式)

例如:

overlayroot=tmpfs

备份方式

一般只需备份:

  • /etc
  • /home
  • /var
  • 自定义服务

如果必须备份 Upper:

mount | grep overlay
# 找到 upperdir 后 rsync

四、总结建议

场景 推荐
Docker 停服后 rsync /var/lib/docker
手动 overlayfs 分层备份 lower/upper/work
生产系统 用 volume + 应用级备份
在线备份 用 snapshots(LVM / btrfs)

如果你能告诉我:

  • Docker 还是 系统 overlay
  • Debian 版本
  • 是否生产环境

我可以给你一条可直接执行的备份脚本

0