一、基础网络连通性检查
ping命令测试与目标主机(如Overlay网络中的其他容器或节点)的连通性,确认基础网络是否可达;使用traceroute命令跟踪数据包传输路径,识别潜在的网络断点(如某跳路由器未响应)。ip link命令查看网络接口是否启用(UP状态),确认接口配置(如IP地址、子网掩码、网关)是否正确;对比/etc/sysconfig/network-scripts/ifcfg-ethX(CentOS 7)或/etc/NetworkManager/system-connections/(CentOS 8+)中的配置文件,确保参数无误。二、OverlayFS特定问题排查
lowerdir(底层目录)、upperdir(上层目录)、workdir(工作目录)配置是否正确,使用mount | grep overlay命令查看当前挂载参数;确认这些目录存在且具备读写权限(ls -ld lowerdir upperdir workdir)。df -h命令查看底层文件系统的磁盘空间使用情况,确保剩余空间充足(建议保留至少10%空闲空间),避免因空间不足导致OverlayFS无法正常写入。umount /path/to/overlay卸载现有挂载,再用mount -t overlay overlay -o lowerdir=...,upperdir=...,workdir=... /path/to/mount重新挂载。三、系统与服务状态检查
systemctl status network(CentOS 7)或systemctl status NetworkManager(CentOS 8+)命令检查网络服务是否启动,若未启动则用systemctl restart network重启服务。systemctl status docker确认Docker服务是否运行;查看Docker日志(journalctl -u docker.service)获取与Overlay相关的错误信息(如存储驱动初始化失败)。四、内核与模块验证
uname -r查看内核版本,若版本过低需升级内核。lsmod | grep overlay命令检查overlay模块是否已加载,若未加载可通过modprobe overlay手动加载,或编辑/etc/modules-load.d/overlay.conf文件添加overlay并重启系统。五、防火墙与SELinux设置
systemctl stop firewalld)测试是否为防火墙阻止了Overlay网络流量(如Docker的8472/udp端口);若关闭后问题解决,需配置防火墙放行必要端口(firewall-cmd --add-port=8472/udp --permanent,然后firewall-cmd --reload)。Permissive模式(setenforce 0)或修改/etc/selinux/config文件将SELINUX=permissive,重启系统后查看问题是否消失;若需永久生效,需调整SELinux策略(如semanage port -a -t docker_port_t -p udp 8472)。六、日志分析与详细排查
journalctl -n 100查看最近100条系统日志,或检查/var/log/syslog、/var/log/messages文件,寻找与Overlay网络、Docker或内核相关的错误信息(如“overlayfs: failed to mount”)。journalctl -u docker.service查看Docker守护进程的详细日志,定位Overlay2存储驱动的具体错误(如“failed to create overlay mount”),根据日志提示调整配置(如修改/etc/docker/daemon.json中的storage-driver为overlay2)。七、Docker配置检查(若使用Docker)
/etc/docker/daemon.json文件,确保storage-driver设置为overlay2(推荐),并添加"storage-opts": ["overlay2.override_kernel_check=true"](若内核版本较低但支持overlay2);修改后重启Docker服务(systemctl restart docker)。docker system df查看Overlay2存储的使用情况,若磁盘空间不足,可通过docker system prune -a清理无用镜像、容器和网络;若特定目录占用过大,使用du -sh /var/lib/docker/overlay2/*定位大目录并清理。