温馨提示×

debian overlay怎么设置

小樊
34
2026-09-13 16:44:42
栏目: 智能运维

在 Debian 里,overlay 通常指 OverlayFS(叠加文件系统),常用于 Live CD、容器、或者把只读根文件系统叠加一个可写层。下面按常见场景给你说明怎么“设置”。


一、OverlayFS 基本概念

OverlayFS 至少需要两个目录:

  • lowerdir:只读层(可以是多个,用 : 分隔)
  • upperdir:可写层(必须是单一目录,且和 workdir 同文件系统)
  • workdir:工作目录(OverlayFS 内部使用,不能和 upper/lower 相同)

挂载后看到一个 merged 目录,是上下层合并后的视图。


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

假设你有:

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

1. 创建目录

mkdir -p /lower /upper /work /merged

2. 挂载

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

3. 查看

mount | grep overlay

4. 卸载

umount /merged

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

编辑 /etc/fstab

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

然后:

mount -a

⚠ 注意:

  • /upper/work 必须在同一个文件系统
  • Debian 内核一般已支持 overlay(≥ 3.18)

四、Debian Live 系统里的 Overlay(常见场景)

Debian Live(如 live-boot)默认就是:

lowerdir = squashfs (只读)
upperdir = tmpfs / overlay (内存或磁盘)

如果你是自己做的 Live 系统,一般只需要:

  • 使用 live-boot
  • 内核参数加:
    boot=live
    

五、Docker / 容器里的 Overlay

Debian 上 Docker 默认存储驱动就是 overlay2

查看:

docker info | grep Storage

如果是 overlay2 就说明已经用上了,无需手动设置。


六、常见问题

1. 报错:upperdir and workdir must be on same filesystem

✅ 把 upper 和 work 放到同一分区

2. 多个 lowerdir

lowerdir=/a:/b:/c

(优先级从左到右)

3. 只读 overlay(无 upper)

mount -t overlay overlay -o lowerdir=/a:/b /merged

七、如果你指的是别的“overlay”

Debian 里 “overlay” 还可能指:

  • network overlay(如 VXLAN)
  • apt overlay repo
  • GUI overlay(如 gamescope)

如果你能说一下你是:

  • 做 Live 系统?
  • 容器?
  • 根文件系统只读?
  • 网络?

我可以直接给你对应场景的完整配置示例

0