CentOS版本与Overlay文件系统的兼容性及差异
OverlayFS是Linux内核提供的联合文件系统,其功能依赖内核版本。CentOS系统中,内核3.10.0-514及以上版本支持OverlayFS的基本功能;若需使用更高效的overlay2存储驱动(Docker推荐),则要求内核4.0及以上版本(或CentOS 3.10.0-514及以上内核)。例如,CentOS 7默认内核为3.10.0-xx,需升级至3.10.0-514及以上才能使用overlay2;CentOS 8及以上版本默认内核满足overlay2要求。
Docker对OverlayFS的支持经历了从overlay到overlay2的升级,两者核心差异在于镜像层共享机制和inode利用率:
l目录下的符号链接管理镜像层,大幅减少inode消耗。是Docker 17.06及以上版本的推荐存储驱动,需CentOS 7内核≥3.10.0-514或CentOS 8及以上版本支持。OverlayFS(尤其是overlay2)对文件系统的d_type(目录项类型)有严格要求。CentOS系统中,若使用XFS作为底层文件系统,需确保格式化时启用ftype=1(通过mkfs.xfs -n ftype=1命令),否则Docker会跳过overlay/overlay2驱动(现有安装可继续运行,但未来版本可能致命)。ext4文件系统默认支持d_type,无需额外配置。
/etc/docker/daemon.json)。daemon.json并重启Docker)。docker system prune命令),避免inode耗尽。enforcing模式,可能阻止Docker创建Overlay挂载点,可通过setenforce 0临时设置为permissive模式,或修改SELinux策略解决。mkfs.xfs -n ftype=1格式化XFS分区,确保存储驱动正常工作。