为什么heartbeat启动的时候没有自动启动资源?

Steven_She
为什么heartbeat启动的时候没有自动启动资源?

我把启动lvs的代码写成一个脚本然后放在/etc/init.d中并用chkconfig注册为一个服务
服务名为LvsDR

单独运行 service LvsDR start是可以正确配置lvs的

然后在/etc/ha.d/haresources中配置如下

vip.master LvsDR

但是启动heartbeat的时候LvsDR却没有被运行

如果把上面那句改为

vip.master LvsDR::start就会运行

但根据我看资料的理解,是应该不用改为上面那一句的。

还有一点很奇怪就是,在director主机和备份机上都启动heartbeat服务之后,由于LvsDR没有被运行,因此我在主机手动启动LvsDR服务,但是过了一小段时间,备份机上的LvsDR服务就会自动被启动,但是这是主机并没有挂掉。
而如果我不手动启动主机上的LvsDR服务的话,那么备份机上的LvsDR服务也不会被启动。

请问这种情况怎么解决?

理想的情况是不是应该是这样的,即在主机上启动heartbeat服务的时候,就自动启动LvsDR服务,正确配置好lvs,而在备份机上启动heartbeat服务的时候,LvsDR服务则没有被启动,等到备份机检测到主机挂了才被启动,然后等主机恢复过来之后,备份机上的LvsDR服务又自动被停止而主机上的LvsDR服务被启动。

请问我的理解有没有错误?应该怎样配置才能达到这种效果?


谢谢!

ljhb
放到/etc/ha.d/resources.d里面

Steven_She
[quote]原帖由 [i]ljhb[/i] 于 2008-5-5 16:04 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6577968&ptid=1000130][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
放到/etc/ha.d/resources.d里面 [/quote]

你是指LvsDR?

不行啊,试过了,启动heartbeat的时候还是没有启动LvsDR

ha.cf内容如下,应该是没什么问题的

logfile /var/log/ha-log

keepalive 2

deadtime 60

warntime 10

initdead 120

udpport 694

bcast eth0 # Linux

auto_failback on

node vip.master
node vip.backup

备份机上的ha.cf与上面基本一样,除了一句

bcast eth1 # Linux

[[i] 本帖最后由 Steven_She 于 2008-5-5 16:18 编辑 [/i]]

Steven_She
很奇怪啊,在启动heartbeat服务之后过一段时间,主机和备份机上的LvsDR服务都自动启动了。。。。
但是我是设置为开机不自动启动的啊

Steven_She
问题解决了
由于我是在vmware中做的实验,而备份机是clone的主机,因此heartbeat的uuid与主机的uuid相同
卸载heartbeat,删除/var/lib/heartbeat目录之后再重装heartbeat就没问题了。