系统环境说明:
2台RHEL 6.7的服务器使用RHCS配置cluster,使用cman+rgmanager
问题描述:
在测试环境中安装及配置RHCS后,经过反复切换测试都没有问题,当把2台机器切换到生产环境后,cluster始终无法正常启动,或是启动cman后无法启动rgmanager。
问题分析:
查看messages日志,发现日志里有很多的[TOTEM ] Retransmit List: 540 542 544,考虑机器从测试环境切换到生产环境,机器和连接的存储都没有什么变动,唯一变动的就是由测试网交换机切换到了生产网交换机,而测试网和生产网使用的不是同型号的交换机,初步判断可能是cluster在节点之间的通信出现了问题,TOTEM是用来传送集群心跳的,可能是生产网的交换机不支持RHCS集群的心跳包。
我们在使用RHCS做集群时, 心跳包默认是通过多播发送的, 多播地址是通过集群ID来计算的。如果你的环境不支持多播(udp), 那么可以选择广播(udpb)或单播(udpu), 或者你有infiniband设备的话, 可以选择(rdma)
配置可参考 :
/usr/share/cluster/cluster.rng
解决方法:
为了解决通信问题,将集群通信从默认的Multicast更改为Unicast:
修改//etc/cluster/cluster.conf
< <cman expected_votes="1" two_node="1"/>
修改为:
> <cman expected_votes="1" two_node="1" transport