温馨提示×

Debian Overlay如何挂载

小樊
49
2026-08-25 07:52:39
栏目: 智能运维

在 Debian 中,“Overlay”通常指 OverlayFS,一种联合文件系统,常用于 Live CD、容器(如 Docker)或临时修改根文件系统。下面按常见场景说明 如何挂载 OverlayFS


一、OverlayFS 基本概念

OverlayFS 至少需要两个目录:

  • lowerdir:只读层(一个或多个)
  • upperdir:可写层(只能有一个)
  • workdir:工作目录(必须为空,和 upperdir 在同一文件系统)
  • merged:最终挂载点(合并后的视图)

二、手动挂载 OverlayFS(推荐方式)

1️⃣ 准备目录

mkdir -p /mnt/overlay/{lower,upper,work,merged}

示例用途:

  • /mnt/overlay/lower:原始系统或只读目录
  • /mnt/overlay/upper:写入修改
  • /mnt/overlay/work:OverlayFS 内部使用
  • /mnt/overlay/merged:最终访问目录

2️⃣ 挂载 OverlayFS

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

✅ 成功后:

  • /mnt/overlay/merged 的写操作会进入 upperdir
  • lowerdir 始终保持只读

三、多 lowerdir(层叠)

mount -t overlay overlay \
  -o lowerdir=/lower1:/lower2:/lower3,upperdir=/upper,workdir=/work \
  /merged

注意:最左边优先级最高


四、使用 /etc/fstab 自动挂载

编辑 /etc/fstab

overlay /mnt/overlay/merged overlay defaults,lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0

然后执行:

mount -a

五、常见应用场景

✅ 1. 临时修改根文件系统(Live 系统)

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

然后 switch_root 或 chroot 到 /newroot


✅ 2. 容器 / Docker 风格

Docker 默认使用 OverlayFS(overlay2):

docker info | grep -i storage

无需手动挂载,Docker 自动管理。


六、常见问题排查

❌ workdir 非空

overlayfs: workdir is in-use

✅ 解决:清空 workdir


❌ upperdir 与 workdir 不在同一文件系统

overlayfs: upperdir and workdir not on same filesystem

✅ 解决:放在同一分区


❌ 内核不支持 OverlayFS

lsmod | grep overlay
modprobe overlay

Debian 官方内核通常已启用。


七、查看是否已挂载

mount | grep overlay
cat /proc/mounts | grep overlay

八、卸载 OverlayFS

umount /mnt/overlay/merged

如果你有具体使用场景(如:

  • 启动阶段 overlay 根目录
  • 修改 Debian Live
  • 在 initramfs 中使用
  • 和 systemd 结合

可以告诉我,我可以给你更精确的配置示例。

0