温馨提示×

CentOS overlay怎么启用

小樊
44
2026-07-09 03:24:41
栏目: 智能运维

在 CentOS 上启用 overlay(通常指 OverlayFS,用于容器、Docker、或手动挂载联合文件系统),可以按下面步骤来。下面分别说明 内核支持检查手动挂载 overlay、以及 Docker 使用 overlay 的常见场景。


一、确认内核支持 overlay

1️⃣ 查看内核版本

uname -r

CentOS 7 默认内核 3.10+ 已支持 overlay(但功能有限)
CentOS 8 / Stream 内核更新,支持更完整

2️⃣ 检查 overlay 模块

lsmod | grep overlay

如果没有输出,尝试加载模块:

modprobe overlay

再检查:

lsmod | grep overlay

✅ 看到 overlay 说明已启用


二、手动挂载 overlay(OverlayFS)

1️⃣ 准备目录结构

mkdir -p /mnt/overlay/{lower,upper,work,merged}

说明:

  • lower:只读层
  • upper:可写层
  • work:工作目录(必须为空)
  • merged:最终挂载点

2️⃣ 挂载 overlay

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

3️⃣ 验证

mount | grep overlay
df -h | grep merged

✅ 成功后可对 /mnt/overlay/merged 读写


三、CentOS + Docker 使用 overlay

1️⃣ 查看 Docker 存储驱动

docker info | grep -i storage

常见结果:

  • overlay2(推荐)
  • devicemapper(旧)

2️⃣ 启用 overlay2(CentOS 7 示例)

编辑 Docker 配置:

mkdir -p /etc/docker
vi /etc/docker/daemon.json

内容:

{
  "storage-driver": "overlay2"
}

重启 Docker:

systemctl daemon-reexec
systemctl restart docker

✅ Docker 会自动使用 overlay2


四、常见问题

mount: unknown filesystem type 'overlay'

原因:

  • 内核不支持
  • 未加载模块

解决:

modprobe overlay

或升级内核(CentOS 7):

yum install -y kernel
reboot

❌ Docker 提示 overlay2 不可用

检查:

df -T

overlay2 需要:

  • xfs / ext4
  • 文件系统不能是 overlay

五、总结

场景 启用方式
手动 overlay mount -t overlay
Docker overlay2 存储驱动
内核支持 modprobe overlay
CentOS 7 3.10 内核 + overlay/overlay2

如果你是想:

  • 给 Docker 用
  • 手动做联合挂载
  • 搭建 Kubernetes / 容器环境

可以告诉我具体场景,我可以给你更精确的配置方案。

0