整体来说,Linux Overlay(OverlayFS)本身并不难,尤其是只做基础挂载和容器/目录合并使用时;但如果你要做生产级、复杂场景(多层叠加、写时复制策略、权限/SELinux、性能调优、故障排查),还是有一些坑需要注意。
下面分层说一下:
OverlayFS 是一种联合文件系统,核心概念只有几个:
lowerdir:只读层(可以多个)upperdir:可写层workdir:工作目录(必须和 upper 同文件系统)merged:最终看到的统一目录典型用途:
mkdir -p /ovl/{lower,upper,work,merged}
mount -t overlay overlay \
-o lowerdir=/ovl/lower,upperdir=/ovl/upper,workdir=/ovl/work \
/ovl/merged
✅ 这就完成了
✅ 难度:很低
lowerdir=/a:/b:/c
注意:
常见问题:
permission deniedupperdir 不能是 NFS / FAT❌ 错误示例:
upperdir=/mnt/usb/upper
workdir=/tmp/work
必须:
upper 和 work 在同一文件系统
whiteout 文件(不是真删)| 场景 | 难度 |
|---|---|
| Docker 自动用 overlay | ⭐ |
| 手动 mount overlay | ⭐⭐ |
| 多层 + 权限控制 | ⭐⭐⭐ |
| 定制 rootfs + overlay | ⭐⭐⭐⭐ |
✅ 先试:
lower + upper + merged
✅ 再试:
✅ 别一上来就搞:
Overlay 配置本身不难,难的是“理解它的行为”和“踩文件系统/权限的坑”。
如果你愿意,可以告诉我:
我可以直接给你一份最合适你的配置示例。