Net分散式系統之三:Keepalived+LVS+Nginx負載均衡之高可用

發表於2016-06-09

上一篇寫了nginx負載均衡,此篇實現高可用(HA)。系統整體設計是採用Nginx做負載均衡,若出現Nginx單機故障,則導致整個系統無法正常執行。針對系統架構設計的高可用要求,我們需要解決Nginx負載均衡出現單機故障時,系統正常執行的需求。所以系統架構引入Keepalived元件,實現系統高可用。

一、Keepalived介紹

Keepalived是分散式部署系統解決系統高可用的軟體,結合LVS(Linux Virtual Server)使用,其功能類似於heartbeat,解決單機當機的問題。

二、Keepalived技術原理

keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議。通過VRRP協議結合LVS,對組群伺服器監控情況,若master出現當機情況,則將VIP漂移到backup機上。實現了分散式系統高可用。可以理解為:keepalived是LVS的管理軟體,根據監控情況,將當機伺服器從ipvsadm移除掉。

三、Keepalived+LVS+Nginx實現系統高可用

1

 

伺服器 IP地址 說明
虛擬IP 192.168.1.120:80
主機 192.168.1.104:80
備機 192.168.1.103:80
Web站點A 192.168.1.101:8081 不同埠
Web站點B 192.168.1.101:8082 不同埠

1、安裝ipvsadm,CentOS7自帶安裝包,通過yum進行安裝。實現系統支援LVS

2、安裝Keepalived軟體,並將keepalived設定開機啟動

3、進行Keepalived.conf配置,如果是MASTER機,將state BACKUP改為state MASTER。

4、配置監控shell指令碼

以上完成相關配置,nginx和web服務以上一篇部落格內容一致。如下對功能進行驗證測試。

四、實現測試展示

1、訪問系統情況:通過VIP(192.168.1.120)訪問系統頁面。因為設定了輪詢排程,所以重新整理頁面訪問不同站點。

2     3

2、將 MASTER(192.168.1.104)關機前後,檢視相關VLS情況:

(1)關機前:

4

(2)關機後:5

我們看到將104伺服器從 LVS移除掉。此時則將後續請求轉發到103伺服器。

3、關機後,BACKUP伺服器 keepalived日誌顯示無法連線104,並移除掉

6

5、開機後,將自動檢測到伺服器正常,並加入LVS中。

7

相關文章