快捷搜索:   nginx

Linux 使用heartbeat做双机热备

用到的集群系统主要就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’

从源安装目录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]: [...] -->

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论