温馨提示×

ubuntu overlay配置有何用

小樊
56
2026-09-18 22:40:04
栏目: 智能运维

在 Ubuntu(以及其它 Linux 发行版)中,Overlay(overlayfs,Overlay File System)是一种联合挂载(union mount)文件系统,它的主要作用是把多个目录“叠加”在一起,形成一个统一的视图,同时对用户看起来像一个普通目录。

简单来说:

Overlay = 下层只读目录 + 上层可写目录 = 统一视图(写操作只发生在上层)


一、Overlay 是干什么的?

Overlay 的核心用途是:

  • 只读基础层 + 可写层
  • 不修改原始数据
  • 所有修改都记录在上层
  • 适合容器、系统恢复、调试、定制系统

二、Ubuntu 中 Overlay 的典型用途

1️⃣ Docker / 容器技术(最常见)

Docker 的镜像和容器层就是基于 overlayfs:

  • 镜像层:只读(lowerdir)
  • 容器层:可写(upperdir)
  • 容器看到的是合并后的文件系统

✅ 好处:

  • 多容器共享同一镜像
  • 容器删除后,底层镜像不变
  • 节省磁盘空间

2️⃣ Live CD / 系统恢复

Ubuntu Live USB 启动时常使用 overlay:

  • 原始系统:只读(ISO)
  • 内存或 U 盘分区:可写
  • 用户改动不影响原始系统

✅ 好处:

  • 系统崩溃也不怕
  • 重启可恢复

3️⃣ 系统调试 / 安全测试

你可以在不修改系统文件的情况下:

  • 尝试修改 /etc
  • 安装软件
  • 测试配置

一旦卸载 overlay,原系统“毫发无伤”。


4️⃣ 嵌入式 / 路由器 / IoT

很多嵌入式 Linux:

  • 根文件系统只读
  • overlay 提供可写空间
  • 防止频繁写坏 Flash

5️⃣ 定制化系统而不破坏原系统

例如:

  • 在 Ubuntu 上叠加一个“开发环境”
  • 在“干净系统”上做实验
  • 随时回滚

三、Overlay 的基本原理(简要)

典型结构:

lowerdir  (只读,原系统)
upperdir  (可写,改动)
workdir   (临时工作目录)
merged    (最终挂载点)

挂载示例:

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

效果:

  • 读:先查 upper,再查 lower
  • 写:只写 upper
  • 删除:在 upper 中标记白out

四、Overlay 不适合做什么?

❌ 大量随机写(性能一般)
❌ 需要强一致性的数据库
❌ 替代真正的备份


五、一句话总结

Ubuntu 的 overlay 配置,核心用途是:在不修改原始系统的情况下,提供一个可写、可恢复、轻量的文件系统视图。

如果你愿意,我可以:

  • 给你一个 具体 overlay 挂载示例
  • 讲 Docker 如何用 overlay
  • 或帮你 在 Ubuntu 上实际配置 overlay

0 踩