• 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搭建一个高可用的双机双主热备

     

    测试完成。

  • 相关阅读:
    Python学习(四十一)—— Djago进阶
    Python学习(四十)—— Djago之认证系统
    Python学习(三十九)—— Django之Form组件
    Python学习(三十八)—— Djago之Ajax
    Python学习(三十七)—— 模板语言之自定义filter和中间件
    Python学习(三十六)—— Cookie、Session和自定义分页
    Python学习(三十五)—— Django之ORM训练专题
    Python学习(三十四)—— Django之ORM之单表、联表操作
    Python学习(三十三)—— Django之ORM
    JavaSE学习心得笔记(持续更新)
  • 原文地址:https://www.cnblogs.com/wangsongbai/p/10129399.html
Copyright © 2020-2023  润新知