一 集群和Linux上的集群解決方案
集群系統(tǒng)(Cluster)主要解決下面幾個問題:
高可靠性(HA)
利用集群管理軟件,當主服務器故障時,備份服務器能夠自動接管主服務器的工作,并及時切換過去,以實現(xiàn)對用戶的不間斷服務 。
高性能計算(HP)
即充分利用集群中的每一臺計算機的資源,實現(xiàn)復雜運算的并行處理,通常用于科學計算領域,比如基因分析,化學分析等 。
負載平衡
即把負載壓力根據(jù)某種算法合理分配到集群中的每一臺計算機上,以減輕主服務器的壓力,降低對主服務器的硬件和軟件要求 。
基于Linux的集群解決方案可謂百花齊放 。在實際應用中,最常見的情況是利用集群解決負載平衡問題,比如用于提供WWW服務 。在這里主要展示如何使用LVS(Linux Virtial Server)來實現(xiàn)實用的WWW負載平衡集群系統(tǒng) 。
二 LVS簡介
LVS是章文嵩博士發(fā)起和領導的優(yōu)秀的集群解決方案,許多商業(yè)的集群產(chǎn)品,比如RedHat的Piranha,TurboLinux公司的Turbo Cluster等,都是基于LVS的核心代碼的 。在現(xiàn)實的應用中,LVS得到了大量的部署,請參考http://www.linuxvirtualserver.org/deployment.html 。關(guān)于Linux LVS的工作原理和更詳細的信息,請參考http://www.linuxvirtualserver.org 。
三 LVS配置實例
通過Linux LVS,實現(xiàn)WWW,Telnet服務的負載平衡 。這里實現(xiàn)Telnet集群服務僅為了測試上的方便 。
LVS有三種負載平衡方式,NAT(Network Address Translation),DR(Direct Routing),IP Tunneling 。其中,最為常用的是DR方式,因此這里只說明DR(Direct Routing)方式的LVS負載平衡 。為測試方便,4臺機器處于同一網(wǎng)段內(nèi),通過一交換機或者集線器相連 。實際的應用中,最好能將虛擬服務器vs1和真實服務器rs1, rs2置于于不同的網(wǎng)段上,即提高了性能,也加強了整個集群系統(tǒng)的安全性 。
服務器的軟硬件配置
首先說明,雖然本文的測試環(huán)境中用的是3臺相同配置的服務器,但LVS并不要求集群中的服務器規(guī)格劃一,相反,可以根據(jù)服務器的不同配置和負載情況,調(diào)整負載分配策略,充分利用集群環(huán)境中的每一臺服務器 。
這3臺服務器中,vs1作為虛擬服務器(即負載平衡服務器),負責將用戶的訪問請求轉(zhuǎn)發(fā)到集群內(nèi)部的rs1,rs2,然后由rs1,rs2分別處理 。client為客戶端測試機器,可以為任意操作系統(tǒng) 。4臺服務器的操作系統(tǒng)和網(wǎng)絡配置分別為:
vs1: RedHat 6.2, Kernel 2.2.19;
vs1: eth0 192.168.0.1;
vs1: eth0:101 192.168.0.101;
rs1: RedHat 6.2, Kernel 2.2.14;
rs1: eth0 192.168.0.3;
rs1: dummy0 192.168.0.101;
rs2: RedHat 6.2, Kernel 2.2.14;
rs2: eth0 192.168.0.4;
rs2: dummy0 192.168.0.101;
client: Windows 2000;
client: eth0 192.168.0.200
其中,192.168.0.101是允許用戶訪問的IP 。
虛擬服務器的集群配置
大部分的集群配置工作都在虛擬服務器vs1上面,需要下面的幾個步驟:
重新編譯內(nèi)核 。
首先,下載最新的Linux內(nèi)核,版本號為2.2.19,下載地址為:http://www.kernel.org/,解壓縮后置于/usr/src/linux目錄下 。
其次需要下載LVS的內(nèi)核補丁,地址為:http://www.linuxvirtualserver.org/software/ipvs-1.0.6-2.2.19.tar.gz 。這里注意,如果你用的Linux內(nèi)核不是2.2.19版本的,請下載相應版本的LVS內(nèi)核補丁 。將ipvs-1.0.6-2.2.19.tar.gz解壓縮后置于/usr/src/linux目錄下 。
然后,對內(nèi)核打補丁,如下操作:
[root@vs2 /root]# cd /usr/src/linux;
[root@vs2 linux]# patch -p1 < ipvs-1.0.6-2.2.19/ipvs-1.0.6-2.2.19.;
patch
下面就是重新配置和編譯Linux的內(nèi)核 。特別注意以下選項:
1 Code maturity level options--->
* [*]Prompt for development and/or incomplete code/drivers;
推薦閱讀
- 熟食在室溫下不得存放幾小時以上
- 微博下載的安裝包怎么刪
- 制作在軟盤上跑的Linux引導器詳細過程
- 鳥一般在什么季節(jié)下蛋
- 運用RedHat的Kickstart升級Linux系統(tǒng)
- Linux操作系統(tǒng)下利用SSH進行遠程控制
- 華為手機從哪里下載軟件
- 輕松實現(xiàn) Linux系統(tǒng)下互聯(lián)網(wǎng)過濾功能
- 內(nèi)核操作 Linux2.6內(nèi)核驅(qū)動移植參考
- Linux系統(tǒng)環(huán)境下的高級隱藏技術(shù)介紹
