温馨提示×

如何挂载ubuntu overlay

小樊
46
2026-10-12 15:23:31
栏目: 智能运维

在 Ubuntu 中,“挂载 overlay”通常指使用 OverlayFS(overlay filesystem),把多个目录(如 upper、lower、work)合并成一个统一视图。下面按常见场景说明。


一、OverlayFS 基本概念

OverlayFS 至少需要:

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

二、手动挂载 OverlayFS(推荐理解原理)

1. 创建目录结构

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

2. 准备示例内容

echo "lower file" | sudo tee /mnt/overlay/lower/file.txt
echo "upper file" | sudo tee /mnt/overlay/upper/file.txt

3. 挂载 overlay

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

4. 查看挂载结果

ls /mnt/overlay/merged
cat /mnt/overlay/merged/file.txt

upper 层会覆盖 lower 层同名文件

5. 卸载

sudo umount /mnt/overlay/merged

三、多 lowerdir(只读层叠加)

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

顺序:越靠后优先级越高


四、开机自动挂载(/etc/fstab)

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

或一行写法:

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

五、容器 / Live 系统常见用法(Ubuntu Live + 持久化)

典型结构:

lowerdir=/filesystem.squashfs
upperdir=/casper-rw/upper
workdir=/casper-rw/work

六、常见问题

1. workdir 必须为空

mount: wrong fs type, bad option, bad superblock

✅ 解决:清空 workdir

2. upperdir 和 workdir 必须同文件系统

不能跨磁盘/分区

3. 不能嵌套 overlay 太多层

否则性能下降


七、查看是否已挂载

mount | grep overlay

如果你是指:

  • Docker overlay2
  • Ubuntu Live USB overlay
  • systemd 挂载 unit
  • 只读根文件系统 + 可写层

可以告诉我具体场景,我可以给你更精确的配置。

0 踩