在Heartbeat的使用中遇到些问题,网上也都有解决方法,鉴于自己的环境特:按照网上的方法解决了之后还是会出现,所以花了点时间排查,最后发现是因为自己有两套heartbeat环境。。。不作死就不会死
我的是Heartbeat+mysql高可用,这里跟mysql没关系,所以不做多述。
1、报错信息
Mar 26 11:19:29 node01 heartbeat: [8860]: ERROR: should_drop_message: attempted replay attack [node01]? [gen = 1427335120, curgen = 1427338825]
Mar 26 11:19:29 node01 heartbeat: [8860]: ERROR: should_drop_message: attempted replay attack [node01]? [gen = 1427335120, curgen = 1427338825]
网上找解决方法,统一说法就是拷贝过来的机器导致有相同的UUID,只要删除/var/lib/heartbeat下的hb_uuid 和 hb_generation,重启
heartbeat即可。
按照上面的操作确实能解决问题。
那么问题来了,我的系统在解决一次之后还会经常出现。经过排查测试,发现我的环境有些特殊:同一网段下有两套heartbeat系统:
192.168.220.35+192.168.220.36,VIP是192.168.220.99,hostname分别为node01和node02
192.168.220.32+192.168.220.33,VIP是192.168.220.98,hostname也是node01和node02
当这两套系统heartbeat都是启动的情况下,四台机器四个gen号,会导致这四台机器的hb_generation出现混乱,每一台机器都能找到另外三台的gen号,导致异常。
经测停掉一套heartbeat系统即可。
猜想:应该是保证不要在同一网段部署两套hostname相同的heartbeat。生产环境中这种情况很少遇到,即使在同一网段部署两套heartbeat,也不可能会有相同的hostname。有兴趣的同学可以实验一下。
下面是报错信息:
Mar 26 10:05:35 node02 heartbeat: [25717]:ERROR: should_drop_message: attempted replay attack [node01]? [gen =1426813287, curgen = 1427335119]
Mar 26 10:05:36 node02 heartbeat: [25717]:ERROR: should_drop_message: attempted replay attack [node02]? [gen =1426813247, curgen = 1427335128]Mar 26 10:05:37 node02 heartbeat: [25717]:ERROR: should_drop_message: attempted replay attack [node01]? [gen =1426813287, curgen = 1427335119]
Mar 26 10:05:38 node02 heartbeat: [25717]:ERROR: should_drop_message: attempted replay attack [node02]? [gen =1426813247, curgen = 1427335128]Mar 26 10:05:37 node02 heartbeat: [25717]:ERROR: should_drop_message: attempted replay attack [node01]? [gen =1426813287, curgen = 1427335119]
Mar 26 10:05:38 node02 heartbeat: [25717]:ERROR: should_drop_message: attempted replay attack [node02]? [gen =1426813247, curgen = 1427335128]
参考链接:http://www.cerebris.com/blog/2011/02/14/cloning-a-heartbeat-server/
http://am-blog.no-ip.org/BlogEngine/post/2013/12/31/Heartbeat-Error-%E2%80%93-attempted-replay-attack-should_drop_message.aspx
2、报错信息
Mar 22 05:18:41 node01 heartbeat:[22313]: ERROR: Message hist queue is filling up (500 messages in queue)
这一条一般就是防火墙导致,关掉防火墙就ok。网上有个帖子,也有出现这个问题且伴随高cpu负载,可以参考
http://www.gossamer-threads.com/lists/linuxha/dev/36771
阅读(3837) | 评论(0) | 转发(0) |