Heartheat 2.x学习

Heartbeat软件是为了让服务实现高可用,为防止资源的错乱,heartbeat启动的时候会自动的启动相应的服务,停止的时候也会把相应的服务停止掉。如果heartheat发现主服务器不可用或者网络有问题,就会将vip切换到从上,同时停止掉主上的对应服务。从目前我使用的情况来看,发现heartbeat 2.x版本有一个不足的地方,heartbeat只能检测到网络有问题、master服务器挂掉或者masterheartbeat进程挂掉等情况,当对应的服务出现问题或者进程挂掉以后不会进行切换,需要而外的写脚本来监测主和从上的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

VIP10.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的配置主要包括三个配置文件,authkeysha.cfharesources的配置,下面就分别来看!

1.Authkeys文件的配置

这个文件用来配置密码认证方式,支持3种认证方式,crcmd5sha1,从左到右安全性越来越高,消耗的资源也越多。因此如果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

#设置日志等级

logfacilitylocal0

#设置heartbeat的时间间隔为2s

keepalive 2

#设置宣布节点死亡的时间间隔为30s

deadtime 30

#设置在日志中发出“late heartbeat“警告之前等待的时间为10s

warntime 10

#设置重启后,等待网络等资源正常的时间,至少应该为deadtime的两倍

initdead 60

#使用udp端口694进行bcastucast通信

udpport 694

#设置ucast heartbeat媒介,用于发送和接收heartbeats信息,配置IP为对方的IP

ucast eth0 10.1.4.217

#设置主机恢复后是否自动切回服务状态

auto_failback on

#设置节点中的主机,注意这些主机名要真实存在的

nodetest1

nodetest2

#设置一个可靠的网络地址,比如网关,用于ipfail

ping 192.168.1.254

respawn hacluster /usr/lib64/heartbeat/ipfail

从的配置和主的配置不同的是,ucast eth0后面接的是对方的IP

3.haresources的配置

haresources用来设置master的主机名、虚拟IP、服务以及磁盘挂载等,我这里只测试了服务的情况!haresources配置如下:

test110.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

你可能感兴趣的:(学习)