Overlay 文件系统(OverlayFS)是 Linux 中常用的联合文件系统,广泛应用于容器技术(如 Docker)和某些发行版的根文件系统实现。它对磁盘空间的影响主要体现在以下几个方面:
OverlayFS 通过将多个文件系统层(通常是两层:lower 和 upper)合并为一个统一的视图来工作: - lower 层:只读基础层(可以是多个) - upper 层:可写层,存储所有修改 - merged 层:合并后的视图
# 查看各层磁盘使用情况
df -h
# 查看具体目录大小
du -sh /var/lib/docker/overlay2/*
# 查看 Docker 磁盘使用
docker system df
# 清理无用数据
docker system prune
症状:No space left on device
错误但 df
显示有空间
原因:可能是 inode 耗尽
解决:
# 检查 inode 使用
df -i
# 清理小文件或扩展文件系统
原因:Overlay 文件系统损坏 解决:
# 检查文件系统
docker ps -a
docker inspect <container_id> | grep MergedDir
# 必要时重建容器
理解 Overlay 文件系统对磁盘空间的影响机制有助于更好地规划存储资源,特别是在容器化环境中。