在 Debian(或其他 Linux)里,overlay(通常指 overlayfs,或 Docker 的 overlay 存储驱动)本身不是“一个文件”,而是多层目录 + 联合挂载。备份方式取决于你指的是哪一种“overlay”。
下面分情况说。
Docker 默认在 Debian 上使用 overlay2 存储驱动。
❌ 不建议:
cp -a /var/lib/docker/overlay2 /backup
原因:
# 停止 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 非常依赖)
docker composedocker run --rm \
-v mydata:/data \
-v /backup:/backup \
alpine tar czf /backup/mydata.tar.gz -C /data .
例如:
mount -t overlay overlay \
-o lowerdir=/a,upperdir=/b,workdir=/c \
/mnt/merged
你必须分别备份:
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
例如:
overlayroot=tmpfs
一般只需备份:
/etc/home/var如果必须备份 Upper:
mount | grep overlay
# 找到 upperdir 后 rsync
| 场景 | 推荐 |
|---|---|
| Docker | 停服后 rsync /var/lib/docker |
| 手动 overlayfs | 分层备份 lower/upper/work |
| 生产系统 | 用 volume + 应用级备份 |
| 在线备份 | 用 snapshots(LVM / btrfs) |
如果你能告诉我:
我可以给你一条可直接执行的备份脚本。