温馨提示×

CentOS怎样快速配置Overlay

小樊
43
2026-08-30 14:09:12
栏目: 智能运维

在 CentOS 上快速配置 Overlay(overlayfs),通常分为 临时挂载开机自动挂载 两种场景。下面以 CentOS 7 / 8 / Stream 为例,给出最常用、最简洁的方法。


一、确认内核支持 Overlay

lsmod | grep overlay

如果没有输出,手动加载:

modprobe overlay

确认内核支持(CentOS 7+ 基本都支持):

uname -r
cat /proc/filesystems | grep overlay

二、快速创建 Overlay(临时)

1️⃣ 创建目录结构

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

说明:

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

2️⃣ 挂载 Overlay

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

✅ 成功后:

df -h | grep overlay

3️⃣ 测试

echo "read-only" > /mnt/overlay/lower/test.txt
echo "write" > /mnt/overlay/merged/test.txt
  • lower/test.txt 只读
  • merged/test.txt 写入发生在 upper/

三、开机自动挂载(推荐)

1️⃣ 写入 /etc/fstab

vim /etc/fstab

添加:

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

2️⃣ 测试 fstab

mount -a
df -h | grep overlay

四、Docker / Podman 场景(可选)

如果你是为了 Docker 使用 overlay2

cat /etc/docker/daemon.json

示例:

{
  "storage-driver": "overlay2"
}

重启 Docker:

systemctl restart docker

✅ CentOS 7/8 默认内核都满足 overlay2 要求。


五、常见问题

❌ workdir 非空

overlayfs: workdir is in-use

✅ 解决:

rm -rf /mnt/overlay/work/*

❌ lowerdir 不存在

mount: wrong fs type, bad option

✅ 确保 lowerdir 存在:

mkdir -p /mnt/overlay/lower

六、快速总结(一行命令版)

mkdir -p /mnt/overlay/{lower,upper,work,merged} && \
mount -t overlay overlay -o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work /mnt/overlay/merged

如果你有 具体用途(Docker、LiveCD、只读根目录、容器根fs、k8s),我可以给你 针对性的 Overlay 配置方案

0