相关介绍:
Virtual Route Redundancy Protocol,即虚拟路由冗余协议。它主要是实现路由器高可用的容错协议。
将多台路由器组成路由器组(Router Group),组中包括Master及Backup,在外部看来就像一台路由
器,拥有一个VIP。Master会发送组播消息,当Backup在指定的时间收不到vrrp包就会认为master宕掉,
然后通过VRRP协议再次竞选新的路由器当Master,从而保证路由器的高可用。

在VRRP协议实现中,虚拟路由器使用00-00-5E-00-01-XX作为虚拟MAC地址,XX就是唯一的VRID。

实验目的
当主Nginx挂掉,从nginx可以立即工作

利用vrrp技术,提供vip

当主nginx挂掉,利用脚本关闭主keepalied,keepalived通过vrrp技术实现从机获得vip,在从机安装相同的nginx和配置,从机通过vip继续为外界提供服务。

实验环境
centos7
nginx / Keepalived(主):192.168.11.129
nginx / Keepalived(备):192.168.11.128
VIP地址:192.168.11.220

实验步骤

主:
一、Nginx负载均衡
主/备调度器均能够实现正常调度

在主调度器上安装nginx软件
yum install -y nginx
分别向主调度器nginx的主页面写入内容
echo 'nginx01' /usr/share/nginx/html/index.html
启动nginx服务
systemctl restart nginx

二、Keepalived实现调度器HA
主/备调度器都安装软件
yum -y install keepalived
备份keepalived配置文件
cp /etc/keepalived/keepalived.conf{,.bak}
修改keepalived配置文件
vim /etc/keepalived/keepalived.conf

Nginx + Keepalived 实现高可用_第1张图片

启动keepalived并查状态
systemctl restart keepalived
systemctl status keepalived

写脚本
vim /etc/keepalived/check_nginx.sh

Nginx + Keepalived 实现高可用_第2张图片

修改文件权限
chmod +x /etc/keepalived/check_nginx.sh

将keepalived配置文件和check_nginx.sh脚本传给备调度器
scp /etc/keepalived/keepalived.conf 192.168.11.128:/etc/keepalived/
scp /etc/keepalived/check_nginx.sh 192.168.11.128:/etc/keepalived/

备:

在备调度器上安装nginx软件
yum install -y nginx
分别向备调度器nginx的主页面写入内容
echo 'nginx02' /usr/share/nginx/html/index.html

修改keepalived配置文件如下:
vim /etc/keepalived/keepalived.conf

Nginx + Keepalived 实现高可用_第3张图片

修改文件权限
chmod +x /etc/keepalived/check_nginx.sh

在主调度器上测试:

查VIP:
ip a
停nginx服务:
systemctl stop nginx
查keepalived状态:
systemctl status keepalived

Nginx + Keepalived 实现高可用_第4张图片

Nginx + Keepalived 实现高可用_第5张图片

在备调度器上查:
查VIP:
ip a

Nginx + Keepalived 实现高可用_第6张图片

浏览器测试最终结果:

Nginx + Keepalived 实现高可用_第7张图片