紅帽 Piranha 方案實現 WEB 負載均衡

jopen 10年前發布 | 14K 次閱讀 piranha Android開發 移動開發

系統環境: RHEL6.5x86_64 small install selinux and iptables disabled

Virtual IP             192.168.2.253

192.168.2.162    server62.exampl.com     (主節點)

192.168.2.163    server63.example.com(備用節點)

192.168.2.52      desktop52.example.com(real server)

192.168.2.53      desktop53.example.com(real server)

編輯/etc/hoststs做以上解析

一. Piranha 方案基本簡紹. 

1. Piranha 方案優點: 

1.1 配置簡潔高效: 

配置簡便一個 lvs.conf 配置文件即可搞定(類 keepalived 方案.)

1.2 WEB 配置界面. 

WEB 配置對于那些不懂 LVS 配置的人員來說非常吸引力,你幾乎只要花 15 分鐘就可以配置好一個完美的負載均衡及高可用性方案. 

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), 一個作為備份 LVS Router(Backup LVS Router)。 

活動 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 進程來調度客戶端請求。 

3. Piranha 方案基本套件安裝: 

#yum install ipvsadm modcluster piranha system‐config‐cluster php php‐cli php‐common 

4. 配置文件介紹: 

/etc/sysconfig/ha/lvs.cf          //由http://ip:3636 web界面配置的配置文件寫入此文件. 

/etc/init.d/piranha‐gui start    //啟動 piranha 服務的 WEB 配置界面. 

/etc/init.d/pulse                      //啟動 piranha 服務讀取的就是/etc/sysconfig/ha/lvs.cf. 

二. Piranha 配置 

通過 WEB 界面配置 Piranha 服務. 

# /etc/init.d/piranha‐ gui start    //啟動 Piranha 服務. 

#/usr/sbin/piranha‐ passwd    //設置密碼,請設置你的 piranha 服務 WEB 配置登陸密碼. 

http://192.168.2.162:3636    //輸入用戶名: piranha  及剛才設置的密碼登陸. 

紅帽 Piranha 方案實現 WEB 負載均衡

登陸后,選擇 Global Settings  這是對 LVS 的配置 

Primary server public IP  輸入公網 IP:192.168.2.162,應用后按 ACCEPT 按鈕保存設置。 

通過 WEB 配置主 LVS 的信息 

1. 配置主 LVS 

紅帽 Piranha 方案實現 WEB 負載均衡

2.配置備份 LVS 

紅帽 Piranha 方案實現 WEB 負載均衡

3. 配置添加 LVS( VIP 信息) 

紅帽 Piranha 方案實現 WEB 負載均衡

4. 配置 Realserver 

紅帽 Piranha 方案實現 WEB 負載均衡

紅帽 Piranha 方案實現 WEB 負載均衡

 啟動節點

紅帽 Piranha 方案實現 WEB 負載均衡

紅帽 Piranha 方案實現 WEB 負載均衡

5.啟動 LVS 服務 pulse 

# /etc/init.d/pulse start 

Starting pulse:                                                                                        [    OK    ] 

如果不報錯,表示啟動成功! 

到此 LVS 的服務器已經配置完成了啟動兩個程序   

1、piranha‐gui    是用來配置 LVS 的 

2、pulse              是用來啟動 LVS 的 
     
  6.    備份 LVS 安裝與配置 

備份 LVS 安裝同主 LVS 安裝方法同樣.直接將 lvs.conf 拷貝到相應的目錄下: 

#scp    /etc/sysconfig/ha/lvs.cf root@192.168.2.163:/etc/sysconfig/ha/ 

# /etc/init.d/pulse start  啟動服務即可. 

7. 配置 Realserver 

#yum install -y arptables_jf

#ifconfig eth0:1 192.168.2.253 netmask 255.255.255.255

#arptables -A IN -d 192.168.2.253 -j DROP

#arptables -A OUT -s 192.168.2.253 -j mangle --mangle-ip-s 192.168.2.53

#service arptables_jf save

以上操作會自動生成文件/etc/sysconfig/arptables

#cd /var/www/html/        //進入Apache默認發布目錄

#echo `hostname` >  index.html

#service httpd start        //啟動Apache服務

測試:

1).訪問虛擬ip查看能否訪問到兩臺realserver節點的httpd服務。刷新頁面顯示不同內容,說明實現了輪轉循環。

2).停掉負載主節點的pulse服務,備用節點自動接管任務。

3).交替stop掉或者全部stop掉兩臺realserver的httpd服務,查看轉發列表的變化。

來自:http://my.oschina.net/leeypp1/blog/295055

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