CentOS 上 Overlay 与 Overlay2 对比
一 核心差异一览
| 维度 | overlay | overlay2 |
|---|---|---|
| 内核要求 | Linux 内核 ≥ 3.18 起提供 OverlayFS;在 RHEL/CentOS 7 上需 3.10.0-514 及以上启用 | 建议 Linux 内核 ≥ 4.0;在 RHEL/CentOS 7 上需 3.10.0-514 及以上启用 |
| 支持层级 | 仅支持单层 lower(镜像层多时,内部以多个目录/硬链接实现) | 原生支持多层 lower,更适合多层镜像 |
| inode 利用 | 较低效,容器/镜像增多时更易遇到 inode 耗尽 | 更高效,减少 inode 压力 |
| 基础文件系统 | 需支持 d_type(如 ext4、启用 ftype=1 的 XFS) | 同左 |
| 稳定性与性能 | 早期实现,功能与性能较受限 | 社区与厂商更推荐,性能与稳定性更好 |
| 典型场景 | 旧内核或兼容性验证环境 | 生产环境的默认选择 |
| 说明:OverlayFS 最早进入内核主线于 3.18;Docker 自 1.12+ 支持 overlay2;在 RHEL/CentOS 7 上,内核 3.10.0-514 起具备可用的 OverlayFS/overlay2 能力;overlay2 对多层镜像与 inode 利用更优,是官方与社区的推荐驱动。 |
二 在不同 CentOS 版本上的可用性
xfs_info 查看);否则 Docker 会告警并不建议继续使用。三 如何选择
ftype=1;若为 ftype=0,需备份数据后重新格式化启用 d_type,否则 Overlay/Overlay2 不可用或行为异常。四 快速检查与配置要点
uname -r、lsmod | grep overlay(必要时 sudo modprobe overlay)。xfs_info / | grep ftype(值为 1 才支持 Overlay/Overlay2)。/etc/docker/daemon.json,设置 "storage-driver": "overlay2",重启 Docker;变更存储驱动前请备份容器与镜像,避免不可访问。