温馨提示×

CentOS Overlay如何设置

小樊
63
2026-08-04 09:45:55
栏目: 智能运维

下面给你一份CentOS 下使用 Overlay(OverlayFS)的常见配置说明,涵盖手动挂载、Docker 使用、系统启动自动挂载等几种典型场景。


一、OverlayFS 简介

OverlayFS 是一种联合文件系统(Union File System),常用于:

  • Docker 镜像分层
  • 只读根文件系统 + 可写层
  • 系统恢复、临时环境

基本结构:

upperdir    可写层
lowerdir    只读层(可多个)
workdir     临时工作目录
merged      最终挂载点

二、确认内核支持 OverlayFS

CentOS 7/8 一般已支持:

lsmod | grep overlay

如果没有加载:

modprobe overlay

确认:

cat /proc/filesystems | grep overlay

三、手动挂载 Overlay(命令行)

1️⃣ 创建目录结构

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

2️⃣ 创建示例内容(可选)

echo "lower" > /mnt/overlay/lower/test.txt

3️⃣ 挂载 OverlayFS

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

4️⃣ 验证

cat /mnt/overlay/merged/test.txt
echo "new" > /mnt/overlay/merged/new.txt
  • lower 只读
  • upper 可写
  • merged 是合并视图

四、开机自动挂载(/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

测试:

mount -a

五、Docker 使用 Overlay(常见)

1️⃣ 查看 Docker 存储驱动

docker info | grep -i storage

2️⃣ 设置 Docker 使用 overlay2(推荐)

编辑:

vim /etc/docker/daemon.json
{
  "storage-driver": "overlay2"
}

重启:

systemctl restart docker

overlay2 性能比 overlay 好,CentOS 7/8 推荐使用


六、常见错误及解决

❌ workdir 和 upperdir 在同一文件系统

workdir and upperdir not on same filesystem

✅ workdir 和 upperdir 必须同分区


❌ 多重 lowerdir

lowerdir=/a:/b:/c

✅ 用冒号分隔,优先级从左到右


❌ SELinux 问题

临时关闭测试:

setenforce 0

或添加:

-o context="system_u:object_r:usr_t:s0"

七、适用场景总结

场景 是否适合
Docker 容器
系统只读根目录
临时测试环境
生产数据目录

如果你能说明具体用途(如 Docker、LiveOS、系统根目录、升级回滚),我可以给你更精确的配置方案

0