温馨提示×

centos overlay配置内核要什么要求

小樊
42
2026-09-09 05:48:43
栏目: 智能运维

在 CentOS 上使用 OverlayFS(overlay),无论是用于 Docker、Kubernetes,还是手动挂载,对内核系统环境都有一些明确要求。下面按常见场景说明。


一、内核版本要求

1. OverlayFS 基本支持

  • 内核 ≥ 3.18:OverlayFS 正式进入主线内核
  • 推荐内核 ≥ 4.4(CentOS 7 后期内核已满足)
  • CentOS 8 / Stream / Rocky / Alma:默认支持

2. CentOS 7 特别注意

CentOS 7 默认内核:

  • 3.10.0-xxx
  • 早期 3.10 内核功能不全
  • 建议使用:
    yum 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)**有要求:

✅ 支持的文件系统

  • ext4 ✅
  • xfs ✅(推荐
  • btrfs ✅(部分场景)

❌ 不支持或有限制

  • NFS ❌
  • tmpfs(可做 upper,但不建议)
  • 某些网络文件系统 ❌

XFS 特别注意(CentOS 7/8)

如果 lowerdir 是 XFS,必须开启:

ftype=1

检查:

xfs_info / | grep ftype

如果是 ftype=0,Docker / Overlay 会报错。

重建 XFS(示例):

mkfs.xfs -n ftype=1 /dev/sdX

四、Docker 使用 Overlay2 的要求

CentOS 7

  • 内核 ≥ 3.10.0-514
  • 存储驱动:overlay2
  • XFS 必须 ftype=1

查看 Docker 存储驱动:

docker info | grep Storage

推荐配置:

{
  "storage-driver": "overlay2"
}

五、SELinux 相关

  • SELinux 支持 overlay
  • 但某些旧策略会拦截
  • 如遇问题:
setenforce 0

或更新策略:

yum update policycoreutils selinux-policy

六、手动挂载 overlay 示例

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

要求:

  • workdirupperdir 同文件系统
  • lowerdir 可多个

七、总结速查表

项目 要求
内核 ≥ 3.18(推荐 ≥ 4.4)
文件系统 ext4 / xfs(ftype=1)
Docker overlay2 + 新内核
SELinux 支持但需更新策略
workdir 与 upperdir 同 FS

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 用途(Docker / K8s / 手动 overlay)
  • 报错信息

我可以给你更精确的内核和配置建议

0