Linux 中的 OverlayFS 和 UnionFS 都属于**联合文件系统(Union File System)**思想,但二者在定位、实现、稳定性和使用场景上有明显区别。下面从多个维度对比说明。
| 对比项 | UnionFS / aufs | OverlayFS |
|---|---|---|
| 是否内核原生 | 否(第三方补丁) | ✅ 是(内核主线) |
| 稳定性 | 一般 | ✅ 高 |
| 维护状态 | aufs 已基本停止发展 | ✅ 活跃维护 |
| 层数支持 | 多层 | 通常两层(lower + upper) |
| 性能 | 较低 | ✅ 更高 |
| 使用复杂度 | 高 | ✅ 简单 |
| 典型用途 | 早期 Live CD | 容器、镜像层 |
OverlayFS 主要使用 两层结构:
lowerdir(只读层)
upperdir(可写层)
merged(合并视图)
示例:
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
早期 UnionFS 解决的问题:
缺点:
Docker 存储驱动演变:
aufs → overlay → overlay2
UnionFS 是“思想”,OverlayFS 是“现代 Linux 官方实现”。
如果你愿意,我也可以: