1. 程式人生 > >haproxy高可用之非搶占keepalived(二)

haproxy高可用之非搶占keepalived(二)

keepalived haproxy高可用 非搶占

1、安裝keepalived

yum install keepalived


2、編輯配置文件 /etc/keepalived/keepalived.conf

主:

global_defs {
    notification_email {
        [email protected]  #可以添加多個郵箱接收報警
    }
    notification_email_from [email protected]
    smtp_server smtp.qiye.163.com
    smtp_connect_timeout 30
    router_id keepalived_1
}
vrrp_script chk_haproxy {
        script "killall -0 haproxy"    #服務探測,返回0說明服務是正常的
        interval 1    #每隔1秒探測一次
        weight 2      #haproxy上線,權重加2;其他情況權重不變
}
#
vrrp_instance 192.168.1.50 {        #雙主實例1
    state MASTER            #ha1(192.168.1.50)為主,ha2(192.168.1.60)為備
   # state BACKUP           #測試下來狀態設置為MASTER/BACKUP皆可實現非搶占
    interface eth1
    virtual_router_id 88    #實例192.168.1.50的VRID為88 主備id需設為一致
    priority 101            #主(192.168.1.50)的優先級為101,備的(192.168.1.60)優先級為100
    smtp_alert
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
#
    virtual_ipaddress {
        192.168.1.99    #實例192.168.1.50的VIP
    }
    track_interface {
        eth1
    }
#
    track_script {        #腳本追蹤
        chk_haproxy
    }
    #狀態變化時你要觸發的腳本
    notify_master "/etc/keepalived/notify.sh master" 
    notify_backup "/etc/keepalived/notify.sh backup"
    notify_stop "/etc/keepalived/notify.sh stop"
    notify_fault "/etc/keepalived/notify.sh fault"
}

備:

global_defs {
    notification_email {
        [email protected]
    }
    notification_email_from [email protected]
    smtp_server smtphz.qiye.163.com
    smtp_connect_timeout 30
    router_id keepalived_2
}
vrrp_script chk_haproxy {
        script "killall -0 haproxy"
        interval 1
        weight 3 #haproxy上線,權重加3;其他情況權重不變
}
vrrp_instance 192.168.1.60 {
    state BACKUP
    interface eth0
    virtual_router_id 88
    priority 100
    advert_int 1
    smtp_alert
    authentication {
        auth_type PASS
        auth_pass 123456
    }
#
    virtual_ipaddress {
        192.168.1.99
    }
    track_interface {
        eth0
    }
#
    track_script {
        chk_haproxy
    }
    notify_master "/etc/keepalived/notify.sh master"
    notify_backup "/etc/keepalived/notify.sh backup"
    notify_stop "/etc/keepalived/notify.sh stop"
    notify_fault "/etc/keepalived/notify.sh fault"
}


分別啟動192.168.1.50、192.168.1.60上的haproxy、keepalived

這樣的話haproxy的高可用就完成了。

本文出自 “linux_cheng” 博客,請務必保留此出處http://6764097.blog.51cto.com/6754097/1954173

haproxy高可用之非搶占keepalived(二)