温馨提示×

ubuntu overlay怎么挂载

小樊
39
2026-09-27 23:40:32
栏目: 智能运维

在 Ubuntu 中,**overlay(OverlayFS)**常用于容器、Live CD、只读根文件系统等场景。下面按常见使用方式说明如何挂载。


一、基本挂载方式(命令行)

OverlayFS 至少需要:

  • lowerdir:只读层(可以多个,用 : 分隔)
  • upperdir:可写层(必须可读写)
  • workdir:工作目录(必须与 upperdir 同文件系统)
  • merged:最终挂载点

示例

# 创建目录
mkdir -p /mnt/lower /mnt/upper /mnt/work /mnt/merged

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

/mnt/merged 就是你要访问的统一视图


二、多 lowerdir(层叠)

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

⚠️ 注意顺序:
越靠前的 lowerdir 优先级越高


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

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

或显式写:

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

四、Docker / 容器场景(自动使用)

Docker 默认就用 overlay2:

docker info | grep Storage

Ubuntu 一般无需手动挂载。


五、常见错误

1. workdir 和 upperdir 不在同一文件系统

overlayfs: workdir and upperdir must be same filesystem

✅ 解决:放在同一个分区

2. upperdir 是只读

read-only file system

✅ 解决:确保 upperdir 可写

3. 内核不支持

cat /proc/filesystems | grep overlay

如无输出:

modprobe overlay

六、卸载

umount /mnt/merged

如果你是想:

  • 给 Ubuntu Live USB 加持久化
  • 用 overlay 保护根文件系统
  • 在 容器 / Kubernetes 里用

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

0 踩