温馨提示×

centos overlay怎样排查错

小樊
42
2026-09-27 09:16:06
栏目: 智能运维

在 CentOS 上使用 OverlayFS(overlay) 时(常见于 Docker、Kubernetes、容器存储、或者手动 mount overlay),排查错误可以按下面思路一步步来。


一、先确认你用的是哪种 overlay

常见场景:

  1. Docker / Kubernetes 使用的 overlay2
  2. 手动 mount -t overlay
  3. 系统启动时的 overlay(如 LiveCD、initramfs)

二、常见错误现象 & 快速定位

1. mount 失败

mount -t overlay overlay -o lowerdir=...,upperdir=...,workdir=... /mnt

常见报错:

  • mount: wrong fs type, bad option, bad superblock
  • overlay: workdir and upperdir must be on same filesystem
  • too many levels of symbolic links

✅ 排查步骤:

dmesg | tail
journalctl -xe

Overlay 的详细错误 几乎都在内核日志里。


2. upperdir / workdir 不在同一文件系统

错误示例:

overlayfs: upperdir and workdir must reside under the same mount

✅ 解决:

  • upperdir 和 workdir 必须在同一文件系统
  • 不能是不同磁盘、不同 NFS、不同 tmpfs
df -h upperdir workdir

3. workdir 不为空

Overlay 要求:

  • workdir 必须为空目录
  • upperdir 可以不为空
ls -la workdir

4. lowerdir 不存在或权限不足

ls -ld lowerdir

注意:

  • lowerdir 可以是多个(用 : 分隔)
  • 但 第一个 lowerdir 最重要

5. SELinux 导致 overlay 异常(CentOS 常见)

CentOS 默认开启 SELinux,容易出问题。

查看:

getenforce

临时验证:

setenforce 0

如问题解决:

  • 给目录打标签:
semanage fcontext -a -t container_file_t '/data(/.*)?'
restorecon -Rv /data

6. Docker overlay2 磁盘满 / 卡死

现象:

  • 容器起不来
  • docker ps 卡住
  • 磁盘空间异常

排查:

df -h
du -sh /var/lib/docker/overlay2/*

清理:

docker system prune -a

7. 文件系统不支持 overlay

Overlay 需要:

  • ext4 / xfs(有 overlay 支持)
  • 不支持 NFS / FAT

检查:

mount | grep 'on / '

三、手动 overlay 最小可用示例(CentOS 7/8)

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

五、如果你愿意,我可以更精确地帮你

你可以补充:

  1. CentOS 版本(cat /etc/redhat-release)
  2. 用 overlay 的场景(Docker?手动?K8s?)
  3. 完整报错信息(命令 + 输出)

我可以直接给你对应解决方案。

0 踩