分类: 服务器与存储
2008-06-07 16:50:11
我用到的集群系统主要就2种:
高可用(High Availability)HA集群, 使用Heartbeat实现;也会称为”双机热备”, “双机互备”, “双机”。
负载均衡群集(Load Balance Cluster),使用Linux Virtual Server(LVS)实现;
这里只讨论HA,使用Heartbeat实现.集群
heartbeat的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未受到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。
下载libnet (heartbeat需要)
下载Heartbeat
groupadd haclient
useradd hacluster -g haclient
安装都是./configure [–prefix=$dstpath] && make && make install
从源安装目录doc目录下找到ha.cf/haresources/authkeys三个文件,复制到程序目录相关路径
cp doc/{ha.cf,haresources,authkeys} ../etc/ha.d/
1.编辑两台机器的/etc/hosts文件,加入HA01,HA02相关IP说明
2.vi /etc/hc.d/authkeys
auth 1 #或其它
1 crc
#chmod 600 authkeys
3.vi haresources
HA01 1.1.1.1 http #1.1.1.1为用户需要访问的实际IP
4.vi ha.cf
keepalive 2
deadtime 30
initdead 120
logfacility local0
auto_failback on
udpport 694
bcast eth1
node HA01
node HA02
#../lib/heartbeat/ResourceManager listkeys `/bin/uname -n`
我将HA01停机,HA02已正常发现并切换服务. 同理HA02停机,HA01也可以发现并接管服务.
heartbeat[3078]: 2007/09/20_14:28:25 WARN: node ha02: is dead
heartbeat[3078]: 2007/09/20_14:28:25 info: Comm_now_up(): updating status to active
heartbeat[3078]: 2007/09/20_14:28:25 info: Local status now set to: ‘active’