温馨提示×

怎样备份ubuntu overlay

小樊
47
2026-10-09 17:21:32
栏目: 智能运维

在 Ubuntu 中,“overlay” 通常指 OverlayFS(联合文件系统),常用于容器(Docker)、Live CD、或自定义系统层。备份 OverlayFS 不能像普通分区那样直接 dd,需要根据 你使用 overlay 的场景 来处理。

下面按常见场景说明。


一、先确认你的 overlay 结构

OverlayFS 一般有:

  • lowerdir:只读层(不可修改)
  • upperdir:可写层(所有修改都在这里)
  • workdir:工作目录(内核内部用)
  • merged:挂载后的统一视图

示例挂载:

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

二、不同场景的备份方法

场景 1:只备份“改动内容”(最常见 ✅)

最推荐方式:只备份 upperdir

tar -czvf overlay_upper_backup.tar.gz /upper

恢复:

tar -xzvf overlay_upper_backup.tar.gz -C /

✅ 优点:

  • 体积小
  • 不包含只读层
  • 适合 Docker / 系统叠加层

场景 2:备份整个 merged 视图(含 lower + upper)

如果你需要“看到的最终系统”:

rsync -aAXH /merged/ /backup/merged/

或:

tar -czvf merged_backup.tar.gz -C /merged .

⚠ 注意:

  • 会包含 lowerdir 内容
  • 恢复时可能需要重新拆分层

场景 3:Docker 使用的 overlay(最常见)

Docker 默认存储驱动就是 overlay2。

查看 Docker 根目录

docker info | grep -i root

通常是:

/var/lib/docker

正确备份方式 ✅

停止 Docker 后备份

systemctl stop docker
tar -czvf docker_backup.tar.gz /var/lib/docker
systemctl start docker

或使用:

rsync -aAXH /var/lib/docker /backup/

❌ 不要只拷 /var/lib/docker/overlay2 而不带 metadata


场景 4:Live USB / 持久化 overlay

常见于 Ubuntu Live + persistence

备份:

rsync -aAXH /upper/ /backup/persistence/

恢复时重新挂载 overlay 即可


三、不要这样做 ❌

  • ❌ 直接 dd overlay 挂载点
  • ❌ 只备份 merged 而不记录 lower
  • ❌ 热备份 Docker 不停止服务(容易损坏)

四、恢复示例(upper 层)

umount /merged
rm -rf /upper/*
tar -xzvf overlay_upper_backup.tar.gz -C /
mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /merged

五、如果你愿意,我可以更精确帮你

请告诉我:

  1. overlay 用在哪?(Docker / 系统 / Live USB / 自定义)
  2. Ubuntu 版本
  3. 是否正在运行服务

我可以直接给你 可复制执行的备份脚本。

0 踩