【运维案例】LVS 连接报错:could not connect to server
- LVS 连接报错:could not connect to server
lvs安装完成后,CN的监听列表中包含了LVS的vip,客户端连接lvs报错入下图:
could not connect to server:Connection refused (0x0000274D/10061) Is the server running on host '10.10.1.1' and accepting TCP/IP connections on port 25308? |
或者
gsql: could not connect to server:operation now in progress Is the server running on host '10.10.1.1' and accepting TCP/IP connections on port 25308? remote datanode<NULL> |
- 检查LVS主备节点的iptables是否挂载
执行iptables -t mangle --list查看是否有mac地址,如果结果如下图说明未挂载iptables
[root@host1 ~]# iptables -t mangle --list Chain INPUT (policy ACCEPT) Chain FORWARD (policy ACCEPT) Chain OUTPUT (policy ACCEPT) Chain POSTROUTING (policy ACCEPT) |
- 手动挂载LVS主备节点的iptables
主节点:iptables -t mangle -I PREROUTING -p tcp -m tcp -d $VIP --dport $VPORT -m mac ! --mac-source $MAC_Director_B -j MARK --set-mark 0x1
备节点:iptables -t mangle -I PREROUTING -p tcp -m tcp -d $VIP --dport $VPORT -m mac ! --mac-source $MAC_Director_A -j MARK --set-mark 0x1
参数说明:
$VIP:LVS指定的虚拟IP。
$VPORT:CN的端口号。
$MAC_Director_B:表示LVS备机与LVS虚拟ip同一网卡的mac地址。
$MAC_Director_A:表示LVS主机与LVS虚拟ip同一网卡的mac地址。
注意:主节点的mac地址必须是备机和LVS同一网段ip网卡的mac地址,备节点的mac地址必须是主节点和LVS同一网段ip网卡的mac地址,如果发现不一致,先执行iptables -t mangle –F清理,再重新执行如下命令:
- 将iptables写入开机启动项
SUSE操作系统vi /etc/init.d/boot.local
RedHat(CentOS)操作系统vi /etc/rc.d/rc.local
在LVS主节点的文件末尾添加:iptables -t mangle -I PREROUTING -p tcp -m tcp -d $VIP --dport $VPORT -m mac ! --mac-source $MAC_Director_B -j MARK --set-mark 0x1
在LVS备节点的文件末尾添加:iptables -t mangle -I PREROUTING -p tcp -m tcp -d $VIP --dport $VPORT -m mac ! --mac-source $MAC_Director_A -j MARK --set-mark 0x1
- 点赞
- 收藏
- 关注作者
评论(0)