在 Linux 中,overlay(OverlayFS)常用于容器(Docker、Kubernetes)、Live CD、只读根文件系统等场景。备份 overlay 数据时要区分“底层只读层”“上层可写层”和“工作目录”,否则容易备份错或备份不完整。
下面按使用场景说明备份方法。
典型 overlay 挂载:
mount | grep overlay
输出类似:
overlay on /merged type overlay (
lowerdir=/lower,
upperdir=/upper,
workdir=/work
)
关键目录:
Docker 的 overlay 数据在:
/var/lib/docker/overlay2/
✅ 正确做法:备份容器或卷,而不是 overlay 目录
docker export <container_id> > container.tar
docker run --rm \
-v myvolume:/data \
-v $(pwd):/backup \
busybox tar czf /backup/volume.tar.gz -C /data .
systemctl stop docker
tar czf docker-backup.tar.gz /var/lib/docker
systemctl start docker
如果是 containerd:
/var/lib/containerd/
✅ 推荐:
tar czf overlay-upper.tar.gz -C /upper .
恢复:
tar xzf overlay-upper.tar.gz -C /upper
⚠️ 注意:
如果服务在跑:
systemctl stop yourapp
tar czf overlay-full.tar.gz /upper /lower
systemctl start yourapp
适合大目录:
rsync -aAXH --delete /upper/ /backup/upper/
⚠️ 不建议备份 /work
| 错误做法 | 原因 |
|---|---|
直接 tar /merged |
可能包含重复/挂载点 |
备份 workdir |
临时数据,会破坏 overlay |
| 热备份 running overlay | 数据不一致 |
| 只备份 lowerdir | 没有可写数据 |
upperdir如果你能告诉我:
我可以给你精确的一条命令方案。