zoukankan      html  css  js  c++  java
  • keepalived配置Nginx高可用

    keepalived基于VRRP协议,组件免费,可以解决单点故障,实现高可用HA机制。keepalived可以用于解决Nginx高可用问题。

    • 云服务器不采用keepalived,云服务厂商可能不提供虚拟IP服务,可以直接使用云负载均衡服务。

    1 keepalived

    1.1 VRRP协议与原理

    虚拟路由冗余协议 VRRP,是解决内网单机故障的路由协议,构建有多个路由器MASTER BACKUP,采用虚拟IP机制(用户访问虚拟ip,渲染出主节点;当主节点故障,心跳检测到故障,虚拟IP指向备用节点)。

    配置高可用主备节点,机器配置需要相同。备用节点配置过低,大量请求进来会瞬间宕机,无法保证高可用。

    VRRP原理

    VRRP将局域网内的一组路由器划分在一起,称为一个备份组。备份组由一个Master路由器和多个Backup路由器组成,功能上相当于一台虚拟路由器。

    VRRP备份组具有以下特点:

    • 虚拟路由器具有IP地址,称为虚拟IP地址。局域网内的主机仅需要知道这个虚拟路由器的IP地址,并将其设置为缺省路由的下一跳地址。
    • 网络内的主机通过这个虚拟路由器与外部网络进行通信。
    • 备份组内的路由器根据优先级,选举出Master路由器,承担网关功能。其他路由器作为Backup路由器,当Master路由器发生故障时,取代Master继续履行网关职责,从而保证网络内的主机不间断地与外部网络进行通信。

    2 安装keepalived与配置双机主备

    官网下载https://www.keepalived.org/download.html

    # 解压缩
    cd keepalived-2.0.18/
    # 安装依赖
    yum -y install libnl libnl-devel
    # 初始配置路径
    ./configure --prefix=/usr/local/keepalived --sysconf=/etc
    # 编译,安装
    make && make install
    
    • prefix: 安装位置
    • sysconf:核心配置文件位置,固定位置。改为其它,启动报错。

    配置192.168.233.130/131两台机器的核心配置

    global_defs {
        # 路由id, 当前安装keepalived节点的主机标识符,保证全局唯一
        router_id LVS_130
    }
    
    vrrp_instance VI_1 {
        # 表示节点是MASTER,还是BACKUP
        state MASTER
        # 该实例绑定的网卡
        interface ens33
        # 保证主备节点一致即可
        virtual_router_id 51
        # 权重,主节点挂掉后,选举出优先级更高的节点作为主节点
        priority 100
        # 心跳间隔,主备节点之间同步检查时间间隔,默认1s
        advert_int 1
        # 认证权限密码,防止非法节点进入
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        # 设置虚拟ip,可以多个
        virtual_ipaddress {
            192.168.233.120
        }
    }
    
    • 131节点的配置文件与主节点配置基本一致,需要修改路由id、state改为BACKUP、调低权重。

    启动keepalived,查看ip addr可以看到虚拟网卡信息。ps查看进程信息。

    inet 192.168.233.120/32 scope global ens33
    
    ps -ef | grep keepalived
    

    将keepalived注册为服务

    # 将源码目录下文件拷贝到启动目录
    cp init.d/keepalived /etc/init.d/
    cp sysconfig/keepalived /etc/sysconfig/
    
    systemctl daemon-reload
    systemctl start keepalived.service
    

    当主节点MASTER和备用节点BACKUP同时运行起来,只有MASTER的网卡信息中有虚拟IP。当MASTER宕机(主机keepalived挂掉)时,BACKUP启用,网卡中出现虚拟IP;在MASTER修复重新启动后,运行主机切换为原MASTER。

    针对于访问哪台节点,可以监控nginx访问日志:tail access.log -f 。

    参考资料

    https://www.jianshu.com/p/4b46586e79aa

    版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/dtyy/p/14249320.html
Copyright © 2011-2022 走看看