温馨提示×

CentOS Overlay配置需要注意哪些事项

小樊
61
2025-08-30 23:20:12
栏目: 智能运维

一、内核与模块要求
CentOS系统需满足内核版本≥3.10.0-514(推荐4.9及以上),否则OverlayFS可能无法正常工作。需通过uname -r确认内核版本,若版本过低需升级内核。同时,需加载overlay内核模块,可通过创建/etc/modules-load.d/overlay.conf文件(内容为overlay)实现开机自动加载。

二、文件系统选择与配置
OverlayFS对文件系统有特定要求:

  • 推荐使用XFS文件系统(尤其适用于Docker场景),格式化时需添加-n ftype=1参数(如mkfs.xfs -n ftype=1 /dev/sdX),否则可能导致Docker目录操作异常;
  • 若使用ext4文件系统,需确保dir_index特性启用(默认开启)。

三、SELinux配置
若系统启用SELinux,需调整其策略以避免阻止OverlayFS操作:

  • 对于Docker场景,可修改/etc/sysconfig/docker文件,去除--selinux-enabled选项
  • 或设置SELinux为宽容模式(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的性能与空间使用密切相关:

  • 需定期监控upperdirworkdir所在分区的空间使用情况(如使用df -h),避免空间耗尽导致系统异常;
  • 若空间不足,可通过增加新分区并挂载为OverlayFS,或清理无用数据(如Docker镜像、容器日志)释放空间。

六、层数控制与性能优化

  • 减少层数:OverlayFS的层数过多(如超过128层)会导致文件链接数激增,可能耗尽inode。建议通过合并Docker镜像层(如使用多阶段构建)减少层数;
  • 调整内核参数:可添加noatimenodiratime等参数提升性能,但需注意noatime可能导致部分应用(如数据库)无法记录访问时间。

七、Docker存储驱动配置
若用于Docker,需将存储驱动设置为overlay2(推荐)或overlay

  • 编辑/etc/docker/daemon.json文件,添加以下内容:
    {
      "storage-driver": "overlay2",
      "storage-opts": ["overlay2.override_kernel_check=true"]
    }
    
  • 修改后需重启Docker服务systemctl restart docker)使配置生效。

八、网络配置(Overlay网络)
若配置Overlay网络(用于跨主机容器通信),需注意:

  • 安装bridge-utilsdocker等必要软件包;
  • 创建桥接接口(如br-overlay),并将物理接口(如eth0)添加至桥接接口;
  • 配置桥接接口IP(与Overlay网络子网一致);
  • 编辑/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);
  • 测试配置:在生产环境应用前,需在测试环境验证OverlayFS挂载、Docker存储驱动及网络配置的正确性,避免影响线上服务。

0