keepalived 配置 dns 單點恢復

keepalived 配置 dns 單點恢復算法


1.vim /etc/keepalived/keepalived.confvim


vrrp_script chk_dns {bash

   script "/usr/local/sbin/check_dns.sh"  #在這裏添加腳本連接session

   interval 3       #腳本執行間隔負載均衡

   weight -10     # 修改權重ide

}oop

vrrp_instance VI_1 {spa

    state BACKUP    # 備用用 BACKUPrest

    interface eth2   #用的是哪一個網卡router

    virtual_router_id 88  #虛擬路由地址必須同樣,才能配置成一個組

    priority 100   # 備用用 90

    advert_int 1  #MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒

    nopreempt

    authentication {

        auth_type PASS  #(密碼形式)

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.32.88

    }

    track_script {

        chk_dns     #添加腳本執行

    }

    notify_master "/bin/bash -x /usr/local/sbin/modify_master.sh 2>&1 | tee /tmp/modimaster.txt"

    notify_backup "/bin/bash -x /usr/local/sbin/modify_master.sh 2>&1 | tee /tmp/modibackup.txt"

}


virtual_server 192.168.32.88 53 {

    delay_loop 6    #每隔6s 查詢 realserver 狀態

    lb_algo rr    #lvs 算法

    lb_kind NAT     #Direct Route

    persistence_timeout 0    #會話保持時間,單位是秒(能夠適當延長時間以保持session)

    protocol TCP     # 用 TCP協議檢查 realserver 狀態

    real_server 192.168.32.85 53 {

        weight 1

        notify_down "/bin/sh -x /usr/local/sbin/keepalived.sh 2>&1 | tee /tmp/tmp.txt"

          TCP_CHECK {

              connect_timeout 10   #10s 無響應超時

               nb_get_retry 3

               delay_before_retry 3

               connect_port 53

          }

    }

}



2.vim /usr/local/sbin/check_dns.sh


#!/bin/bash


ll=`ping -c 3 www.zjtest8.com`


if [ $? -eq 1  ]; then

        service keepalived restart

        /usr/bin/killall -9 named

        /usr/local/named/sbin/named -c /usr/local/named/etc/named.conf

        exit 0

else

        exit 1

fi


vim /usr/local/sbin/keepalived.sh


#!/bin/bash


service keepalived restart


killall -9 named


/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf


vim /usr/local/sbin/modify_master.sh


#!/bin/bash


killall -9 named


/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf

相關文章
相關標籤/搜索