利用紅帽 Piranha 方案實現 WEB 負載均衡
Piranha 方案優勢:
1.1.1 配置簡潔高效:
配置簡便一個 lvs.cf 配置文件便可搞定(類 keepalived 方案.)
1.1.2 WEB 配置界面.
WEB 配置對於那些不懂 LVS 配置的人員來講很是吸引力,你幾乎只要花 15 分鐘就可
以配置好一個完美的負載均衡及高可用性方案.
1.1.3 完整的功能:
主備 LVS (Load Balancer)的 Heartbeat 和 HA (pulse, send_arp)
Load Balancer 和 Real Server 間進程服務的 Heartbeat (nanny)
IPVS 功能 (lvsd)
IPVS 的管理 (ipvsadm)
2. Piranha 方案原理結構描述:
Piranha 方案是基於 LVS 基礎上設計的一套負載均衡高可用解決方案.
LVS 運行在一對有類似配置的計算機上:
一個做爲活動 LVS Router(Active LVS Router), 192.168.2.117
一個做爲備份 LVS Router(Backup LVS Router)。 192.168.2.15
活動 LVS Router 服務有兩個角色:
* 均衡負載到真實服務器上。
* 檢查真實服務器提供的服務是否正常。
備份 LVS Router 用來監控活動的 LVS Router,
以備活動的 LVS Router 失敗時由備份 LVS
Router 接管。
Pulse:
Pulse 進程運行在活動 LVS Router 和備份 LVS Router 上。
在備份 LVS Router 上,pulse 發送一個心跳(heartbeat)到活動 LVS Router 的公
網接口上以檢查活動 LVS Router 是否正常。
在活動 LVS Router 上,pulse 啓動 lvs 進程並響應來自於備份 LVS Router 的心跳。
lvsd:
lvs 進程調用 ipvsadm 工具去配置和維護 IPVS 路由表,
併爲每個在真實服務器
上的虛擬服務啓動一個 nanny 進程。
nanny:
每個 nanny 進程去檢查真實服務器上的虛擬服務狀態,並將故障狀況通知 lvs
進程。假如一個故障被發現,lvs 進程通知 ipvsadm 在 IPVS 路由表中將此節點刪
除。
send_arp:
若是備份 LVS Router 未收到來自於活動 LVS Router 的響應,
它將調用 send_arp 將虛擬 IP 地址再分配到備份 LVS Router 的公網接口上。
並在公網接口和局域網接口上分別發送一個命令去關掉活動 LVS Router 上的 lvs
進程。同時啓動本身的 lvs 進程來調度客戶端請求。
真是服務器,192.168.2.243
192.168.2.111
虛擬ip 192.168.2.27
Piranha的安裝和配置
yum install piranha -y (兩個都要)
給這個網頁服務設置密碼
piranha-passwd (192.168.2.117)
把它的web圖形配置打開
/etc/init.d/piranha-gui start (192.168.2.117)
查看他開啓的端口 netstat -antlp (http的端口)
如今在網頁上配置
192.168.2.117:3636
配置完成後就會生成lvs.cf的文件,若是須要修改,可直接修改文件,但兩邊要同步。(/etc/sysconfig/ha/lvs.cf) 能夠用一個命令查看此文件的連續變化 tail -f /etc/sysconfig/ha/lvs.cf 配置完成後將lvs.cf文件傳輸給另外一臺備份 LVS Router上將piranha服務的後臺服務開啓 /etc/init.d/pulse start (兩個都開) 在real server上配置 192.168.2.243 ifconfig eth0:0 192.168.2.27 netmask 255.255.255.255 up arptables -A IN -d 192.168.2.27 -j DROP arptables -A OUT -s 192.168.2.27 -j mangle --mangle-ip-s 192.168.2.243 /etc/init.d/arptables_jf save /etc/init.d/arptables_jf restart 192.168.2.111 ifconfig eth0:0 192.168.2.27 netmask 255.255.255.255 up arptables -A IN -d 192.168.2.27 -j DROP arptables -A OUT -s 192.168.2.27 -j mangle --mangle-ip-s 192.168.2.111 /etc/init.d/arptables_jf save /etc/init.d/arptables_jf restart 測試:訪問虛擬ip 192.168.2.27 再訪問時就會出現real server的輪詢
歡迎關注本站公眾號,獲取更多信息