问题现象
服务器路由变更导致集群节点无法接收
sql
任务:某个服务器(
ip
为
45
的节点)重
启后,
gcadmin
和数据同步均正常,各
event
均为
0
。但是执行语句时报该节点查询
返回失败,且该节点的
gnGnode
层
show processlist
显示没有集群层下发的语句进
来。
express
日志报错:
gns_host:10.174.20.32 can't get datasession:Failed to connect to:10.174.18.45,
Details:last_errno:2003(failed to connect to host)
原因分析
通过
route
检查路由列表发现该节点重启后
default
路由变成了非集群
IP
所用的路
由。
#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.174.18.0 * 255.255.255.0 U
0 0 0 bond1
10.174.64.0 *
255.255.255.0 U
0 0 0 bond0
link-local *
255.255.0.0 U
1008 0 0 bond0
link-local *
255.255.0.0 U 1009 0 0 bond1
default
10.174.64.254 0.0.0.0
UG 0 0 0 bond0
处理方法
执行
route del
删除和
route add
新增更换路由得以处理,同时建议系统维护厂商将
正确路由和网关写入配置文件让其长期有效。
修改命令:
route del -net 10.174.64.0 netmask 255.255.255.0 dev bond0
route del default gw 10.174.64.254
route add default gw 10.174.18.1
#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.174.18.0 * 255.255.255.0 U 0
0 0 bond1
link-local *
255.255.0.0 U 1002 0 0 eth0
link-local *
255.255.0.0 U 1009 0 0 bond1
1.0.0.0
*
255.0.0.0
U 0 0 0 eth0
default
10.174.18.1 0.0.0.0 UG 0 0 0 bond1