我的ipvsadm不能被heartbeat(或者是ldirector)自动启动,为什么呀?

我的heartbeat配置和ldirector配置是按照网上一篇文章配置的,
http://www.tcpip.com.cn/article/index.php?func=detail&par=3&parentid=2549&start=40&s=0

我现在的问题是,
1、计算机正常启动之后,
用service heartbeat status看状态,
是运行正常的。
但是ipvsadm却没有运行起来。
所以访问不了真实服务器。

只要我手动的运行/etc/init.d/ipvsadm start
就能访问真实服务器了。

那么哪里是设置这个ipvsadm和heartbeat同时启动的地方呢?
我的ha.cf、haresources和www.cf在帖子的最后

2、(手动打开调度器上的ipvsadm之后)
我有2台真实服务器,当我关掉一台,再用客户端访问的时候,
确实没有再显示那个被关掉的服务器的信息(这是肯定的了。赫赫)
或者显示网络不通等的消息。

但是,我在调度器的机器上,
没有看到有关ldirectord被运行了的信息。
请问这个ldirectord是怎么被运行的呢?
是被heartbeat自动运行的吗?

(是haresources文件里的那句话吗?)

3、我在关机的时候,
刚开始运行到INIT: Sending processes the TERM signal
之后,机器就没反映了,
一直显示着下面这句话
Stopping High-Availability services

请问是不是这个进程在等待什么东西结束才能关闭自己呀?
是什么程序呢?
或者可能是别的什么原因。

文件如下:
一、www.cf

一个从
/usr/share/doc/heartbeat-ldirectord-1.0.3/ldirectord.cf
拷贝到
/etc/ha.d/www
的文件,主要内容是:

# Global Directives
checktimeout=3
checkinterval=1
fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=yes

# A sample virual with a fallback that will override the gobal setting
virtual=172.31.0.16:80
real=192.168.0.2:80 gate
real=192.168.0.3:80 gate
#real=192.168.6.6:80 gate
fallback=127.0.0.1:80 gate
service=http
request="/.testpage"
receive="Test Page"
#virtualhost=some.domain.com.au
scheduler=rr
#persistent=600
#netmask=255.255.255.255
protocol=tcp

二、
ha.cf里面的内容比较多,
我挑几个主要的写吧!

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
baud 19200
serial /dev/ttyS0
auto_failback on
node localhost.realserver1

三、
haresources的内容就一句:
localhost.realserver1 IPaddr::172.31.0.16/24/172.31.0.255 ipvsadm ldirector::www
(我觉得我的ipvsadm没有自动启动可能和这句话有关,
开始以为那个'ipvsadm'部分改成'ipvsadm::start'可能能解决问题,
但是还是不行,
开机后执行结果如下

[root@localhost log]# cd /etc/rc.d/init.d/
[root@localhost init.d]# ./ipvsadm status
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn

还是没有被运行

四、
启动后/var/log/ha-log的最新信息是:

heartbeat[2712]: 2006/04/24_21:50:35 info: Heartbeat generation: 4
heartbeat[2712]: 2006/04/24_21:50:35 info: G_main_add_TriggerHandler: Added sig
al manual handler
heartbeat[2712]: 2006/04/24_21:50:35 info: G_main_add_TriggerHandler: Added sig
al manual handler
heartbeat[2712]: 2006/04/24_21:50:35 info: Removing /var/run/heartbeat/rsctmp f
iled, recreating.
heartbeat[2712]: 2006/04/24_21:50:36 info: glib: Starting serial heartbeat on t
y /dev/ttyS0 (19200 baud)
heartbeat[2712]: 2006/04/24_21:50:36 info: G_main_add_SignalHandler: Added sign
l handler for signal 17
heartbeat[2712]: 2006/04/24_21:50:36 info: Comm_now_up(): updating status to ac
ive
heartbeat[2712]: 2006/04/24_21:50:36 info: Local status now set to: 'active'
heartbeat[2712]: 2006/04/24_21:50:36 info: Local status now set to: 'up'
heartbeat[2712]: 2006/04/24_21:50:36 info: Exiting write_hostcachedata process
731 returned rc 0.

Forums:

下面是我的haresources:
web122 \
IPaddr2::ip/netmask/eth0/broadcast \
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master \
lvs

我也是用2台机器作LVS,6台Realserver,全是http,以下是我的配置
LVSMasterServer01 IPaddr::192.168.10.68/24/192.168.10.255 ldirectord

ldirectord直接启动ipvsadm,不需要ipvsadm.你改成这样试试,你ldirctor的好象少了个d.
localhost.realserver1 IPaddr::172.31.0.16/24/172.31.0.255 ldirectord

先谢谢楼上2位的帮助。

我还想知道
1、IPaddr和IPaddr2有什么区别呢?
(我是初学者,看不懂太多的脚本,见笑了)

2、那个IPAddr的参数里的ip地址,
是不是虚拟IP地址(VIP)呀?
在这里设置ip/mask/interface/broadcast有什么用呢?

如果是的话,那么清水兄的192.168.10.68是一个外面能访问的地址吗?
或者是你在router上做了映射之后,才是这个地址把?;-)

另外,确实少了一个d,我去面壁了先:-P

补充:
我刚才试了一下加上那个d,
但是还是用的ldirectord.cf这个文件,
(证据是我改了这个文件后ldirectord自动重新装载,
而改掉www.cf之后没反映)
而且如果我不写这个参数,也是调用ldirectord.cf这个文件。

就是它吧!不是重要的东西也,能运行就行了。:P

好像不带任何参数ldirectord就会去/etc/ha.d/下面找ldirector.cf。我没明白你上面的话,如果没试过,就按我说的改名的办法先看看。

I think you hit a bueyslle there fellas!

Gee wieliklrs, that's such a great post! http://ydbuzmemhc.com [url=http://fqgimfefg.com]fqgimfefg[/url] [link=http://sqgoncjxlz.com]sqgoncjxlz[/link]

192.168.10.68是内网IP,暂时测试用。如要向外提供服务,还得用公网IP。
其实用防火墙作NAT,其他全用内网IP,我这个就不需要改什么了。

randomness