在 CentOS 上使用 OverlayFS(overlay) 时(常见于 Docker、Kubernetes、容器存储、或者手动 mount overlay),排查错误可以按下面思路一步步来。
常见场景:
mount -t overlay overlay -o lowerdir=...,upperdir=...,workdir=... /mnt
常见报错:
mount: wrong fs type, bad option, bad superblockoverlay: workdir and upperdir must be on same filesystemtoo many levels of symbolic links✅ 排查步骤:
dmesg | tail
journalctl -xe
Overlay 的详细错误 几乎都在内核日志里。
错误示例:
overlayfs: upperdir and workdir must reside under the same mount
✅ 解决:
df -h upperdir workdir
Overlay 要求:
workdir 必须为空目录upperdir 可以不为空ls -la workdir
ls -ld lowerdir
注意:
: 分隔)CentOS 默认开启 SELinux,容易出问题。
查看:
getenforce
临时验证:
setenforce 0
如问题解决:
semanage fcontext -a -t container_file_t '/data(/.*)?'
restorecon -Rv /data
现象:
docker ps 卡住排查:
df -h
du -sh /var/lib/docker/overlay2/*
清理:
docker system prune -a
Overlay 需要:
检查:
mount | grep 'on / '
mkdir -p /ovl/lower /ovl/upper /ovl/work /ovl/merged
mount -t overlay overlay \
-o lowerdir=/ovl/lower,upperdir=/ovl/upper,workdir=/ovl/work \
/ovl/merged
# 看内核日志
dmesg -T | grep overlay
# 看挂载
mount | grep overlay
# 看 inode
df -i
# 看 Docker 存储
docker info | grep -i storage
你可以补充:
cat /etc/redhat-release)我可以直接给你对应解决方案。