温馨提示×

centos overlay如何实现配置

小樊
47
2026-10-20 17:44:41
栏目: 智能运维

在 CentOS 里提到 overlay,常见有两类场景,我分别说明,你可以对照自己的需求:


一、OverlayFS(联合文件系统,常用于容器 / 只读根文件系统)

1. 内核与工具确认

CentOS 7+ 默认内核已支持 overlay:

lsmod | grep overlay
# 若无输出
modprobe overlay

2. 基本目录结构

mkdir -p /overlay/{lower,upper,work,merged}
  • lower:只读层
  • upper:可读写层
  • work:overlay 内部使用(必须为空)
  • merged:挂载后视图

3. 手动挂载 overlay

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

验证:

mount | grep overlay

4. 开机自动挂载(CentOS 7/8)

编辑 /etc/fstab:

overlay /overlay/merged overlay defaults,lowerdir=/overlay/lower,upperdir=/overlay/upper,workdir=/overlay/work 0 0

二、Docker Overlay 存储驱动(CentOS + Docker)

1. 查看当前驱动

docker info | grep Storage

2. 配置 overlay2(推荐)

编辑或新建:

/etc/docker/daemon.json

内容示例:

{
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}

重启 Docker:

systemctl restart docker

3. 前提条件

  • 文件系统:xfs / ext4
  • 推荐 xfs 并启用 d_type:
xfs_info / | grep ftype
# ftype=1 才支持 overlay2

三、Kubernetes / Containerd 中的 overlay

如果是 containerd:

[plugins."io.containerd.grpc.v1.cri".containerd]
  snapshotter = "overlayfs"

四、常见坑

  1. workdir 必须和 upperdir 同文件系统
  2. lowerdir 可多个(冒号分隔)
  3. CentOS 6 不支持 overlay

如果你能说明 具体用途(容器、LiveCD、只读系统、Docker、K8s),我可以直接给你一套可落地的配置方案。

0 踩