Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1491968
  • 博文数量: 263
  • 博客积分: 10851
  • 博客等级: 上将
  • 技术积分: 2627
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-26 22:40
文章分类

全部博文(263)

文章存档

2013年(4)

2012年(25)

2011年(33)

2010年(50)

2009年(138)

2008年(13)

分类: LINUX

2010-04-22 11:41:45

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, 没有再报这个错, 而且客户端上的请求也马上过来了
阅读(2301) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~