zoukankan      html  css  js  c++  java
  • 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搭建一个高可用的双机双主热备

     

    测试完成。

  • 相关阅读:
    常见算法的时间复杂度
    electron 展示pdf
    AudioContext
    js 计算文字宽度
    python 窗口被关闭报错
    qq行情数据。sina行情JOSN,建议用qq,涨跌,财务数据有-市盈
    python AttributeError: 'NoneType' object has no attribute 'prepare'
    策略日志
    使用Python下载A股行情的几种方法
    easytrader
  • 原文地址:https://www.cnblogs.com/wangsongbai/p/10129399.html
Copyright © 2011-2022 走看看