温馨提示×

Debian overlay怎么挂载

小樊
34
2026-07-01 15:50:59
栏目: 智能运维

在 Debian 里,“overlay”通常指 OverlayFS,用来把多个目录叠加成一个统一的挂载点(常见于 Live CD、容器、临时修改根目录等)。下面按常见场景说明 如何挂载 overlay


一、OverlayFS 基本原理

OverlayFS 至少需要两个目录:

  • lowerdir:只读层(可以多个)
  • upperdir:可写层
  • workdir:工作目录(必须为空)
  • merged:最终挂载点
merged
 ├── 来自 upperdir(可写)
 └── 来自 lowerdir(只读)

二、手动挂载 OverlayFS(最常用)

1️⃣ 准备目录

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

假设你已经有:

  • /mnt/overlay/lower (只读)
  • /mnt/overlay/upper(可写)
  • /mnt/overlay/work(工作目录)

2️⃣ 挂载 overlay

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

⚠️ 冒号 : 分隔,/lower1 优先级最高。


四、查看是否支持 overlay

lsmod | grep overlay

如果没有加载:

modprobe overlay

确认内核支持:

uname -r
cat /proc/filesystems | grep overlay

Debian 官方内核 默认支持 overlay


五、写入 /etc/fstab(开机自动挂载)

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

⚠️ 注意:

  • lowerdir / upperdir / workdir 必须在系统启动后存在
  • 不适合太早挂载(如 initramfs 阶段)

六、常见使用场景

✅ 1. 临时修改根目录(Live 系统)

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

✅ 2. chroot + overlay

mount -t overlay overlay -o lowerdir=/realroot,upperdir=/rw,workdir=/work /target
chroot /target

✅ 3. Docker / Podman 底层原理

Docker 默认使用 overlay2(基于 OverlayFS)。


七、常见问题

❌ workdir 不为空

overlayfs: workdir is in-use

✅ 解决:清空 workdir 或换目录

❌ lowerdir 不存在

mount: wrong fs type, bad option

✅ 检查路径是否存在


八、卸载 overlay

umount /mnt/overlay/merged

如果你能说明 具体用途(比如:

  • 给根目录做 overlay
  • 给 Docker / LXC
  • 给 Live Debian
  • 给嵌入式系统

我可以给你 更精确的挂载方案

0