温馨提示×

centos overlay为啥失效

小樊
35
2026-09-30 08:22:24
栏目: 智能运维

“CentOS 上 overlay 失效”这个说法比较模糊,通常可能指以下几种场景之一。你可以对照看看是哪一种,我再细化:


一、Docker 的 overlay2 存储驱动失效

这是最常见的情况。

常见原因

  1. 内核不支持 overlay2

    • CentOS 7 默认内核 3.10,部分老内核 overlay 有 bug
    • 检查:
      uname -r
      lsmod | grep overlay
      
    • 建议内核 ≥ 4.9(CentOS 7 可升级 kernel-lt)
  2. /var/lib/docker 所在文件系统不支持

    • overlay2 需要:
      • 底层:xfs / ext4
      • 不能是用 overlay 自己套自己
    • 检查:
      df -T /var/lib/docker
      
  3. SELinux 导致

    • 表现:容器起不来或文件不可见
    • 临时验证:
      setenforce 0
      
    • 永久解决:
      SELINUX=permissive
      
  4. Docker 配置错误

    • /etc/docker/daemon.json 写错
    • 查看实际使用的驱动:
      docker info | grep -i storage
      

二、Linux overlayfs 挂载本身失效(非 Docker)

比如手动:

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

常见原因

  1. workdir 和 upperdir 在同一文件系统且不合规
  2. 目录权限不足
  3. 内核未开启 overlay
    cat /boot/config-$(uname -r) | grep OVERLAY
    
  4. CentOS 7 + xfs 未开启 ftype=1
    xfs_info / | grep ftype
    
    如果是 ftype=0,overlay2 会直接失败

三、Kubernetes / Containerd overlay 失效

  • containerd 使用 overlayfs
  • 常见于:
    • 节点重启后 overlay 没挂上
    • /var/lib/containerd 在错误盘

四、典型报错对照

你可以看看报错是不是以下之一:

  • overlay2: the backing xfs filesystem is formatted without d_type support
  • failed to mount overlay: invalid argument
  • no such file or directory

建议你补充的信息

为了精准判断,可以发我:

  1. CentOS 版本(cat /etc/redhat-release)
  2. 内核版本
  3. 具体报错信息
  4. 是 Docker / K8s / 手动 mount 哪一种

我可以直接帮你定位到根因。

0 踩