一、内核与模块要求
CentOS系统需满足内核版本≥3.10.0-514(推荐4.9及以上),否则OverlayFS可能无法正常工作。需通过uname -r确认内核版本,若版本过低需升级内核。同时,需加载overlay内核模块,可通过创建/etc/modules-load.d/overlay.conf文件(内容为overlay)实现开机自动加载。
二、文件系统选择与配置
OverlayFS对文件系统有特定要求:
-n ftype=1参数(如mkfs.xfs -n ftype=1 /dev/sdX),否则可能导致Docker目录操作异常;dir_index特性启用(默认开启)。三、SELinux配置
若系统启用SELinux,需调整其策略以避免阻止OverlayFS操作:
/etc/sysconfig/docker文件,去除--selinux-enabled选项;setenforce 0),但生产环境建议保留 enforcing 模式并配置正确策略。四、挂载参数与持久化
挂载OverlayFS时需正确指定三层目录:
lowerdir:基础层(只读,如系统镜像层);upperdir:可写层(存储修改内容);workdir:临时工作目录(用于存储操作中间文件,必须为空目录)。mount -t overlay overlay -o lowerdir=/path/to/lower,upperdir=/path/to/upper,workdir=/path/to/work /path/to/mountpoint
如需持久化,需将挂载信息添加至/etc/fstab(格式同上)。
五、磁盘空间管理
OverlayFS的性能与空间使用密切相关:
upperdir和workdir所在分区的空间使用情况(如使用df -h),避免空间耗尽导致系统异常;六、层数控制与性能优化
noatime、nodiratime等参数提升性能,但需注意noatime可能导致部分应用(如数据库)无法记录访问时间。七、Docker存储驱动配置
若用于Docker,需将存储驱动设置为overlay2(推荐)或overlay:
/etc/docker/daemon.json文件,添加以下内容:{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
systemctl restart docker)使配置生效。八、网络配置(Overlay网络)
若配置Overlay网络(用于跨主机容器通信),需注意:
bridge-utils、docker等必要软件包;br-overlay),并将物理接口(如eth0)添加至桥接接口;/etc/docker/daemon.json指定桥接接口(如"bridge": "br-overlay"),并重启Docker服务;firewall-cmd --permanent --zone=trusted --add-interface=br-overlay)。九、备份与测试
/etc/fstab、/etc/docker/daemon.json等配置文件前,需备份原文件(如cp /etc/fstab /etc/fstab.bak);