1、环境说明:bclinux7.6
2、问题发现: 中心B集群是中心A集群的灾备集群,且跨VPC,需要从中心A集群将租户的镜像同步到中心B灾备集群中。在相应的网络策略和同步策略都配置好之后,镜像同步还是失败。
3、故障排查: 从中心B灾备集群主机login中心A集群的主机正常,push或pull镜像都可以。从中心A集群的主机可以login登录中心B灾备集群的主机,但是push镜像到中心B灾备会失败。 在这过程中,对网络策略进行重新梳理,确认无误后,对daemon.json文件和部署Harbor配置文件(存在承载网的话需要用域名,因为业务网和承载网同时都有的话,如果只填写业务ip或者承载网ip的话会出现问题),检查后还是没有解决问题,只好看看包在上传的时候是什么状态,于是决定抓包看看: tcpdump -i eth1 -p tcp and dst host 承载网ip //中心B灾备集群发出请求向中心A集群 tcpdump -i eth1 -p tcp and src host 10.255.115.74 //中心A集群发出请求向中心B灾备集群 截图可以看出中心A集群发出请求向中心B灾备集群的时候会丢包。 排查发现中心A集群主机网卡的mtu值是1500,中心B灾备集群的主机网卡的mtu值是1450。可能是这个原因导致呼池发出的请求数据包经过拆包后传输导致丢包。
4、故障解决: 将中心A集群主机网卡的mtu值手动修改为1450 (部署Harbor主机) 临时修改验证:ifconfig eth1 mtu 1450 up 修改后再次验证:抓包数据正常;镜像同步成功。
永久修改 vi /etc/sysconfig/network-scritps/ifcfg-eth1 新增一行MTU=“1450” 重启网卡生效。 问题解决
|