在 Debian(以及大多数 Linux 发行版)上使用 overlay(OverlayFS)时,通常出现在 Docker 存储驱动、Live CD/USB、initramfs、或 容器/沙箱定制 场景。下面从通用配置注意点和常见使用场景两个层面说明。
OverlayFS 至少包含两个目录:
: 分隔)示例:
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
Debian 默认内核已支持 overlay(≥ 3.18):
lsmod | grep overlay
modprobe overlay
如失败,需确认内核是否裁剪过。
workdir 必须为空workdir 和 upperdir 必须在同一文件系统❌ 错误示例:
upperdir=/mnt/ext4/upper
workdir=/tmp/work # 不同文件系统
✅ 正确:
upperdir=/mnt/overlay/upper
workdir=/mnt/overlay/work
lowerdir=/lower1:/lower2:/lower3
优先级从左到右,左边覆盖右边
Debian 默认不用 SELinux(用 AppArmor):
root 或明确 uid/gidumount /merged
未 umount 就删 upper/work 会出问题。
overlay /merged overlay \
noauto,x-systemd.requires=/upper,lowerdir=/lower,upperdir=/upper,workdir=/work 0 0
注意:
noauto 防止启动失败docker info | grep Storage
/etc/docker/daemon.json:
{
"storage-driver": "overlay2"
}
重启:
systemctl restart docker
⚠ 注意:
overlay(旧版,已弃用)ext4 或 xfsbtrfs 上再套 overlay(性能差)常见于:
overlayfs:/upperdir=/persist/upper:/lowerdir=/filesystem.squashfs
注意:
dmesg | tail
mount | grep overlay
ls -ld /upper /work
Debian 配 overlay,最关键的是:workdir 同文件系统且为空、所有操作走 merged、Docker 用 overlay2、fstab 谨慎写。
如果你能说下你是 Docker / Live USB / 自研容器 / 启动挂载 哪种场景,我可以给你更精确的配置示例。