选择 Linux Overlay(OverlayFS) 而不是其他文件系统或分层方案,通常是因为它在轻量、高性能、易用、内核原生等方面有明显优势。下面从“为什么用 Overlay”以及“和其他方案对比”两个角度说清楚。
✅ 稳定、安全、随内核升级
✅ 节省磁盘
✅ 快速创建实例
lowerdir (只读)
↓
upperdir (可写)
↓
merged (视图)
| 对比对象 | 问题 |
|---|---|
| AUFS | 已停止维护,补丁复杂 |
| UnionFS | 老、不稳定 |
| 块设备快照 | 重、慢、复杂 |
| bind mount | 无分层能力 |
OverlayFS:
✅ 不选 overlay 反而“另类”
| 项目 | OverlayFS | AUFS |
|---|---|---|
| 内核支持 | ✅ 主线 | ❌ 需补丁 |
| 维护状态 | ✅ 活跃 | ❌ 停止 |
| 性能 | ✅ 更好 | ⚠️ 一般 |
→ AUFS 已被淘汰
| 项目 | Overlay | 块快照 |
|---|---|---|
| 创建速度 | 秒级 | 慢 |
| 密度 | 高 | 低 |
| 复杂度 | 低 | 高 |
→ 块快照适合“整机”,不适合“大量轻量实例”
OverlayFS = 内核原生 + 轻量 + 写时复制 + 容器友好,这正是它击败 AUFS、UnionFS、块快照成为默认选择的原因。
如果你愿意,我也可以结合 Docker / K8s / 嵌入式系统 / 只读 rootfs 场景具体讲为什么必须用 overlay。