歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux業界 >> Cluster之架設(NAT形式)

Cluster之架設(NAT形式)

日期:2017/2/27 11:12:47   编辑:Linux業界

  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 {

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後,再按下piranhaà控制à開始鍵即可重新執行

Q7:加上HA備援主機功能時,按下套用後出現error訊息:

執行/usr/bin/rcp /etc/lvs.cf [email protected]:/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,備援主機則再次進入備援等待狀態。




Copyright © Linux教程網 All Rights Reserved