1. 程式人生 > >haproxy對mysql主主複製的負載均衡中配keepalived實現高可用

haproxy對mysql主主複製的負載均衡中配keepalived實現高可用

在這裡插入圖片描述
突破單點故障限制,實現熱備防止宕機
主主複製的基礎和負載均衡的基礎之上用keepalived實現熱備
keepalived 提供一個vip 虛擬的ip,並監測haproxy1和haproxy2的執行情況,讓這個vip在兩者間進行搶佔(機制有預設,有優先,有宕機後另一個自動獲取)
keepalived的安裝 yum 安裝方式 keepalived-1.2.13-5.el6_6.x86_64
修改其配置檔案

vim /etc/keepalived/keepalived.conf
[[email protected] ~]# vim /etc/keepalived/keepalived.conf

/bin/bash: Configuration: command not found
bal_defs {                                             //此段暫時略過,下同
   notification_email {
     
[email protected]
[email protected] [email protected] } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_haproxy { script "/etc/keepalived/chk.sh" #檢查haproxy的指令碼 interval 2 #每兩秒檢查一次 } vrrp_instance VI_1 { state MASTER #另一臺haproxy_bakcup機子改為BACKUP interface eth0 #vip的網絡卡口,不需要加ifcfg- virtual_router_id 51 #此id必須為網路內唯一 priority 100 #另一臺haproxy_bakcup機子改為50 最好相差50 advert_int 1 authentication { auth_type PASS auth_pass MrUse } virtual_ipaddress { 5.5.5.5 #給出的具體虛擬ip } } track_script { chk_haproxy #呼叫檢查指令碼 後面還有個指令碼編輯 } notify_backup "/etc/init.d/haproxy restart" notify_fault "/etc/init.d/haproxy stop" }

兩臺haproxy編輯指令碼

 vim /etc/keepalived/chk.sh
    #!/bin/bash
#
if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then
       /etc/init.d/keepalived stop
fi

設定的誰先啟動誰就搶佔vip 5.5.5.5,一臺搶到的如果停止服務,另一臺代替5.5.5.5
在這裡插入圖片描述
在這裡插入圖片描述
把vip改成同區域網的192.168.3.15
在安裝有資料庫mysql的3.3上,mysql -u rs -p -h 192.168.3.15 -P 7306
在這裡插入圖片描述
表示連線正常