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

Cluster之架設(NAT形式)

日期:2017/2/27 14:13:51   编辑:更多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



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



Copyright © Linux教程網 All Rights Reserved