在 CentOS 上使用 OverlayFS(overlay),无论是用于 Docker、Kubernetes,还是手动挂载,对内核和系统环境都有一些明确要求。下面按常见场景说明。
CentOS 7 默认内核:
3.10.0-xxxyum update kernel
或启用 ELRepo 内核(如 4.x / 5.x)如果你是自己编译内核,需要开启:
CONFIG_OVERLAY_FS=y
可选但推荐:
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_INDEX=y
查看当前内核是否支持:
grep OVERLAY_FS /boot/config-$(uname -r)
Overlay 对**下层(lowerdir)和上层(upperdir)**有要求:
如果 lowerdir 是 XFS,必须开启:
ftype=1
检查:
xfs_info / | grep ftype
如果是 ftype=0,Docker / Overlay 会报错。
重建 XFS(示例):
mkfs.xfs -n ftype=1 /dev/sdX
overlay2ftype=1查看 Docker 存储驱动:
docker info | grep Storage
推荐配置:
{
"storage-driver": "overlay2"
}
setenforce 0
或更新策略:
yum update policycoreutils selinux-policy
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
要求:
workdir 和 upperdir 同文件系统lowerdir 可多个| 项目 | 要求 |
|---|---|
| 内核 | ≥ 3.18(推荐 ≥ 4.4) |
| 文件系统 | ext4 / xfs(ftype=1) |
| Docker | overlay2 + 新内核 |
| SELinux | 支持但需更新策略 |
| workdir | 与 upperdir 同 FS |
如果你能告诉我:
我可以给你更精确的内核和配置建议。