• Nginx+keepalived双机热备(主主模式)


    IP说明:

    master机器(master-node):10.0.0.5/172.16.1.5   VIP1:10.0.0.3
    slave机器(slave-node): 10.0.0.6/172.16.1.6   VIP2:10.0.0.4

    注意事项:

    双主配置:MASTER-BACKUP和BACKUP-MASTER;

    如果是三主,就是MATER-BACKUP-BACKUP、BACKUP-MASTER-BACKUP和BACKUP-BACKUP-MASTER;

    配置中的虚拟路由标识virtual_router_id在MASTER和BACKUP处配置不能一样,但在主从模式下配置是一样的.

    1.master上的keepalived配置

    global_defs {
       notification_email {
        174646513@qq.com 
       }
       notification_email_from 17461651@qq.com
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id lb01
    }
    
    vrrp_script chk_http_port {
        script "/service/scripts/chk_nginx.sh"
        interval 2
        weight -5
        fall 2
        rise 1
    }
    vrrp_instance VI_1 {
        state MASTER
        interface eth0
        mcast_src_ip 10.0.0.5
        virtual_router_id 51
        priority 101
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            10.0.0.3
        }
    
        track_script {
            chk_http_port
        }
    notify_master "/etc/keepalived/clean_arp.sh 10.0.0.3"
    }
    
    vrrp_instance VI_2 {
        state BACKUP
        interface eth0
        mcast_src_ip 10.0.0.6
        virtual_router_id 52
        priority 99
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            10.0.0.4
        }
    
        track_script {
            chk_http_port
        }
    notify_master "/etc/keepalived/clean_arp.sh 10.0.0.4"
    }
    

    2.更新vip的arp记录到网关的脚本

    cat /etc/keepalived/clean_arp.sh
    #!/bin/sh
    VIP=$1
    GATEWAY=10.0.0.2  # 负载均衡器的网关地址
    /sbin/arping -I em1 -c 5 -s $VIP $GATEWAY &>/dev/null
    chmod 755 /etc/keepalived/clean_arp.sh
    

    3.slave上的keepalived配置

    global_defs {
       notification_email {
        174646513@qq.com 
       }
       notification_email_from 17461651@qq.com
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id lb01
    }
    
    vrrp_script chk_http_port {
        script "/service/scripts/chk_nginx.sh"
        interval 2
        weight -5
        fall 2
        rise 1
    }
    vrrp_instance VI_1 {
        state BACKUP
        interface eth0
        mcast_src_ip 10.0.0.5
        virtual_router_id 51
        priority 99
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            10.0.0.3
        }
    
        track_script {
            chk_http_port
        }
    notify_master "/etc/keepalived/clean_arp.sh 10.0.0.3"
    }
    
    vrrp_instance VI_2 {
        state MASTER
        interface eth0
        mcast_src_ip 10.0.0.6
        virtual_router_id 52
        priority 101
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            10.0.0.4
        }
    
        track_script {
            chk_http_port
        }
    notify_master "/etc/keepalived/clean_arp.sh 10.0.0.4"
    }
    

    在测试机10.0.0.51上修改/etc/hosts文件,将三个域名分别指向10.0.0.3、10.0.0.4,测试--正常.

    双主模式总结:谁是MASTER,谁的优先级就高,谁的虚拟IP就生效.

    双主模式参考博客:https://www.cnblogs.com/kevingrace/p/6146031.html

  • 相关阅读:
    composer require 指定版本
    后台管理,有无限可能
    str_replace 批量查找替换字符串
    node项目配置成nginx启动
    nodejs项目安装ant design
    in_array的三个参数
    Tp5.1使用导出Excel
    php 中 public private protected的区别
    Seafile 文件访问日志时间不一致问题
    du -sh *
  • 原文地址:https://www.cnblogs.com/fawaikuangtu123/p/10167939.html
Copyright © 2020-2023  润新知