haproxy高可用之非搶占keepalived(二)
阿新 • • 發佈:2017-08-07
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(二)