Linux 的 OverlayFS(overlay) 常用于容器(Docker、Kubernetes)、Live CD、只读根文件系统等场景。下面按使用场景 + 问题分类总结常见问题和原因。
overlay:旧版本,只支持两层(upper + lower)overlay2:推荐,支持多层 lowerdir,Docker 默认使用✅ 建议:内核 ≥ 4.x,Docker 使用 overlay2
mount: wrong fs type常见原因:
CONFIG_OVERLAY_FS检查:
cat /proc/filesystems | grep overlay
lsmod | grep overlay
错误示例:
overlayfs: workdir is in-use by another mount
规则:
workdir 不能和 upperdir 相同workdir 必须为空目录mount -t overlay overlay \
-o lowerdir=/a:/b,upperdir=/u,workdir=/w /mnt
注意:
/a 覆盖 /b错误:
overlay: the backing xfs filesystem is formatted without d_type support
原因:
ftype=1检查:
xfs_info /var/lib/docker | grep ftype
解决:
mkfs.xfs -n ftype=1 /dev/sdX
原因:
排查:
docker system df
du -sh /var/lib/docker/overlay2/*
清理:
docker system prune -a
原因:
表现:
df -h 看满了
du 看不到大文件
解决:
原因:
排查:
ls -lZ /lower
getenforce
--userns-remap 可能失败原因:
优化:
解决:
| 现象 | 原因 |
|---|---|
| mount: No such device | 内核无 overlay |
| workdir in-use | workdir 被复用 |
| 删除文件还在 | whiteout |
| df 满 du 不大 | upperdir 隐藏 |
| Docker 起不来 | ftype=0 |
| 写文件失败 | lowerdir 只读 |
如果你有具体场景(Docker / K8s / 嵌入式 / Live OS / 自己 mount),可以告诉我,我可以给你更针对性的排查清单。