请章老师看下郁闷了好几天的Heartbeat问题,谢谢!

安装参照:http://zh.linuxvirtualserver.org/node/95
http://www-128.ibm.com/developerworks/cn/linux/cluster/l-lvsinst/index.html

我的环境如下:
所有服务器和Real ServerRedhat都是Linux 9.0+kernel 2.4.32
LVSMasterserver01:192.168.10.109(eth0) heartbeat ip:eth1=172.16.10.109 vip1:=eth0:0=192.168.10.67

LVSSlaveServer01:192.168.10.110(eth0) heartbeat ip:eth1=172.16.10.110 vip1:=eth0:0=192.168.10.68

Real1:192.168.10.104
Real2:192.168.10.105
Real3:192.168.10.106

安装的主要的软件包:
-rw-r--r-- 1 root root 5634032 Apr 12 10:54 heartbeat-2.0.4-1.i586.rpm
-rw-r--r-- 1 root root 89150 Apr 12 10:54 heartbeat-ldirectord-2.0.4-1.i586.rpm
-rw-r--r-- 1 root root 143587 Apr 12 10:54 heartbeat-pils-2.0.4-1.i586.rpm
-rw-r--r-- 1 root root 691334 Apr 12 22:09 heartbeat-stonith-2.0.4-1.i586.rpm
-rw-r--r-- 1 root root 34030 Jan 22 2005 ipvsadm-1.21-11.tar.gz

一、LVS服务器1:LVSMasterServer01的主要配置文件如下:
1)more /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.10.67 lvs
192.168.10.68 lvs1
172.16.10.109 LVSMasterServer01
172.16.10.110 LVSSlaveServer01

2)more /etc/ha.d/ha.cf主要配置信息

#
auto_failback on
node LVSMasterServer01
node LVSSlaveServer01
3) more /etc/ha.d/haresources
LVSMasterServer01 IPaddr::192.168.10.67/32/eth0:0/192.168.10.67 ldirectord
LVSMasterServer01 IPaddr::192.168.10.68/32/eth0:1/192.168.10.68 ldirectord

二、LVS服务器2:LVSSlaveServer01的主要配置文件如下(跟lvs服务器1差不多):
1)more /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.10.67 lvs
192.168.10.68 lvs1
172.16.10.109 LVSMasterServer01
172.16.10.110 LVSSlaveServer01

三、我主要的问题如下:

先说明一下,作心跳的线是五类交叉双绞线(用交换连接也试过),是可以互相ping通。所有的服务器互连是用Cisco 2950.

1)/etc/hosts的内容172.16.10.109 LVSMasterServer01 和ha.cf下的node LVSMasterServer01有关系吗,这样配置是对的吗?在hosts用192.168.10.109 LVSMasterServer01这样可以吗?

2)怎样确定heartbeat机器谁是主Active,谁是备Passive,/etc/ha.d/ha.cf下的内容
node LVSMasterServer01
node LVSSlaveServer01
前面的表示主,后面的是备或是先启动就是Active?

具体就是如何配置实现Active-Pasive方式?

3)我是先启动LvsMasterserver01,后启动LVSSlaveServer01,但是启动后,两台机器的VIP都出现了.作心跳的接口是互相可以连通的。我相这就是Active-Active方式,同一IP对应两个MAC,就会产生连接的问题?这样理解对吧?Ultre Monkey网站有介绍作load balacne的方法。

4)在A-P或A-A方式下,Active的机器会同时把Session复制到Passive的吗?即使复制了,切换到Passive的机器后,MAC地址也会发生变发,Client到Server的连接也会中断一下。请问有什么具体配置的方法来实现?

5)在您写的一篇文章中http://zh.linuxvirtualserver.org/node/95 有处:

在服务器上添加以下脚本/etc/init.d/tunl,用来配置tunl端口,应用arp补丁:
ifconfig tunl0 $VIP netmask 255.255.255.255 broadcast $VIP up

/etc/ha.d/haresources)中定义了实现集群所需的各个软件的启动脚本。
loadbalancer lvs IPaddr::192.168.136.10/24/eth0 ipvsadm ldirectord

这里的eth0为什么不是tunl0?这里的子网掩码是24,为什么不是32呢?

6)我除了heartbeat的部分有问题外,其它Ldirectord,ipvsadm都是正常,能够按配置来分发。

非常感谢您的帮助!

Forums:

当我拔掉网络或ifconfig eth1 down(eth1作心跳接口)。其实我的LVSMaster是好的,如何设置才让LVSSlave不要Active,继续Standby?我看你写的文档上说:

# 可以通过ipfail插件,设置'ping nodes'来解决这一问题。详细说明参考hearbeat文档。

这是我的配置:不知是否正确?我ifconfig eth1 down后,结果两边都处于Active状态。
#ping 192.168.136.1 172.16.0.1
ping_group group1 192.168.10.100 192.168.100.102
//192.168.10.100是网络的一台主机,心跳是172.16.10.110
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root

# Less common options...
#
# Treats 10.10.10.254 as a psuedo-cluster-member
# Used together with ipfail below...
# note: don't use a cluster node as ping node
#

haresource中,写在前面的是active,后面的passive。