CentOS Overlay配置高级选项分类及说明
内核参数是OverlayFS性能与功能的核心调控项,需通过修改/etc/default/grub或/etc/sysctl.conf实现:
overlayfs.max_layer参数限制OverlayFS的最大层数(默认无限制),避免过多层数导致性能下降。例如,修改/etc/default/grub中的GRUB_CMDLINE_LINUX行,添加overlayfs.max_layer=4,然后运行grub2-mkconfig -o /boot/grub2/grub.cfg并重启系统生效。overlayfs.use_xattr参数(设置为1),允许OverlayFS使用扩展属性(如SELinux标签),提升安全性和功能完整性。添加至/etc/sysctl.conf后执行sysctl -p生效。overlayfs.max_size参数限制OverlayFS占用的最大磁盘空间(如1G),防止过度使用磁盘资源。添加至/etc/sysctl.conf后执行sysctl -p生效。挂载时通过-o选项指定的参数直接影响OverlayFS的行为,常见高级选项包括:
lowerdir(下层目录,多个目录用冒号分隔,如/lower1:/lower2)、upperdir(上层目录,存储最新修改)、workdir(工作目录,用于临时文件,必须为空目录)。例如:mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /merged。noatime(禁用访问时间戳更新,减少磁盘I/O)、datawriteback(启用写回模式,提高写性能但可能存在数据丢失风险)。例如:mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work,noatime,datawriteback /merged。max_layer参数直接限制当前挂载的OverlayFS层数(如max_layer=4),与内核参数配合使用。例如:mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work,max_layer=4 /merged。在Docker中使用Overlay2存储驱动时,可通过/etc/docker/daemon.json调整高级选项:
"storage-driver": "overlay2",并添加"storage-opts": ["overlay2.override_kernel_check=true"](忽略内核版本检查,适用于较新内核)。例如:{ "storage-driver": "overlay2", "storage-opts": ["overlay2.override_kernel_check=true"] } "default-address-pools"设置Overlay网络的IP地址池,避免IP冲突。例如,设置基础网段172.17.0.0/16和子网大小24:"default-address-pools": [{"base": "172.17.0.0/16", "size": 24}]。tune2fs调整块大小(如4096字节),提升大文件操作效率。例如:tune2fs -b 4096 /dev/sdX1。tmpfs作为OverlayFS的上层缓存,减少对底层存储的读写。例如,将上层目录挂载到tmpfs:mount -t tmpfs tmpfs /path/to/upper。