Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

建议:先阅读Nginx+keepalived主从配置,因为此篇是接着上篇开始的

上一篇我们简单的介绍了主从配置及其缺点,我们看一下双主热备配置:

2台Nginx+keepalived互为主备,各自绑定一个公网虚拟IP,提供负载均衡服务,同时工作,当其中一台机器出现故障,请求转移到一台机器负担,对比与主从来说资源利用比较合理,也比较适合目前的架构。

准备:

标配四台服务器[全部搭建完成]

Master1:192.168.102.110 nginx+keepalived[对应我们上篇的master]

Master2:192.168.102.113 nginx+keepalived[对应我们上篇的backup]

VIP-master1:192.168.102.138

VIP-master2:192.168.102.139

Tomcat1:192.168.102.111

Tomcat2:192.168.102.112

1、因为这里是接着Nginx+keepalived主从配置写的,咱们先看一下主从的配置

查看master和backup的Nginx、keepalived配置[目前是主从配置]

Master的keepalived配置

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

Master的Nginx配置

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

Backup的keepalived配置

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

Backup的Nginx配置

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

2、 把主从配置修改为双主热备

Master对应master1,修改master配置文件

注意看下方注释:

#定义vrrp实例,VI_1 为虚拟路由的标示符,自己定义名称

#keepalived在同一virtual_router_id中priority(0-255)最大的会成为master,也就是接管VIP

#priority最大的主机发生故障后次priority将会接管

vrrp_instance VI_1 {

state MASTER #主服务器,注意这里如果是主从。那么当主priority<从priority,backup是会抢占为master的

interface eth0 #网卡名

virtual_router_id 51 #同一vrrp_instance下主备要相同

priority 100 #如果是主备,优先级要区别

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

#设置VIP,它随着state变化而增加删除,当state为master的时候就添加,当state为backup的时候则删除,由优先级决定

virtual_ipaddress {

#192.168.200.16

#192.168.200.17

#192.168.200.18

192.168.102.138 #vip

}

}

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

#定义vrrp实例,VI_2 为虚拟路由的标示符,自己定义名称

#keepalived在同一virtual_router_id中priority(0-255)最大的会成为master,也就是接管VIP

#priority最大的主机发生故障后次priority将会接管

vrrp_instance VI_2 {

state BACKUP #从服务器,注意这里如果是主从。那么当主priority<从priority,backup是会抢占为master的

interface eth0 #网卡名

virtual_router_id 52 #同一vrrp_instance下主备要相同

priority 90 #如果是主备,优先级要区别

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

#设置VIP,它随着state变化而增加删除,当state为master的时候就添加,当state为backup的时候则删除,由优先级决定

virtual_ipaddress {

#192.168.200.16

#192.168.200.17

#192.168.200.18

192.168.102.139 #vip

}

}

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

Backup对应master2,修改backup配置文件。类似同上

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

3、 测试

使用192.168.102.138

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

使用192.168.102.139

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

4、模拟故障

挂掉master1[vip1]

这时不管访问的是vip1[192.168.102.138]还是vip2[192.168.102.139]都将导到vip2上去

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

测试

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

现在所有的请求都转移到master2

Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备

测试完成。

原文始发于:Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备