CentOS安装heartbeat

     2014年02月12日       teddy.sun       运维笔记->系统管理       heartbeat 

Heatbeat简介
对于无状态的服务,为了避免单点问题,我们可以使用heartbeat做HA,将服务运行在多个机器上,做自动故障切换。
下面我们以host1和host2提供httpd高可用服务(VIP 192.168.1.1)为例,说明heartbeat的安装和使用过程。场景如下:

安装heatbeat

heartbeat的包在CentOS的默认RPM仓库里就带有,通过yum安装即可

yum install -y heartbeat

认证文件 /etc/ha.d/authkeys

同一组heartbeat服务的authkeys都需要一致,auth方法有crc、sha1、md5 3种,通过auth指定加密方式,之后指定密钥。
这里我们使用md5,/etc/ha.d/authkeys的内容如下:

auth 3
3 md5 heartbeat_pass

将/etc/ha.d/authkeys 设置为root:root 权限 700,确保机密性

HA参数配置文件 /etc/ha.d/ha.cf

指定内容如下:

logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 5
initdead 10
bcast bond0
udpport 695
auto_failback off
node host1
node host1

说明:logfile指定heartbeat的日志位置,udpport指定ha心跳udp端口,后面node指定2个做ha的机器(注意这里的主机名要和机器上uname -r出来的一致)

HA资源配置文件 /etc/ha.d/haresources

Heartbeat最重要的就是维护高可用资源,而/etc/ha.d/haresources定义的即资源。指定内容如下:

host1 192.168.1.1 httpd

说明:第一列表示ha的机器名(2个机器名中可以随意指定一个),第二列是VIP(虚拟ip),第三列是服务(/etc/init.d/服务名 start|stop)

启动heartbeat

先在host1上启动heartbeat

/etc/init.d/heartbeat start

观察 /var/log/ha-log 确定heartbeat将httpd服务和vip配置成功后,启动host2上的heartbeat

/etc/init.d/heartbeat start