Heartheat 2.x学习
这两天学习了一下Heartheat 软件2.x版本的使用,感谢南非蚂蚁大哥的指点!
Heartbeat软件是为了让服务实现高可用,为防止资源的错乱,heartbeat启动的时候会自动的启动相应的服务,停止的时候也会把相应的服务停止掉。如果heartheat发现主服务器不可用或者网络有问题,就会将vip切换到从上,同时停止掉主上的对应服务。从目前我使用的情况来看,发现heartbeat 2.x版本有一个不足的地方,heartbeat只能检测到网络有问题、master服务器挂掉或者master的heartbeat进程挂掉等情况,当对应的服务出现问题或者进程挂掉以后不会进行切换,需要而外的写脚本来监测主和从上的heartbeat上的对应服务的可用情况,然后判断是否进行主从切换!
下面就针对Heartheat 2.x的学习做个简单的总结,留个存档,方便以后学习!
一、Heartbeat 2.x测试环境
Heartbeart的测试环境如下:
节点角色 |
节点系统 |
节点主机名 |
节点IP |
Heartbeart版本 |
Master |
Centos 5.5 64bit |
test1 |
10.1.4.236 |
heartbeat-2.1.3 |
Slave |
Centos 5.5 64bit |
test2 |
10.1.4.217 |
heartbeat-2.1.3 |
VIP:10.1.4.222
二、Heartbeat 2.x的安装
Heartbeat 2.x的安装还是非常简单,主要有下面两种:
1. Rpm包的安装
RPM包的安装是最简单,我的环境就是用rpm包安装的,直接使用yum暗转即可:
yum -y install heartbeat-*
2. 源代码编译安装
需要先下载heartbeat,可以到如下连接去下载:
wget http://www.ultramonkey.org/download/heartbeat/2.1.3/heartbeat-2.1.3.tar.gz
三、 Heartbeat 2.x的配置
Hearbeat的配置主要包括三个配置文件,authkeys,ha.cf和haresources的配置,下面就分别来看!
1. Authkeys文件的配置
这个文件用来配置密码认证方式,支持3种认证方式,crc,md5和sha1,从左到右安全性越来越高,消耗的资源也越多。因此如果heartbeat运行在安全的网路之上,比如私网,那么可以将验证方式设置成crc,我的authkeys文件配置如下:
cat authkeys
auth 1
1 crc
#2 sha1 Hello!
#3 md5 Hello!
注意:authkeys文件的权限需要设置成600,chmod 600 authkeys
2.主ha.cf文件的配置
#设置ha日志存放的位置
logfile /var/log/ha-log
#设置日志等级
logfacility local0
#设置heartbeat的时间间隔为2s
keepalive 2
#设置宣布节点死亡的时间间隔为30s
deadtime 30
#设置在日志中发出“late heartbeat“警告之前等待的时间为10s
warntime 10
#设置重启后,等待网络等资源正常的时间,至少应该为deadtime的两倍
initdead 60
#使用udp端口694进行bcast和ucast通信
udpport 694
#设置ucast heartbeat媒介,用于发送和接收heartbeats信息,配置IP为对方的IP
ucast eth0 10.1.4.217
#设置主机恢复后是否自动切回服务状态
auto_failback on
#设置节点中的主机,注意这些主机名要真实存在的
node test1
node test2
#设置一个可靠的网络地址,比如网关,用于ipfail
ping 192.168.1.254
respawn hacluster /usr/lib64/heartbeat/ipfail
从的配置和主的配置不同的是,ucast eth0后面接的是对方的IP。
3. haresources的配置
haresources用来设置master的主机名、虚拟IP、服务以及磁盘挂载等,我这里只测试了服务的情况!haresources配置如下:
test1 10.1.4.222/32/eth0 httpd
4. 配置hosts
在hosts文件中添加节点主机,加快节点间的通信速度
10.1.4.236 test1
10.1.4.217 test2
四、 Heartbeat 2.x的管理
Heartbeat的启动
/etc/rc.d/init.d/heartbeat stop
Heartbeat的停止
/etc/rc.d/init.d/heartbeat start
今天就到这里,回头研究一下通过crm控制的管理。