在 Linux 中,“overlay” 通常有两种常见含义,备份方式也不同:
OverlayFS 常用于容器(Docker)、Live CD、嵌入式系统等,结构是:
lowerdir(只读层)
upperdir(可写层)
workdir(工作目录)
merged(挂载后的统一视图)
如果你只关心“改动部分”:
tar czvf overlay_upper.tar.gz -C /path/to/upperdir .
恢复:
tar xzvf overlay_upper.tar.gz -C /path/to/upperdir
✅ 优点:体积小
❌ 不包含 lowerdir 内容
如果你要完整备份“看到的内容”:
tar czvf overlay_merged.tar.gz -C /mnt/overlay .
恢复:
tar xzvf overlay_merged.tar.gz -C /mnt/overlay
⚠ 注意:不要在 merged 内同时写数据,避免不一致
rsync -aHAX --delete /path/to/upperdir/ /backup/overlay_upper/
Docker 默认使用 overlay2 存储驱动。
docker commit <container> backup_image
docker save backup_image > backup.tar
恢复:
docker load < backup.tar
systemctl stop docker
tar czvf docker_overlay2.tar.gz /var/lib/docker/overlay2
systemctl start docker
⚠ 必须停止 Docker,否则数据可能损坏
如果你说的是网络 overlay(如 VXLAN):
# iptables
iptables-save > iptables.rules
# nftables
nft list ruleset > nft.rules
✅ 备份前停止写入
✅ 优先备份 upperdir 或 merged
✅ 容器环境优先用 docker commit/save
✅ 定期校验备份完整性
如果你能补充说明:
我可以给你更精确的备份脚本。