EsgynDB Troubleshooting - 网卡MTU导致跨网段访问数据库失败

现象

数据库服务一切正常,从同网段访问数据库可以正常访问,从另外一个网段访问数据库失败。
通过ping及telnet端口号均正常。

解决

查询发现客户端的MTU值和集群服务器的MTU值设置为9000,而网关的MTU值为1500,导致网络传输丢包严重。修改MTU值后解决。

修改MTU值

方法一:
ifconfig:
查看当前MTU值:ifconfig eth0
设置本机MTU值:ifconfig eth0 mtu 1500

方法二:
文件:
查看:cat /sys/class/net/eth0/mtu
设置:echo “1500” > /sys/class/net/eth0/mtu

方法三:
添加MTU=1500到/etc/sysconfig/network-scripts/ifcfg-team0,需重启生效

何为MTU?

MTU是Maximum Transmission Unit的缩写,意思是网络上传送的最大数据包。大部分网络设备的MTU都是1500,如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。

你可能感兴趣的:(服务器,网络,linux)