在RHEL上有很多种HA的方案,这里是其中一种很简单的方案。
Heartbeat的HA,Heartbeat实现的是一种简单的HA的方式,提供的功能也相对的简单,是一种双机热备的方式,主从模式的实现。两台机器,一个是主机,一个是从机,当主机宕机的时候,从机take over主机的资源,从而提供稳定的服务。
安装过程如下
先下载heartbeat的安装包,我的是RHEL AS 4的平台,找了好久,找到的是heartbeat2.0.4与之搭配。
在http://inthirties.com:90/thread-1058-1-1.html 下载
我这里 下载了所有的包,
安装下面的包
heartbeat-2.0.4-1.el4.i386.rpm
heartbeat-pils-2.0.4-1.el4.i386.rpm
heartbeat-stonith-2.0.4-1.el4.i386.rpm
ipvsadm-1.24-5.i386.rpm
libnet-1.1.2.1-1.rh.el.um.1.i386.rpm
如果安装过程中提示一些依赖的问题的话,你可以根据提示在以上的网上找到相应的依赖包,下载并安装。
安装完成以后,chkconfig --list | grep heartbeat
可以看到heartbeat的自动启动服务已经开启。
下面我们开始配置我们的heartbeat。
我的实验机器有两台,分别安装有两个网卡,其中的网络配置如下
/etc/hosts(两台一样)
192.168.137.137 www1 ### 节点一公共ip
172.16.10.137 ha1 ### 节点一心跳ip
192.168.137.138 www2 ### 节点二公共ip
172.16.10.138 ha2 ### 节点二心跳ip
节点一hostname为www1
[root@www1 ~]hostname www1
[root@www1 ~]vi /etc/sysconfig/network
HOSTNAME=www1
节点二hostname为www2
[root@www2 ~]hostname www2
[root@www2 ~]vi /etc/sysconfig/network
HOSTNAME=www2
拷贝/usr/share/doc/heartbeat-2.0.4/下的authkeys,ha.cf,haresource三个文件至/etc/ha.d/目录下
修改这几个heartbeat文件
[b]authkeys文件(配置心跳的加密方式)[/b]
auth 1
1 crc
[b]ha.cf文件(心跳的配置)[/b]
logfile /var/log/ha-log ## heartbeat的日志文件
keepalive 2 ## 心跳间的间隔时间,单位是秒,这里是2秒一次心跳 how long between heartbeats
deadtime 10 ## 判断服务死亡的方式,心跳失败多少次为死亡,注意这里单位不是秒,是次数,这里就是10次,也就是20秒 how long-to-declare-host-dead
warntime 5 ## 心跳失败多少次报警 这里是5次
initdead 120 ## 当主机重启以后,需要多久才开始重新从从机接管资源,单位是秒,这里是120秒。2分钟
udpport 694 ## 心跳的udp端口
bcast eth1 ## 心跳的网卡接口,在哪个网卡上进行心跳,我这里是在第二块网卡上作为心跳线的
##### 心跳的节点,这里很重要,这里的节点名称一定要是和你的hostname一致的,不然启动heartbeat会有错误的提示,提示hostname必须和node一致。
node www1
node www2
ping 192.168.137.1 ### 心跳线的检查, 这里192.168.137.1是网关的地址,借以来确定心跳线的OK的。这不是必选项 用来为ipfail等模块检查网络连接情况的,这里不应是集群节点
respawn hacluster /usr/lib64/heartbeat/ipfail ###在heartbeat启动进运行的程序,ipfail插件的用途是检测网络故障,并作出合理的反应
配置/etc/ha.d/haresource(心跳的资源)
www1 192.168.137.37 ipvsadm httpd #### 添加www1上一个虚拟IP192.168.137.37 启动ipvsadm httpd服务后面可以接多个服务 比如httpd mysqld 等等,就是依次启动。
注意这里的服务都是由heartbeat托管了,所以这些服务由heartbeat负责启动和停止,这样这些服务不要配置成自启动的模式
chkconfig httpd off
chkconfig ipvsadm off
两个节点上的这个三个配置文件一样。如果配置正确的话,启动heartbeat的时候不会出现错误。否则有错误出现。
在下面的一片文章里,inthirties将带领大家一起通过具体的实验,来验证和使用,以及追踪我们的heartbeat的应用