双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务。下面我们使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。
试验准备:
两个机器, 都是centos6.5,网卡eth1 ip如下:
chen   192.168.36.128
root  192.168.36.132
安装epel扩展源:
rpm -ivh  'http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm'
安装heartbeat:
两个机器都安装heartbeat / libnet
yum  install -y heartbeat*   libnet  nginx
主上(chen)配置:
cd /usr/share/doc/heartbeat-3.0.4/
cp  authkeys  ha.cf haresources   /etc/ha.d/
cd /etc/ha.d
vi  authkeys  #加入
>3 md5 Hello!
chmod 600 authkeys
vi  haresources  #加入
>chen 192.168.36.128/eth1:0 nginx   
vi  ha.cf   #改为如下内容:
>debugfile /var/log/ha-debug
>logfile /var/log/ha-log
>logfacility     local0
>keepalive  2
>deadtime  30
>warntime  10
>initdead  60
>udpport  694
>ucast eth1  192.168.36.132
>auto_failback on
>node    chen
>node    root
>ping 192.168.253.1  #裁判的ip
>respawn hacluster /usr/lib/heartbeat/ipfail
>
把主上的三个配置拷贝到从上:
cd /etc/ha.d/
scp  authkeys  ha.cf haresources   root:/etc/ha.d/
到从上(root) 编辑ha.cf
vi  /etc/ha.d/ha.cf   #只需要更改一个地方
ucast eth1 192.168.36.132 改为   ucast eth1 192.168.36.128  
启动heartbeat :
先主,后从
service heartbeat start
检查测试 :
ifconfig   #看是否有 eth1:0
ps aux |grep nginx    #看是否有nginx进程
测试1:
主上故意禁ping
iptables -I INPUT -p icmp -j DROP
测试2:
主上停止heartbeat服务
service heartbeat stop 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彭彭和丁满!
 评论


