heartbeat错误:ERROR: Could not send gratuitous arps. rc=127
在把资源从备机切换到主机的过程中, 花现hb的日志出现了这个错误“ERROR: Could not send gratuitous arps. rc=127”, 也就是说主机发送arp欺骗广播失败, 这样主机虽然把IP和服务都接管过来了, 但是从其他机器上是不能访问到这个IP和服务的。
在网上搜了下, , 是因为send_arp这个二进制程序缺少/或者找不到libnet.so这个动态库, 用ldd /usr/lib64/heartbeat/send_arp (注意这里是/usr/lib64, 因为我的机器是64位操作系统的), 花现果然是这个原因: “libnet.so.0 => not found“, 我安装libnet是从源码安装的, 默认./configure && make && make install, 所以其默认的安装路径也是/usr/local/lib, 把/usr/lib/lib目录中libnet相应的动态库, cp到/usr/local/lib64目录, 建立一些相应的软链接, 然后执行ldconfig , 接下来再ldd /usr/lib/64/heartbeat/send_arp, 就能找到libnet这个动态库了。 (或者也可以把/usr/local/lib这个路径加到/etc/ld.so.conf文件中, 再执行ldconfig也ok)
再重启主机上的heartbeat, 没有再报这个错, 而且客户端上的请求也马上过来了
阅读(2293) | 评论(0) | 转发(0) |