linux---集群架构初探(23)Nginx双机热备---Keepalived高可用

Keepalived作用

若当前设备发生故障,启用备用设备,解决单点故障。

工作流程

1.将多台设备加入到一个虚拟组(拥有虚拟IP和虚拟MAC地址)

2.用户将数据发送至虚拟组,虚拟组会将目标地址转换成当前的master设备(主设备)的IP和MAC。

3.若master设备出现故障,则从其他备用设备中启用优先级最高的一台作为master设备。

使用协议

VRRP 虚拟路由冗余协议 Virtual Router Redundancy Protocol

裂脑

可能会出现的故障:裂脑,虚拟组中心跳线断开,有两台及以上的设备认为自己是主设备。

模拟环境

两台负载均衡服务器lb01(192.168.1.5)  lb02(192.168.1.6)

安装Keepalived

yum install keepalived -y

systemctl start keepalived
systemctl enable keepalived

配置文件

位置:/etc/keepalived/keepalived.conf

注:这里只留下了最基本的几行,先跑通。

advert_int是主备设备通讯时间间隔,已确认对方还“正常活着”。(心跳线)

查看发现在lb01中的网卡ens33下多了一个IP地址

而在lb02中的网卡ens33下没有该IP,说明目前lb01是主设备

测试漂移

漂移即指当主设备宕机时,master状态从lb01漂到lb02

打开物理主机的cmd,输入arp -a

可以看到192.168.1.3也是有MAC地址的,并且与192.168.1.5相同。

在lb01中使用命令:tail -f /var/log/nginx/access.log

打开浏览器,在地址栏输入192.168.1.3,发现lb01中access.log文件中记录了此次请求。

将lb01关机,在lb02中使用命令tail -f /var/log/nginx/access.log,再刷新浏览器,发现可以正常访问,并且在lb02中的access.log中记录了此次请求。

说明漂移成功。(此时打开lb01,会发现主设备又变成lb01了,因为其优先级更高)

 

posted @ 2020-06-24 03:17  盗哥泡茶去了  阅读(102)  评论(0编辑  收藏  举报