温馨提示×

CentOS怎样配置Overlay

小樊
41
2026-07-20 20:57:19
栏目: 智能运维

CentOS 上配置 Overlay(OverlayFS),通常用于 Docker、容器、LiveCD、只读根文件系统 等场景。下面按常见使用方式说明。


一、确认内核支持 Overlay

OverlayFS 从 Linux 3.18+ 内核开始支持,CentOS 7/8/Stream 基本都支持。

lsmod | grep overlay

如果没有加载:

modprobe overlay

开机自动加载:

echo "overlay" >> /etc/modules-load.d/overlay.conf

二、手动使用 OverlayFS(不依赖 Docker)

1️⃣ 准备目录结构

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

说明:

  • lowerdir:只读层(可多个)
  • upperdir:可写层
  • workdir:临时工作目录(必须和 upperdir 在同一文件系统)
  • 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

/mnt/overlay/merged 中的修改会存入 upperdir,不会影响 lowerdir


三、开机自动挂载(fstab)

编辑 /etc/fstab

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

然后:

mount -a

注意workdir 不能和 mergedlowerdir 相同。


四、在 Docker 中使用 Overlay(常见)

CentOS 7 示例

查看当前存储驱动:

docker info | grep -i storage

1️⃣ 停止 Docker

systemctl stop docker

2️⃣ 配置 overlay2(推荐)

编辑 /etc/docker/daemon.json

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

3️⃣ 启动 Docker

systemctl start docker

✅ Docker 默认已广泛使用 overlay2。


五、CentOS 8 / Stream 注意事项

  • 推荐使用 overlay2
  • XFS 文件系统需启用:
mkfs.xfs -n ftype=1 /dev/sdX

检查:

xfs_info / | grep ftype

如果是 ftype=0,Docker overlay2 无法使用。


六、典型应用场景

✅ 容器文件系统
✅ 系统只读 + 可写层
✅ LiveOS / 救援系统
✅ 软件多版本共存


如果你能说明 具体用途(如 Docker、系统根目录、定制 LiveCD、Kubernetes),我可以给你更精确的配置方案。

0