温馨提示×

centos overlay为何配置不了

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

“CentOS 上 overlay 配置不了”这个问题比较常见,但原因很多,我先按最常见的几种场景给你梳理一下,你对照看看是哪一种,基本就能定位。


一、你指的是哪种 overlay?

在 CentOS 里,“overlay”常见有 3 种:

  1. Docker 的 overlay / overlay2 存储驱动
  2. OverlayFS 文件系统(mount -t overlay)
  3. Kubernetes 的 overlay 网络(flannel / calico 等)

下面分别说。


二、Docker overlay / overlay2 配置不了

1️⃣ 内核版本太低(最常见)

overlay2 需要:

  • CentOS 7.4+
  • 内核 3.10.0-693 以上

检查:

uname -r

如果太低:

yum update -y
reboot

2️⃣ 文件系统不支持

overlay2 不支持:

  • ext3
  • 某些旧 xfs(没开 d_type)

检查 xfs:

xfs_info / | grep ftype

必须是:

ftype=1

不是的话,只能重做文件系统。


3️⃣ Docker 配置写错

正确示例(/etc/docker/daemon.json):

{
  "storage-driver": "overlay2"
}

改完:

systemctl restart docker

查看:

docker info | grep Storage

三、OverlayFS 手动挂载失败

典型错误

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

失败原因:

1️⃣ workdir 和 upperdir 必须在同一文件系统

❌ 错误:

upperdir=/a
workdir=/b

✅ 正确:

upperdir=/ov/upper
workdir=/ov/work

2️⃣ 目录必须提前建好

mkdir -p lower upper work merged

3️⃣ SELinux 拦截

临时测试:

setenforce 0

永久:

vi /etc/selinux/config
SELINUX=permissive

四、K8s overlay 网络起不来

常见原因

  • 防火墙没关
  • 内核模块没加载
lsmod | grep overlay

没有就:

modprobe overlay

firewalld 问题

systemctl stop firewalld
systemctl disable firewalld

五、快速自查清单 ✅

请你回答这几个,我可以直接帮你定位:

  1. CentOS 版本(cat /etc/redhat-release)
  2. 内核版本
  3. 你说的 overlay 是哪一种(Docker / 挂载 / K8s)
  4. 具体报错信息(最重要)

如果你愿意,把报错原样贴出来,我可以直接告诉你哪一行错了。

0 踩