码迷,mamicode.com
首页 > 其他好文 > 详细

lvs keepalived做DNS集群负载

时间:2018-04-11 23:09:41      阅读:796      评论:0      收藏:0      [点我收藏+]

标签:/etc   tps   global   tab   ace   dai   exit   route   email   

2LVS + keepalived

5 bind dns源站

 

yum -y install  ipvsadm keepalived

 

lvs增加并发

echo "options ip_vs conn_tab_bits=22" > /etc/modprobe.d/ip_vs.conf  然后重启服务器

 

cat check_dns_resolve.sh   # 该文件加执行权限

#!/bin/bash
# check dns resolve

a_check="check.healthcheck.check"
nslookup_bin="/usr/bin/nslookup"

ns_ip=$1
port=53
timeout=2


function EchoHelp(){
    echo "use: ./check_dns_resolve.sh [ip] {port}"
    exit 1
}

if [ $2 ]; then
    port=$2
fi


if [ $ns_ip -a $a_check ]; then
    $nslookup_bin -timeout=${timeout} -port=$port $a_check $ns_ip > /dev/null
else
    EchoHelp

fi


exit $?

 

keepalived_notify.py 参照 https://www.cnblogs.com/linkenpark/p/7416998.html

 

lvs1 keepalived配置:

cat /etc/keepalived/keepalived.conf 

global_defs {
    notification_email {
        keepalived@qq.com
    }

    notification_email_from keepalived@qq.com
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id lvs_canlu
}


vrrp_instance VI_1 {
    state BACKUP
    interface ens160
    virtual_router_id 162
    mcast_src_ip 172.16.12.26
    priority 100
    advert_int 2

    authentication {
        auth_type PASS
        auth_pass sPkdd98m
    }

    virtual_ipaddress {
        172.16.12.30
    }

    notify_master "/bin/python /tuandai/script/keepalived_notify.py master 172.16.12.26 172.16.12.30"
    notify_backup "/bin/python /tuandai/script/keepalived_notify.py backup 172.16.12.26 172.16.12.30"

}

## dns_bind
virtual_server 172.16.12.30 53 {
    delay_loop 6
    lb_algo lc
    lb_kind DR
    #persistence_timeout 1
    protocol UDP

    real_server 172.16.7.14 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.14"
            misc_timeout 5
        }
    }
    real_server 172.16.7.15 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.15"
            misc_timeout 5
        }
    }
    real_server 172.16.7.16 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.16"
            misc_timeout 5
        }
    }
    real_server 172.16.7.17 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.17"
            misc_timeout 5
        }
    }
    real_server 172.16.7.18 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.18"
            misc_timeout 5
        }
    }
}

 

 

lvs2 keepalived配置:

global_defs {
    notification_email {
        keepalived@qq.com
    }

    notification_email_from keepalived@qq.com
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id lvs_canlu
}


vrrp_instance VI_1 {
    state BACKUP
    interface ens160
    virtual_router_id 162
    mcast_src_ip 172.16.12.27
    priority 99
    advert_int 2

    authentication {
        auth_type PASS
        auth_pass sPkdd98m
    }

    virtual_ipaddress {
        172.16.12.30
    }

    notify_master "/bin/python /tuandai/script/keepalived_notify.py master 172.16.12.27 172.16.12.30"
    notify_backup "/bin/python /tuandai/script/keepalived_notify.py backup 172.16.12.27 172.16.12.30"

}

## dns_bind
virtual_server 172.16.12.30 53 {
    delay_loop 6
    lb_algo lc
    lb_kind DR
    #persistence_timeout 1
    protocol UDP

    real_server 172.16.7.14 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.14"
            misc_timeout 5
        }
    }
    real_server 172.16.7.15 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.15"
            misc_timeout 5
        }
    }
    real_server 172.16.7.16 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.16"
            misc_timeout 5
        }
    }
    real_server 172.16.7.17 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.17"
            misc_timeout 5
        }
    }
    real_server 172.16.7.18 53 {
        weight 10
        MISC_CHECK {
            misc_path "/usr/bin/sh /etc/keepalived/check_dns_resolve.sh 172.16.7.18"
            misc_timeout 5
        }
    }
}

 

lvs keepalived做DNS集群负载

标签:/etc   tps   global   tab   ace   dai   exit   route   email   

原文地址:https://www.cnblogs.com/linkenpark/p/8799137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!