• keepAlived主备及双主


    nginx用默认配置即可

    1、主备配置

    1、主keepAlived配置

    vrrp_instance VI_1 {
        state MASTER   #主备区分
        interface eth0
        virtual_router_id 51  #主备一致
        priority 100   #主备区分
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.244.200
        }
        track_script {
            chk_nginx
        }
    }

    2、备keepAlived配置

    vrrp_instance VI_1 {
        state BACKUP  #主备区分
        interface eth0
        virtual_router_id 51   #主备一致
        priority 50     #主备区分
        advert_int 1
    
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.244.200
        }
    }

    2、互为主备

    1、第一台keepAlived配置

    vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.244.200
        }
    }
    
    vrrp_instance VI_2 {
        state BACKUP
        interface eth0
        virtual_router_id 52
        priority 50
        advert_int 1
    
        authentication {
            auth_type PASS
            auth_pass 2222
        }
        virtual_ipaddress {
            192.168.244.201
        }
    }

    2、第二台keepAlived配置

    vrrp_instance VI_1 {
        state BACKUP
        interface eth0
        virtual_router_id 51
        priority 50
        advert_int 1
    
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.244.200
        }
    }
    vrrp_instance VI_2 {
        state MASTER
        interface eth0
        virtual_router_id 52
        priority 100
        advert_int 1
    
        authentication {
            auth_type PASS
            auth_pass 2222
        }
        virtual_ipaddress {
            192.168.244.201
        }
    }
    

    3、检测nginx,实现主备高可用

    1、第一台keepAlived配置

    vrrp_script chk_nginx {
        script "/zjl/program/nginx/conf/checkNginxAlived.sh"
        interval 2
        weight 2
    }
    
    vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.244.200
        }
        track_script {
            chk_nginx
        }
    }
    
    vrrp_instance VI_2 {
        state BACKUP
        interface eth0
        virtual_router_id 52
        priority 50
        advert_int 1
    
        authentication {
            auth_type PASS
            auth_pass 2222
        }
        virtual_ipaddress {
            192.168.244.201
        }
        track_script {
            chk_nginx
        }
    }

    2、第二台keepAlived配置

    vrrp_script chk_nginx {
        script "/zjl/program/nginx/conf/checkNginxAlived.sh"
        interval 2
        weight 2
    }
    vrrp_instance VI_1 {
        state BACKUP
        interface eth0
        virtual_router_id 51
        priority 50
        advert_int 1
    
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.244.200
        }
        track_script {
            chk_nginx
        }
    }
    vrrp_instance VI_2 {
        state MASTER
        interface eth0
        virtual_router_id 52
        priority 100
        advert_int 1
    
        authentication {
            auth_type PASS
            auth_pass 2222
        }
        virtual_ipaddress {
            192.168.244.201
        }
        track_script {
            chk_nginx
        }
    }

    3、监测脚本

    #!/bin/bash
    psnginx=`ps -C nginx --no-heading|wc -l`
    if [ $psnginx == 0 ] ; then
        echo "nginx服务已关闭,尝试重新启动..."
        /zjl/commond/nginxbegin-start.sh
        sleep 3
        if [ `ps -C nginx --no-heading|wc -l` -eq 0 ] ; then
            echo "nginx尝试启动失败关闭keepAlived"
            killall keepalived
        else
            echo "nginx重新启动成功"
        fi
    else
        echo "nginx服务正常..."
    fi
  • 相关阅读:
    [ios]blocks
    [算法] 堆,栈 【转】
    [ios]关于内存错误调试
    [ios]get,post请求 【转】
    [ios]iOS模拟器应用程序目录结构
    [ios]iPhone地图应用开发以及自定义Annotation [转]
    [算法]插入排序
    [ios]让alertView 自动消失【转】
    [ios]延迟执行方法,取消执行方法
    [算法] 基数排序
  • 原文地址:https://www.cnblogs.com/happydreamzjl/p/10986237.html
Copyright © 2020-2023  润新知