[轉帖]在Redhat中用piranha架設Cluster
Cluster的功能主要是用作負載平衡,由virtual server對外連接internet並負責將要求服務的封
包,分配給真正提供服務的real server群,達到負載平衡;同時工作的分配可以避開故障無法提供服
務的real server由其它real server繼續提供服務,防止在單一伺服器的環境下主機的故障造成服務
中斷的情形;而virtual server部分為單一對外通連的出口,負載極重,可以用HA方式由後備主機保障
其工作正常持續運行;piranha為REDHAT默認cluster的GUI介面配置程序,可單獨設置cluster功能,
亦可加上HA後備功能。
1.~4.為基本cluster的架設步驟
5.為加入HA功能架設,針對virtual server提供後備主機功能
6.遭遇到的問題與解決方案
1. 安裝所需軟體包
I. piranha-gui-0.4.12-2lp (GUI介面cluster設置工具)
II. piranha-0.4.12-2lp
III. ipchains-1.3.9-6lp (架設NAT)
取得軟體包,或mount到光碟,進入RPMS目錄進行安裝
執行 # rpm –Uvh piranha*
# rpm –Uvh ipchains*
2. 架構:
I. real server群:
真正提供服務的server(web server),在NAT型式下是以內部虛擬網域的形式,設置如同一般虛擬網域中clinet端。
使用網域:192.168.10.0/24
II. virtual server:
作用在導引封包的對外主機,專職負責封包的轉送,不提供服務,但因為在NAT型式下必須對進出封包進行改寫,所以負擔亦重對外eth0:用DHCP方式,測試時 ip:202.39.145.156
eth0:0 :202.39.145.146
對內eth1:192.168.10.12
eth1:0 :192.168.10.1
NAT形式下僅virtual server有真實ip
Real server群則為透過virtual server
3.real server的架設(兩架)
架設方式同一般使用虛擬ip的區域網絡
I. 設網卡ip
server1 :192.168.10.18/24
server2 :192.168.10.28/24
II. 每台server均將default gateway指向192.168.10.1
192.168.10.1為該網域唯一對外的通道,設置在virtual server上,使該網域進出均需通過virtual server
III. 每台server均開啟httpd功能
每台server均開啟httpd功能供web server服務,可以在各real server上放置不同內容的網頁,可由瀏覽器觀察其對各real server讀取網頁的情形。
4.virtual server的架設
I. 設網卡ip
對外eth0:ip用DHCP方式取得,測試時ip:202.39.145.156/26
eth0:0 :202.39.145.146/26
對內eth1:192.168.10.12/24
eth1:0 :192.168.10.1/24
II. 設置NAT功能
# echo 1 >; /proc/sys/net/ipv4/ip_forward
# echo 1 >; /proc/sys/net/ipv4/ip_always_defrag
# ipchains –P forward MASQ
III. 設置piranha
進入X-window中
a. 執行piranha
b. 設置」整體配置」(Global Settings)
主LVS伺服器主機IP: 202.39.145.156
選定網路地址翻譯(預設)
NAT路徑名稱: 192.168.10.1
NAT 路徑裝置: eth1:0
c. 設置虛擬伺服器(Virtual Servers)
添加編輯
虛擬伺服器部分:(Virtual Server)
名稱: (任意取名)
應用: http
協議: tcp
連接埠: 80
地址: 202.39.145.146
裝置: eth0:0
重入時間: 180 (預設)
服務延時: 10 (預設)
載入監控工具: ruptime (預設)
調度策略: Weighted least-connections
持續性: 0 (預設)
持續性屏蔽: 255.255.255.255 (預設)
按下激活
實時伺服器部分:(Real Servers)
添加編輯
名字: (任意取名)
地址: 192.168.10.18
權重: 1 (預設)
按下激活
另一架real server同上,地址:192.168.10.28
d. 控制/監控(Controls/Monitoring)
控制:piranha功能的激活與停止
上述內容設置完成後即可按開始鍵激活piranha
監控器:顯示ipvsadm設置的routing table內容
可立即更新或定時更新
5.後備主機的設置(HA)
單一virtual server的cluster架構virtual server 負擔較大,提供另一主機擔任後備,可避免virtual server的故障而使對外服務工作終止;後備主機隨時處於預備狀態與virtual server相互偵測
I. 後備主機:
eth0: ip 202.30.145.151(用DHCP方式取得)
eth1: ip 192.168.10.2
同樣需安裝piranha,ipvsadm,ipchains等軟體包
II. 開啟NAT功能(同 4.II.)
III. 在virtual server(202.39.145.156)主機上設置
a.執行piranhaà冗餘度
b.按下」激活冗餘度」
冗餘LVS伺服器IP: 202.39.145.151
HEARTBEAT間隔(秒數): 2 (預設)
假定在…秒後進入DEAD狀態: 5 (預設)
HEARTBEAT連接埠: 539 (預設)
c.按下」套用」
d..至」控制/監控」頁
按下」在當前執行層添加PULSE DEAMON」
按下」開始」
IV. 在監空器按下」自動更新」
這樣可由窗口中看到ipvsadm所設置的routing table,並且動態顯示real server聯機情形,若real server故障,該主機亦會從監視窗口中消失。
V. 激活後備主機的pulse daemon
執行# /etc/rc.d/init.d/pulse start
至此,HA功能已經激活,後備主機及virtual server由pulse daemon定時相互探詢,一但virtual server故障,後備主機立刻激活代替;至virtual server 正常上線后隨即將工作交還virtual server。
6.架設過程遭遇的問題與對策:
Q1:float ip 202.39.145.146 (eth0:0)設置后無法聯機
A1:設置的ip與名稱需在dns註冊,若無註冊可在/etc/hosts中加入該主機名稱及ip,即能在瀏覽器中用http://202.39.145.146 連上web server
Q2:第一次設置piranha的虛擬伺服器部分其地址預設為0.0.0.0修改為指定的ip地址后,關閉再開啟,其地址變為255.255.255.255,更改無效
A2:需直接修改/etc/lvs.cf
將函數virtual <your virtual server name>; {
address = 255.255.255.255 eth0:0 ?改為您設置的地址(202.39.145.146)
active = 1
: (略)}
存檔后離開,回到piranha即可看見虛擬伺服器部分其地址設置ok
Q3:重新激活內部real server后外部瀏覽器無法讀到該主機網頁
A3:檢查該real server的route table是否default gateway設置消失
執行# route 檢查一下若無default gateway
加上default gateway:執行 # route add default gw 192.168.10.1 dev eth0
Q4:執行中real server斷線后如何重新加入提供服務行列
A4:若有一台real server故障而無法提供服務,該主機會從ipvsadm的routing table中消失(可由監控器中看到變化),由剩下的正常real server提供服務,在排除earl server故障原因后,按piranhaà控制à停止à開始,即可將修復的real server重新加入提供服務行列
Q5:為何使用virtual ip設置(eth0:0/eth1:0)
A5:這是為了提供HA功能,後備virtual server取代故障的virtual server時可以轉換主機使用,在
不提供HA功能的情況下亦可以不用virtual ip只用真實ip來設置,cluster的功能相同
Q6:執行piranha 按下開始鍵出現error訊息:
Error: /etc/rc.d/init.d/pulse start 失敗
A6:開啟terminal窗口,在命令列提示符號下執行
# ps aux
可以看到 nanny 這個daemon在位激活piranha的情況下仍存在未被上一次按下」停止」鍵所終止
# kill –9 <nanny』s PID>;
停止nanny后,再按下piranhaà控制à開始鍵即可重新執行
Q7:加上HA後備主機功能時,按下套用后出現error訊息:
執行/usr/bin/rcp /etc/lvs.cf root@202.39.145.151:/etc/lvs.cf 失敗
Permission denied
A7:這牽涉到rcp指令的使用,可直接用磁碟copy的方式複製/etc/lvs.cf 至後備主機的/etc/lvs.cf ;
而lvs.cf檔案本身需要修正(兩個lvs.cf需相同)
: (略)
primary = 202.39.145.156
nat_router = 192.168.10.1 eth1:0
service = lvs
backup_active = 1 ?加入此行
backup = 202.39.145.151 ?加入此行
: (略)
在未了解rcp指令的前,暫時可用此法完成HA
Q8:後備主機成功取代后,但外部的瀏覽器仍無法正常讀取網頁,或聯機失敗?
A8:在使用NAT型式架設cluster的環境下對外的virtual server主機必須具有NAT功能,
所以至少必須先執行NAT功能設置,才能正確取代
# echo 1 >; /proc/sys/net/ipv4/ip_forward
# echo 1 >; /proc/sys/net/ipv4/ip_always_defrag
# ipchains –P forward MASQ
Q9:如何激活後備主機?如何還原virtual server?
A9:virtual server 故障后,後備主機上的pulse daemon 在偵測得的后,會自動激活,並依
照/etc/lvs.cf 將相關設置轉移至後備主機上,完全取代virtual server功能;一但virtual server
主機修復上線,原virtual server則成為後備主機,如此相互後備;若要立即換回原virtual server,
需在接上網路前激活virtual server上的 pulse daemon,上線后,pulse daemon會立刻將設置轉移至
原來的virtual server,後備主機則再次進入後備等待狀態。
《解決方案》
[轉帖]在Redhat中用piranha架設Cluster
謝謝很需要!
《解決方案》
[轉帖]在Redhat中用piranha架設Cluster
在Red Hat 8.0中已經沒有piranha軟體包,那麼該如何構建LVS集群呢?
《解決方案》
[轉帖]在Redhat中用piranha架設Cluster
編譯內核。
《解決方案》
[轉帖]在Redhat中用piranha架設Cluster
我想問個問題啊!板主建立集群的系統是什麼呢!?RH9?AS?還是什麼呢?我在利用piranha建立集群的時候有個問題,就是輸入好所有數據后利用
pulse start啟動的時候出現沒有辦法啟動heartbeach 介面的問題!
不知道版主有遇見這個情況的嗎!?
《解決方案》
在哪能下載這幾個包?AS4里已經沒有了呀