piranha-基于web界面的HA配置管理平臺
linux下的高可用架構可以使用很多方案,比如開源的heartbeat、keepalived,紅帽官方的RHCS以及piranha。紅帽官方提供的兩個解決方案都可以使用基于web界面的管理和配置,本章將講解piranha配置相關的高可用集群。
使用piranha紅帽配置lvs集群:(虛擬伺機服務器)
內網私有ip(心跳線,用來加強ha集群的健壯度)
pulse和piranha進程
前者是啟動服務的,后者是進行開啟圖形
nanny具有后端檢測功能(heartbeat中使用ldirectord來檢測后端RS的健康狀況)
實驗環境:
RHEL6.4 selinux is disabled iptables 關閉
主機以及IP準備:
node3 192.168.2.88 (VIP:192.168.2.83 PrivateIP:10.0.0.1)
node4 192.168.2.89 (VIP:192.168.2.83 PrivateIP:10.0.0.2)
node5 192.168.2.90 (VIP:192.168.2.83/32)
node6 192.168.2.93 (VIP:192.168.2.83/32)
主機規劃分析:
node3和node4作為HA高可用負載均衡集群平臺,VIP為發布IP,privateIP用來檢測主備的存活狀態,增強HA的強壯度的。
node5和node6作為后端的RS,提供真實服務。VIP的設置是因為使用LVS策略,需要直接對用戶進行響應。
在每個主機/etc/hosts文件進行本地解析
node3 192.168.2.88
node4 192.168.2.89
node5 192.168.2.90
node6 192.168.2.93
安裝與配置:
在node3主機上進行安裝配置:
# yum install piranha -y
# /etc/init.d/piranha-gui start 啟動圖形管理界面(開啟的3636的web接口)
# netstat -antlp | grep httpd
tcp 0 0 :::3636 :::* LISTEN 2107/httpd
# piranha-passwd 設置圖形管理密碼
node4主機進行安裝
# yum install piranha -y
piranha的相關配置文件
/etc/rc.d/init.d/piranha-gui 用來配置HA的
/etc/rc.d/init.d/pulse 用來啟動piranha主進程
/etc/sysconfig/ha/conf/httpd.conf
/etc/sysconfig/ha/web/index.html
啟動后在web界面進行配置:
http://192.168.2.88:3636 用戶名piranha 密碼登錄
全局配置關閉
進行HA全局配置,設置主節點信息(私有IP是可選的,增強HA的健壯度)
設置BACKUP信息:
配置VIRTUAL SERVERS
添加服務:添加RS(node5和node6,權值是lvs的策略問題,用于不同負載主機的配置):
腳本配置(默認配置就可以):
啟用RS和Virtual-Servers.
配置成功后的配置文件:
[root@node3 ha]# cat /etc/sysconfig/ha/lvs.cf
serial_no = 15
primary = 192.168.2.88
service = lvs
backup_active = 1
backup = 192.168.2.89
heartbeat = 1
heartbeat_port = 888
keepalive = 2
deadtime = 5
network = direct
debug_level = NONE
monitor_links = 1
syncdaemon = 0
virtual web {
active = 1
address = 192.168.2.83 eth0:1
vip_nmask = 255.255.255.0
port = 80
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP"
use_regex = 0
load_monitor = none
scheduler = rr
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 0
server node5 {
address = 192.168.2.90
active = 1
port = 80
weight = 1
}
server node6 {
address = 192.168.2.93
active = 1
port = 80
weight = 2
}
}
因為做的是高可用的負載均衡集群,因此node3和node4上之前已經安裝了LVS,如果沒有安裝可以#yim install ipvsadm -y 進行安裝。lvs具體的調度策略以及模式,請自行閱讀,這里不做講解。
HA平臺搭建完畢,配置RS相關的設置
修改RS的arp和VIP
# vim /etc/sysconfig/arptables 兩臺rs都做相同的操作哦,因為VIP變化
*filter
:IN ACCEPT [0:0]
:OUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
[0:0] -A IN -d 192.168.2.83 -j DROP
[0:0] -A OUT -s 192.168.2.83 -j mangle --mangle-ip-s 192.168.2.90
COMMIT
# /etc/init.d/arptables_jf restart
#ifconfig eth0:1 192.168.2.83 netmask 255.255.255.255 up RS端配置VIP/32
注意:生產環境中,rs的配置中,vip必須開機啟動哦!!
#/etc/init.d/httpd start 測試httpd服務
#chkconfig httpd on
啟動HA端的pulse進程,并且同步HA的備機;
# /etc/init.d/pulse start (備機開啟相同的服務)
#chkconfig pulse on
# scp lvs.cf node4:/etc/sysconfig/ha/
#tail -f /var/log/messages 查看HA詳細日志
使用piranha搭建HA平臺完畢。
測試:
負載均衡測試:
訪問http://192.168.2.83 刷新出來node5和6的web頁面
# ipvsadm -l
TCP 192.168.2.83:http rr
-> node5:http Route 1 0 6
-> node6:http Route 2 0 7
高可用測試:
關閉piranha主節點node3,node4會立即接管,訪問服務,一切正常
(不過好像不支持回切功能)
(關閉包括關閉piranha主進程pulse或者主機關閉)
#給其中一節點崩潰內核試一試(#echo c > /proc/sysrq-trigger)
nanny對lvs后端檢測測試:
關閉一個rs,觀察服務的狀態(發現piranha會自動檢測到后臺rs失敗,將之剔除lvs策略表,只會提供正確的頁面)
#ipvsadm -l
TCP 192.168.2.83:http rr
-> node6:http Route 2 0 21








