温馨提示×

如何挂载debian overlay

小樊
37
2026-09-07 15:05:51
栏目: 智能运维

在 Debian 中,overlay(OverlayFS)通常用来把多个目录“叠加”成一个统一视图,常用于 Live CD、容器、或者临时修改只读文件系统。

下面按常见使用场景说明 如何挂载 Debian 上的 overlay


一、前提条件

  1. 内核支持 overlay

    lsmod | grep overlay
    

    如果没有,可加载:

    sudo modprobe overlay
    
  2. 需要的目录

    • lowerdir(只读层,可多个,用 : 分隔)
    • upperdir(可读写层)
    • workdir(工作目录,必须和 upperdir 同文件系统)

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

示例结构

/mnt/lower      # 只读目录
/mnt/upper      # 可写目录
/mnt/work       # 工作目录
/mnt/merged     # 挂载点

创建目录

sudo mkdir -p /mnt/lower /mnt/upper /mnt/work /mnt/merged

挂载

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

验证

mount | grep overlay

三、多个 lowerdir(层层叠加)

sudo 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 \
  noauto,x-systemd.automount,lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work 0 0

或(传统方式):

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

五、在 Debian Live / 启动阶段使用 overlay

Debian Live 系统本身就用 overlay:

  • boot=live
  • 自动把 filesystem.squashfs 作为 lowerdir
  • 内存或持久化分区作为 upperdir

如果你想 自定义持久化

persistence

并在持久化分区中创建:

/union

以及 persistence.conf

/ union

六、容器/Docker 中的 overlay

Debian 上 Docker 默认使用:

overlay2

查看:

docker info | grep Storage

一般不需要手动挂载。


七、常见问题

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

❌ 错误:

workdir=/tmp/work
upperdir=/mnt/upper

✅ 正确:

upperdir=/mnt/upper
workdir=/mnt/work

2. 卸载

sudo umount /mnt/merged

3. Debian 版本支持

  • Debian 9+:完全支持
  • Debian 8:需要 backports 内核

如果你能说明 具体用途(如:Live 系统、容器、只读根文件系统、调试系统),我可以给你更精确的 overlay 配置方案。

0