温馨提示×

CentOS Overlay配置有啥用

小樊
37
2026-08-30 14:08:14
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)里,Overlay 配置通常指的是 OverlayFS(Overlay 文件系统) 的配置。它的主要作用是把多个目录“叠加”在一起,形成一个联合的文件系统视图,常用于容器、打包、部署和调试场景。

下面从用途、原理、典型场景和注意事项给你讲清楚。


一、OverlayFS 是干嘛的?

一句话总结:

OverlayFS 可以把多个目录合并成一个,看起来像一个目录,但底层目录互不影响。

它主要由两层(或更多层)组成:

  • lowerdir(只读层):原始文件或基础系统
  • upperdir(可写层):你对文件的修改会写到这里
  • workdir(工作目录):OverlayFS 内部使用
  • merged(挂载点):你看到的最终目录

二、CentOS 中 Overlay 配置有什么用?

1️⃣ Docker / Podman 基础技术(最常见)

在 CentOS 上如果你用 Docker / Podman,底层几乎都会用到 OverlayFS。

作用:

  • 镜像层可以共享
  • 容器启动时只创建一个可写层
  • 不修改原始镜像

示例(Docker 背后做的事):

镜像层(只读)
    ↓
容器层(可写)
    ↓
合并视图(容器看到的 /)

好处

  • 启动快
  • 省磁盘
  • 镜像可复用

2️⃣ 在不破坏原系统的前提下修改系统目录

比如你想临时“改” /usr,但不想真的动它:

mount -t overlay overlay \
-o lowerdir=/usr,upperdir=/overlay/usr_upper,workdir=/overlay/work \
/merged/usr

这样:

  • /usr 原内容还在
  • 修改只落在 upperdir
  • 卸载后原系统完全不变

✅ 常用于:

  • 系统只读环境
  • 安全加固
  • 调试系统

3️⃣ 制作“一次性运行环境”

比如:

  • Live CD
  • 救援系统
  • 测试环境

典型特征:

  • 根文件系统只读
  • Overlay 提供可写层
  • 重启即还原

4️⃣ 软件打包 / 沙箱 / 热更新

Overlay 非常适合:

  • 软件版本切换
  • 灰度发布
  • 不影响基础系统的升级

例如:

/opt/app-v1   (lower)
/opt/app-tmp  (upper)

三、CentOS 中 Overlay 的常见配置方式

1️⃣ 查看是否支持 Overlay

lsmod | grep overlay

modprobe overlay

CentOS 7+ 通常都支持。


2️⃣ 挂载 Overlay 示例

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

目录说明:

目录 作用
lowerdir 只读基础目录
upperdir 可写层
workdir 临时工作目录
/merged 最终挂载点

⚠️ workdir 必须和 upperdir 在同一文件系统。


四、Overlay vs 其他方案

对比 OverlayFS 软链接 复制
性能
磁盘占用
修改隔离
适合容器

五、常见坑(CentOS 特有)

1️⃣ SELinux 问题

setenforce 0

或配置正确的 SELinux 策略。


2️⃣ XFS 的 d_type 问题(CentOS 7 常见)

Docker 会报错:

overlay2 not supported

检查:

xfs_info /

解决:

  • 重新格式化 XFS,加:
mkfs.xfs -n ftype=1

3️⃣ 工作目录不能为挂载点

workdir 不能是 lowerdirupperdir 的子目录。


六、一句话总结

CentOS 的 Overlay 配置,核心价值是:在不修改原目录的前提下,提供一个可写、可还原、可叠加的文件系统视图。

如果你愿意,我可以:

  • 给你一个 Docker 背后的 Overlay 示例
  • 或帮你配置 CentOS 只读系统 + Overlay
  • 或解释 overlay vs overlay2 的区别

你是用在 Docker、系统加固,还是别的地方

0