温馨提示×

centos overlay怎么排错

小樊
41
2026-10-06 03:47:30
栏目: 智能运维

在 CentOS(以及一般 Linux)里,overlay(OverlayFS)常见于两类场景:

  1. Docker / Kubernetes 存储驱动(overlay2)
  2. 手动挂载 overlay 文件系统(mount -t overlay)

下面按“常见错误 → 排查思路 → 解决办法”来说明。


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

mount | grep overlay

或

cat /proc/mounts | grep overlay
  • /var/lib/docker/overlay2/... → Docker overlay2
  • 自己写的 mount 命令 → 手动 overlay

二、常见 overlay 错误及排查

1️⃣ mount: wrong fs type, bad option, bad superblock

原因

  • 内核不支持 overlay
  • 参数写错(lowerdir / upperdir / workdir)

排查

uname -r
# CentOS 7 建议 >= 3.10.0-957

确认参数格式:

mount -t overlay overlay \
  -o lowerdir=/lower,upperdir=/upper,workdir=/work \
  /mnt

⚠️ 注意:

  • workdir 必须和 upperdir 同文件系统
  • workdir 必须为空

2️⃣ Docker 启动失败:overlay2 相关

典型日志

storage-driver overlay2 not supported

排查步骤

docker info | grep -i storage

确认:

cat /etc/docker/daemon.json

推荐配置(CentOS 7/8):

{
  "storage-driver": "overlay2"
}

如果内核太老:

yum update kernel
reboot

3️⃣ cannot mount overlay, lowerdir does not exist

原因

  • lowerdir 路径不存在
  • SELinux 阻止访问

排查

ls -ld /lower

SELinux 检查:

getenforce

临时关闭测试:

setenforce 0

4️⃣ overlay 挂载后文件看不到 / 改不了

原因

  • lowerdir 是只读层
  • upperdir 没正确写入

验证

mount | grep overlay
ls -l /mnt
touch /mnt/test && ls -l /upper

5️⃣ 磁盘满导致 overlay 异常

df -h

Docker 常见:

docker system df
docker system prune -a

三、通用排错命令清单(建议收藏)

# 查看 overlay 挂载
mount | grep overlay

# 查看内核支持
cat /proc/filesystems | grep overlay

# 查看 Docker 存储
docker info

# 查看系统日志
journalctl -xe
dmesg | tail

# 查看 SELinux
getenforce
ausearch -m avc -ts recent

四、如果你愿意,可以直接贴错误

你可以把下面信息发我,我可以精准分析:

  1. CentOS 版本(cat /etc/redhat-release)
  2. 内核版本(uname -r)
  3. 具体报错信息(完整)
  4. 是 Docker 还是手动 mount
  5. 相关命令或配置文件

我可以直接帮你定位到“哪一行配置错了”。

0 踩