Linux Overlay 兼容性处理指南
一 内核与模块兼容性
uname -r 与 ls /lib/modules/$(uname -r)/kernel/fs/overlayfs/overlay.ko* 检查是否匹配;不一致常见于更新内核后未重启或模块未安装到新内核目录。解决:执行 yum update -y kernel kernel-tools && reboot。modprobe -v overlay,若失败用 dmesg | grep overlay 查看原因;若提示签名验证失败,仅在测试环境临时使用 options overlay allow_unsupported=1 并重启(生产慎用)。/etc/dracut.conf.d/*.conf 是否包含 overlay,必要时添加 echo 'add_drivers+=" overlay "' | tee /etc/dracut.conf.d/overlay.conf,再执行 dracut -f -v && reboot。lsmod | grep overlay 与 cat /proc/filesystems | grep overlay 应能看到 overlay 模块与文件系统支持。二 容器运行时与存储驱动兼容性
docker info | grep -i "storage driver",如需切换,编辑 /etc/docker/daemon.json:{ "storage-driver": "overlay2" } 并重启 Docker。"overlay2.override_kernel_check": true;但这属于绕过检查,可能带来稳定性风险,优先方案仍是升级内核。三 底层文件系统与 d_type 支持
xfs_info / | grep ftype,若显示 ftype=0,则 OverlayFS/容器快照器无法正常工作。修复:将数据目录迁移到 ext4 或重新格式化 XFS 为 ftype=1(如 mkfs.xfs -n ftype=1 /dev/yourdev),然后挂载到 /var/lib/containerd 或 /var/lib/docker。chmod/chown 调整。df -h 检查可用空间,避免因空间不足导致挂载或写入失败;必要时清理或扩容。四 快速排查清单与常用命令
uname -r、lsmod | grep overlay、cat /proc/filesystems | grep overlay、dmesg | grep overlaydocker info | grep -i "storage driver"、journalctl -n 100、systemctl status docker/containerdxfs_info / | grep ftype、df -h、mount | grep overlay