linux笔记39-HA高可用集群搭建

HA高可用集群

HA即(high avaliable)高可用,又叫做双机热备,用于关键性业务,也就是有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务。常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能。

 

下面,使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。

1、试验准备:

两台机器,都是64位centos6.9,网卡 IP如下:
HostA eth0   192.168.1.119

HostB eth1  192.168.1.120

HostA eth1  192.168.153.119

HostB eht2  192.168.153.120

虚拟IP:

192.168.1.122

2、准备部分:

关闭防火墙iptables -F

关闭selinux:setenforce 0

设置hosts:

192.168.1.119 HostA   

192.168.1.120 HostB   

3、安装heartbeat /libnet/nginx

yum install -y heartbeat* libnet nginx

4、主上(HostA)配置

cd /usr/share/doc/heartbeat-3.0.4

cp authkeys ha.cf haresources /etc/ha.d/

cd /etc/ha.d

vi authkeys //加入

auth 3

3 md5 Hello!

chmod 600  authkeys 

vi haresources //加入

HostA 192.168.1.121/24/eth0:0 nginx  #配置虚拟IP

vi ha.cf  //修改、增加如下内容

debugfile /var/log/ha-debug
logfile /var/log/ha-log
keepalive 2      #配置心跳检测间隔时间,单位秒
deadtime 30     #超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡
warntime 10      #超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中initdead 120      #重启等待时间,单位秒
udpport 694      #设置广播通信使用的端口,694为默认使用的端口号
ucast eth1 192.168.153.120    #设置对方机器心跳检测的网卡和对方IP
auto_failback on      #主重启后,资源自动恢复给主
node HostA
node HostB           
ping 192.168.153.1     #设置ping
respawn hacluster /usr/lib64/heartbeat/ipfail   #ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接

5、从上(HostB)上配置

使用 rsync将A的三个文件拷贝到HostB上:

rsync -av ha.cf haresources authkeys HostB:/etc/ha.d/

修改haresouces文件:

HostA 192.168.1.121/24/eth1:0 nginx  #因为HostB上第一个网卡是eth1,所以要更改成那个eth1,不更改会导致HostB无法定位到eth0网卡,而无法正常工作;

修改ha.cf文件:

ucast eth2 192.168.153.119  #设置机器心跳检测的网卡和对方IP

6、启动

在主从上启动heartbeat服务:

/etc/init.d/heartbeat start

7、测试

此时,两台机器进程情况如下,HostA中nginx正常启动,虚拟网卡eth0:0正常工作,而HostB中ngixn没有正常启动 ,虚拟网卡也没有工作。

 

 

HostA上封掉PING包:

iptables -I OUTPUT -p icmp -j DROP

等候一段时间后,HostA上nginx进程销毁,eth0:0虚拟网卡消失,同时,HostB上启动nginx进程,出现eht1:0虚拟网卡,测试成功:

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值