<--目录-->

1)Heartbeat工作原理

2)Heartbeat部署


【Heartbeat工作原理】

     通过修改heartbeat软件的配置文件,可以指定哪一台Heartbeat服务器作为主服务器,则另一台  将自动成为执备服务器。然后热备服务器上配置Heartbeat守护程序来监听来自主服务器的心跳信息。  如果热备服务器在指定时间内未监听来自服务器的心跳,就会启动故障转移程序,并取得主服务器上的  相关资源的所有权,接替主服务器继续不间断的提供服务,从而达到资源及服务高可用性的目的

     以上描述的是heartbeat主备的模式,heartbeat还支持主主模式,取两台服务器互为主备,这时它  们之间会相互发送报文来告诉对方自已当前的状态,如果在指定的时间内未受到对方发送的心跳报文,  那么,一方就会认为对方失败或者宕机了,这时每个运行正常的主机就会启动自身的资源接管模块来接  管运行在对方主机上的资源或者服务,继续为用户提供服务。一般情况下,可以较好的实现一台主机故  障后,企业业务仍能够不间断的持续运行。注意,所谓的业务不间断,在故障转移期间也是需要切换时  间的,heartbeat的切换时间一般是在5-20秒左右

 另外:和keepalived服务一样,heartbeat高可用是服务器级别的,不是服务级别的。 

 切换的常见条件:

 1)服务器岩机

 2)Heartbeat服务本身故障

 3)心跳连接故障

 服务故障不会导致切换。可以通过服务宕机把heartbeat服务停掉



【Heartbeat部署】

Heartbeat-Master机器

eth0 192.168.1.102    管理IP,用于WAN数据转发

eth1 192.168.10.102   用于服务器间心跳连接(直连)


Heartbeat-Backup机器

eth0 192.168.1.103    管理IP,用于WAN数据转发

eth1 192.168.1.103    用于服务器间心跳连接(直连)


1、Heartbeat-Master

#配置主机名

hostname Heartbeat-Master

sed -i '2d' /etc/sysconfig/network

sed -i '1a HOSTNAME=Heartbeat-Master' /etc/sysconfig/network


#配置hosts

cat >>/etc/hosts<

192.168.1.102 Heartbeat-Master

192.168.1.103 Heartbeat-Backup

EOF


#添加路由

route add -host 192.168.1.103 dev eth1

echo "/sbin/route add -host 192.168.1.103 dev eth1" >> /etc/rc.local


#安装Heartbeat

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum -y install heartbeat*


#配置ha.cf配置文件

cd /etc/ha.d/

cat >>ha.cf<

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility local1


keepalive 2

deadtime 30

warntime 10

initdead 60


mcast eth1 225.0.0.18 694 1 0


auto_failback on

node    Heartbeat-Master 

node    Heartbeat-Backup

crm     no

EOF

cat >>authkeys<

auth1

1 sha1 lsafjlasfj234ljslsjdflj234ljsflaj324lj234ljsaf32ljsldfajlaf

EOF

cat >>haresources<

Heartbeat-Master IPaddr::192.168.1.102/24/eth0 httpd

Heartbeat-Backup IPaddr::192.168.1.103/24/eth0 

EOF

chmod 600 /etc/ha.d/authkeys

/etc/init.d/heartbeat start



2、Heartbeat-Backup

hostname Heartbeat-Backup

sed -i '2d' /etc/sysconfig/network

sed -i '1a HOSTNAME=Heartbeat-Backup' /etc/sysconfig/network


#配置hosts

此步骤跟Master一样


#添加路由

route add -host 192.168.1.102 dev eth1

echo "/sbin/route add -host 192.168.1.102 dev eth1" >> /etc/rc.local


#安装Heartbeat

此步骤跟Master一样