CentOS 上 overlay(OverlayFS)速度慢,通常不是单点原因,而是和 存储后端、内核、配置、I/O 模式 有关。下面按常见原因从高概率到低概率说明,并给出排查与优化建议。
OverlayFS 本身不加速 I/O,它只是把:
叠加成一个视图。
如果:
那么所有写操作都会很慢。
✅ 建议:
upperdir / workdir 放在本地 SSD
Docker 示例:
--storage-driver=overlay2
数据盘使用 SSD
这是 经典性能陷阱。
OverlayFS 在:
时,如果 upper 和 lower 跨文件系统,会触发:
✅ 建议:
lowerdir、upperdir、workdir 同一文件系统
OverlayFS 对:
性能不友好,因为:
典型场景:
✅ 建议:
-v /data/build:/build
CentOS 7 默认内核:
3.10.x
早期 OverlayFS:
✅ 建议:
CentOS 默认开启 SELinux,OverlayFS + SELinux:
✅ 排查:
getenforce
✅ 临时测试:
setenforce 0
⚠️ 不建议长期关闭,仅用于验证。
OverlayFS 推荐:
不推荐:
✅ 检查:
df -T
旧 Docker 可能用:
overlay
而不是:
overlay2
overlay2 明显更快、更稳定。
✅ 检查:
docker info | grep Storage
✅ 推荐:
overlay2
每一层:
✅ 建议:
fio --name=test --rw=randwrite --bs=4k --numjobs=4 --size=1G
cd /var/lib/docker/overlay2
fio --name=ovl --rw=randwrite --bs=4k --size=500M
time touch /overlay/testfile
time rm /overlay/testfile
CentOS 上 overlay 慢,90% 是因为:慢盘 + upper/work 跨文件系统 + 老内核 + 小文件狂写。
如果你愿意,可以告诉我:
我可以给你 针对性优化方案。