双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(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 许可协议。转载请注明来自 彭彭和丁满!
评论