KeepAlived防止單點故障

yn6e 9年前發布 | 32K 次閱讀 集群/負載均衡 keepalived

負載均衡器里面,HAProxy比較出名了,但是如果只用一臺HAProxy,則會出現單點故障。

這個時候,該KeepAlived出馬了。

http://www.cnblogs.com/dkblog/archive/2011/07/06/2098949.html (參考文章)

----------------------------------------------------------------------環境介紹

OS: Ubuntu 12.04

虛擬IP: 192.168.56.2

KeepAlived + HaProxy : 192.168.56.101 (master)

KeepAlived + HaProxy : 192.168.56.102 (backup)

本來應該用HaProxy測試,為了簡便,直接用兩個redis測試。

后端對應著兩個redis 分別安裝在192.168.56.101,192.168.56.102上。

----------------------------------------------------------------------

然后101(master)上的配置為

! Configuration File for keepalived
global_defs {
   notification_email {
     837500869@qq.com
   }
   notification_email_from 837500869@qq.com
   smtp_server smtp.qq.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER
    interface eth5
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.56.2
    }
}

 102(backup)的配置為

! Configuration File for keepalived
global_defs {
   notification_email {
     837500869@qq.com
   }
   notification_email_from 837500869@qq.com
   smtp_server smtp.qq.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth5
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.56.2
    }
}

 PS:因為我只需要VIP浮動,負載均衡交給了HAProxy,所以KeepAlived的負載均衡功能沒有使用。

分別在101和102上啟動KeepAlived  ---  

啟動之前,看看如下:

KeepAlived防止單點故障

daemon_mode默認值為0,而賦值的語句如下:

KeepAlived防止單點故障

因為我們不需要 start_check_child(); 所以啟動參數加上-P即可,前臺打日志,則加上 -ln

./bin/keepalived    -f   ./keepalived/etc/keepalived/keepalived.conf -P  -ln

 

 然后看VIP是否可以ping

KeepAlived防止單點故障

 估計是iptables未容許vrrp協議.

iptables -A INPUT -p vrrp -j ACCEPT
需要保存?
iptables -L 是列舉出當前的規則 ( )

 再嘗試看看,還是不行,百度了半天,原來配置文件需要絕對路徑。

./bin/keepalived -f /root/keepalived-1.2.8/keepalived/etc/keepalived/keepalived.conf -P -ln

 這下可以了

KeepAlived防止單點故障

 ping的結果:

KeepAlived防止單點故障

接下來啟動2個redis.

啟動101->啟動102->啟動測試程序->掛掉101->啟動101

結果:

KeepAlived防止單點故障

 本文由用戶 yn6e 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!