隨著Internet技術的迅猛發展,網絡技術、性能的不斷提高,高可伸縮性、高可用性、可管理性、價格有效性的網絡服務技術將成為網絡服務技術的主導。各種平臺下的技術方案應運而生。本文試圖以一篇完整的理論+實踐性的文字來介紹如何在優秀的開源操作系統Linux下創建低成本、高性能、高可用的服務集群系統。文中所使用的系統和軟件包均為最新版本。希望通過對本文的閱讀能使你對如何創建Linux下的集群系統有所幫助。
隨著Internet技術的迅猛發展,網絡技術、性能的不斷提高,高可伸縮性、高可用性、可管理性、價格有效性的網絡服務技術將成為網絡服務技術的主導。各種平臺下的技術方案應運而生。本文試圖以一篇完整的理論+實踐性的文字來介紹如何在優秀的開源操作系統Linux下創建低成本、高性能、高可用的服務集群系統。文中所使用的系統和軟件包均為最新版本。希望通過對本文的閱讀能使你對如何創建Linux下的集群系統有所幫助。
Linux下的集群系統通??梢苑譃槿悾?br />
本文所要介紹的是前兩類集群的一個完美的組合。
1.1. Linux Virtual Server項目
在1998年5月,由章文嵩博士成立了Linux Virtual Server的自由軟件項目,進行Linux服務器集群的開發工作。同時,Linux Virtual Server項目也是國內最早出現的自由軟件項目之一。該項目針對高可伸縮、高可用網絡服務的需求,給出了基于IP層和基于內容請求分發的負載平衡調度解決方法,它通過前端一個負載調度器(Load Balancer)無縫地將網絡請求調度到真實服務器上,從而使得服務器集群的結構對客戶是透明的,客戶訪問集群系統提供的網絡服務就像訪問一臺高性能、高可用的服務器一樣??蛻舫绦虿皇芊掌骷旱挠绊懖恍枳魅魏涡薷?。系統的伸縮性通過在服務機群中透明地加入和刪除一個節點來達到,通過檢測節點或服務進程故障和正確地重置系統達到高可用性。并在Linux內核中實現了這些方法,將一組服務器構成一個實現可伸縮的、高可用網絡服務的虛擬服務器。
虛擬服務器的體系結構如圖2所示。
圖2:虛擬服務器的結構
1.1.1. LVS的核心軟件IPVS
在調度器的實現技術中,IP負載均衡技術是效率最高的。在已有的IP負載均衡技術中有通過網絡地址轉換(Network Address Translation)VS/NAT技術的基礎上,IPVS軟件實現了三種IP負載均衡技術:
1)Virtual Server via Network Address Translation(VS/NAT) 網絡地址轉換 (如圖1)
2)Virtual Server via IP Tunneling(VS/TUN) 隧道技術 (如圖2)
3)Virtual Server via Direct Routing(VS/DR) 直接路由 (如圖3)
針對不同的網絡服務需求和服務器配置,IPVS調度器實現了如下十種負載調度算法:
其中9-10是最新1.09版IPVS軟件包中新增的調度算法,這十種調度算法將會在后面的ipvsadm配置文件中用到,通常用英文單詞的第一個字母的縮寫來表示。例如:輪叫(Round Robin)表示為rr。
三種IP負載均衡技術的優缺點比較
VS/NAT | |||
服務器(OS) | 任意 | 支持隧道 | 多數(支持Non-arp ) |
服務器網絡 | 私有網絡 | 局域網 | 局域網 |
服務器數目(100M網絡) | 10~20 | 100 | 多(100) |
服務器網關 | 負載均衡器 | 自己的路由 | 自己的路由 |
效率 | 一般 | 高 | 最高 |
三種IP負載均衡技術中特別是后兩種技術VS/TUN,VS/DR極大地提高系統的伸縮性,它們的相關技術原理不是本文討論的重點,若需了解詳細內容,請參看章文嵩博士的相關撰文。
圖1
圖2
圖3
1.2. High Availability of LVS
較為成熟的方案有mon+heartbeat+fake+coda 和ldirectord+heartbeat 方案,本文我們采用的是ldirectord+heartbeat 方案。
1.2.1. Heartbeat
Linux-HA 項目開始于 1998 年,是 Linux-HA HOWTO(Haranld Milz 著)的產物。該項目目前由 Alan Robertson 領導,許多其他代碼提供者也參與其中。1.0.3版本是2003年6月發布的最新穩定版本。
Heartbeat 通過通信介質(通常是串行設備和以太網)監控節點的"健康"狀況。最好有多個冗余介質,以便我們既可以使用串行線又可以使用以太網鏈接。每個節點運行一個守護程序進程(稱為"心跳")。主守護程序派生出讀和寫每個心跳介質的子進程,以及狀態進程。當檢測到某個節點發生故障時,Heartbeat 運行 shell 腳本來啟動(或停止)輔助節點上的服務。按照設計,這些腳本使用與系統 init 腳本(通常位于 /etc/init.d 中)相同的語法。缺省腳本是為文件系統、Web 服務器和虛擬 IP 故障轉移提供的。
1.2.2. Ldirectord
"ldirectord"(Linux Director Daemon)是Jacob Rief編程實現的一個獨立進程,以實現對服務和物理服務器的監測,廣泛地用于http和https等服務, Ldirectord與mon相比,優點如下:
1.2.3. ldirectord+heartbeat的絕妙組合
ldirectord+heartbeat方案前端負載調度器采用雙機熱備份方式,雙機均安裝雙網卡,一個網卡用于連接集群系統,另一個作為冗余心跳線路連接雙機。采用串口線 + 以太網口做為冗余心跳線路,以確保雙機熱備份的可靠性,消除由于主負載調度器或心跳線故障帶來的集群單點故障。
在主負載調度器及備份負載調度器同時安裝ldirectord及heartbeat,并同時運行Heartbeat,相互監視"健康"狀況,一旦備份負載調度器監測到主負載調度器發生故障,備份服務器通過運行shell腳本來啟動備份調度器上服務來完成虛擬 IP 故障轉移,通過ipvsadm啟動LVS及ldirectord,完成負載調度器的整體接管。一旦主負載調度器恢復正常工作,備份負載將通過腳本停掉備份負載調度器上的LVS及ldirectord,同時完成虛擬 IP 故障轉移,主負載調度器重新恢復接管LVS及ldirectord監控服務。這樣負載調度器就完成了一個標準的接管及恢復過程。
該方案結構清晰明了,安裝簡便,并且ldirectord是專門為LVS所開發,針對性強,無縫銜接,配合默契,堪稱絕妙組合。
2.1. 實現目標:
實現以常用、效率最高的LVS-DR IP負載技術為基礎,以高可用性(HA)+ 高性能 + 高性能/價格比 + 高可伸縮性為最終目的。負載均衡器采用HA技術構架,采用Heartbeat軟件包,heartbeat采用串口、網絡口冗余線路,保證24X7不間斷運行。結構如圖:
Setup LVS using LVS-DR forwarding
|
2.2. 設備要求:
因為負載均衡器和真實服務器節點均有軟硬件冗余保障,所以硬件設備可以根據具體資金情況及提供服務規模而定。當然最好采用支持RAID,SCSI,內存ECC校驗,熱插拔等技術的專用服務器,以提供穩定高效的服務。對于非關鍵業務服務,也可以考慮采用最新支持IDE RAID(0,1,0+1,1.5,5)的服務器,可以獲得一個良好的性能/價格比。當然,如果你是一個對硬件技術細節非常熟悉,說話又有分量,對自己非常有信心,敢冒風險,崇尚節約、實用性的人,那么DIY一組高性價比的服務器集群,也是一件非常有意義而且充滿樂趣的工作。
2.3.原始軟件環境:
Red Hat 9.0 完全安裝
Red Hat 9.0 (kernel-2.4.20-8 ) gcc -3.2.2-5
如果你使用的是Red Hat 8 ,那么你很幸運。Red Hat 8 (kernel-2.4.18-14)已經預先打了ipvs的補丁,在預安裝的內核中已將ipvs編譯成模塊,可以通過檢查 /lib/modules/2.4.18-14/kernel/net/ipv4/ipvs 是否存在來判斷??梢灾苯影惭bipvsadm。從Red Hat 9 (kernel-2.4.20-8),Red Hat 取消了ipvs的補丁及預編譯ipvs為模塊的內核,且Red Hat 9 自帶的kernel-2.4.20-8的內核無法通過ipvs補丁linux-2.4.20-ipvs-1.0.9 .patch.gz的編譯,至少在我的兩臺P4的機器上都沒有通過編譯。標準內核linux-2.4.20.tar.gz則可以通過編譯。所以我們將采用www.kernel.org上的標準內核kernel-2.4.20.tar.gz來構造我們的集群系統。
2.4.需下載軟件包:
# Linux kernel
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.gz
# ipvs patch
http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9.patch.gz
# ipvs tar ball
http://www.linuxvirtualserver.org/software/kernel-2.4/ipvs-1.0.9.tar.gz
# hidden patch(已經包括在ipvs-1.0.9.tar.gz,可不用下載)
http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff (解決arp 問題 for LVS-DR/LVS-Tun)
# ipvsadm (已包含在ipvs-1.0.9.tar.gz包中, 可不用下載)
# Ldirectord
http://www.linux-ha.org/download/heartbeat-ldirectord-1.0.3-1.i386.rpm
# heartbeat
http://www.linux-ha.org/download/heartbeat-1.0.3.tar.gz
http://www.linux-ha.org/download/heartbeat-1.0.3-1.src.rpm
http://www.linux-ha.org/download/heartbeat-1.0.3-1.i386.rpm
http://www.linux-ha.org/download/heartbeat-pils-1.0.3-1.i386.rpm
http://www.linux-ha.org/download/heartbeat-stonith-1.0.3-1.i386.rpm
2.5. 安裝要求:
2.5.1 Director:
2.5.2 RealServes: (在LVS-NAT方式下,不需要打任何補?。?/b>
內核打arp的補丁hidden-2.4.20pre10-1.diff (arp problem for LVS-DR/LVS-Tun)編譯新內核。
如果你不知道你的內核源代碼是否已經預打過ipvs的補丁, 可以詢問你的Linux發行版的制造商或查看相關ipvs 文件,文件名類似于 /usr/src/linux-2.4/net/ipv4/ip_vs_*.c。
2.6. 安裝步驟:
2.6.1 Director或RealServer上內核的安裝:
|
相關網絡內核選項:
相關LVS內核選項:
|
如果要安裝該內核在其它機器上:
|
2.6.2 Director上ipvsadm 的安裝:
用打過ipvs和hidden(for LVS-DR/LVS-Tun)補丁的新內核啟動linux
|
檢查ipvsadm 探測到內核的ipvs的補丁可以運行
|
如果成功你會看到類似于如下內容:
|
說明安裝成功
運行lsmod | grep ip_vs 可以看到ip_vs模塊已經被插入內核運行。
2.6.3. 運行腳本( Run Scripts )
以下以最常用的LVS-DR模式來介紹相關的腳本設置
( 以Telnet服務, 輪叫(rr)策略為例 )
2.6.3.1 Director上:
|
該段運行腳本對于熟悉Linux網絡配置的讀者來說應該很容易理解。由于LVS是通過對標準內核打補丁,在內核級提供支持,所以在LVS-DR模式下,首先是進行內核的相關設置。要關閉標準內核下的ip_forward轉發方式,即置為0。同時因為LVS-DR模式下,集群的網關是外部網關,而不是負載均衡器。所以要打開icmp包的重定向設置send_redirects 置為1。接著就是綁定集群的虛擬服務器的IP地址,并添加一條到該IP地址的主機路由。然后對該虛擬IP做一些必要的自我檢測,同時列出路由表。最后是有關ipvasdm的設置,首先清空ipvasdm表,然后添加需要提供負載均衡的服務及調度策略,這里例舉的是telnet服務,也可以直接使用端口號,調度策略為輪叫(rr)策略。最后添加轉發到真實服務器的直接路由,如果有多臺RealServer或需要提供多種服務的負載均衡,依次添加。再做一些到RealServer的網絡測試(也可不要),最后顯示ipvasdm所有的設置信息。
注意:
ipvs-1.0.9.tar.gz中包含的ipvsadm是1.21版,安裝后在/etc/rc.d/init.d/目錄下自動生成了標準的init服務腳本,如果你的Director沒有安裝備份服務器,你可以通過服務管理工具讓它在相應的運行級里自動運行,如果Director是HA系統,則由heartbeat控制運行。
另外該服務腳本提供了配置保存功能。配置文件為:/etc/sysconfig/ipvsadm 你必須手工建立。然后在其中輸入規則和策略:
例如:
|
然后存盤。
或直接運行:
|
然后運行:/etc/rc.d/init.d/ipvsadm save
就可以保存當前配置到/etc/sysconfig/ipvsadm文件中。
在具有HA系統的Director上,ipvsadm可以方便地被Heartbeat管理-啟動、停止。Director上的VIP(虛擬)服務器地址由Heartbeat負責設置和切換。
做法如下:
在Heartbeat的配置文件haresources中加類似入如下一行:
linuxha1 IPaddr::192.168.7.110/24/192.168.7.255 ipvsadm ldirectord::www ldirectord::mail
2.6.3.2. RealServers上:
|
該段腳本和上面的腳本比較類似,相信不用再多做介紹了。需要注意的是:LVS-DR模式下,缺省網關的設置。集群的網關是外部網關,而不是負載均衡器。還有就是RealServer上綁定的VIP地址的設備lo:0。另外不要忘了開啟not arp補丁的設置開關。相信你已經很清楚了。
你也可以把以上腳本改寫成符合init語法的標準腳本,放到/etc/rc.d/init.d/下面運行,或直接加到/etc/init.d/rc.local下運行。
改寫為標準init語法腳本如下:
|
然后:
cp rc.lvs /etc/rc.d/init.d/hiddend
chmod 755 /etc/rc.d/init/d/hiddend
chkconfig - -add hiddend
2.6.4. Ldirectord的安裝:
一些文章介紹在ipvs-x.x.x.tar.gz中已包含了Ldirectord,估計該作者并沒有進入到相關目錄中去仔細查看,該目錄中只有一個README文件,告訴你在哪里可以找到Ldirecrtord的代碼??傊以趇pvs-1.0.9.tar.gz中是沒有看到Ldirectord源代碼。其實它的源代碼是包含在heartbeat-1.0.3.tar.gz中的。所以請到這里下載相關代碼:http://www.linux-ha.org/download/
在安裝時可能會遇到依賴性的錯誤,可以用--nodeps參數進行安裝??傊阉崾舅枰膔pm包(在dependancies目錄下)全部裝上。在dependancies目錄下其它一些其它rpm包,如果不用相關功能可以不裝。
源代碼安裝:
|
rpm安裝:
|
為了簡化安裝步驟,我安裝的是Ldirectord for Red Hat 9的rpm包,RedHat和Debian版本的從這里下載:http://www.ultramonkey.org/download/heartbeat/
注意:
/usr/share/doc/heartbeat-ldirectord-1.0.3/ldirectord.cf文件是Ldirectord的配置文件的范例。拷貝該文件到/etc/ha.d/目錄下,修改其內容,并另存為xxx.cf(例如:www.cf,mail.cf),以便在Heartbeat的配置文件haresources中使用。
范例:www.cf(http服務)
|
然后你必須在每臺真實服務器節點的www的根目錄上生成以Test Page為內容的.testpage文件。在每臺真實服務器節點的www的根目錄上執行命令:echo "Test Page" > .testpage
2.6.5. 配置 Heartbeat
需要配置的有三個文件:ha.cf haresources(在每個節點必須相同) Authkeys,應該將它們放置在/etc/ha.d目錄下。范例配置在/usr/shared/doc/heartbeat-1.0.3目錄下,你可以修改后拷貝到/etc/ha.d目錄下。
2.6.5.1. 配置ha.cf
這個配置文件告訴heartbeat 使用的是什么介質和如何配置它們。ha.cf 包含你將到的所有的選項,內容如下:
serial /dev/ttyS0
使用串口heartbeat - 如果你不使用串口heartbeat, 你必須選擇其它的介質,比如以太網bcast (ethernet) heartbeat。如果你使用其它串口heartbeat,修改/dev/ttyS0 為其它的串口設備。
watchdog /dev/watchdog
可選項:watchdog功能提供了一種方法能讓系統在出現故障無法提供"heartbeat"時,仍然具有最小的功能,能在出現故障1分鐘后重啟該機器。這個功能可以幫助服務器在確實停止心跳后能夠重新恢復心跳。如果你想使用該特性,你必須在內核中裝入"softdog" 內核模塊用來生成實際的設備文件。想要達到這個目的, 首先輸入 "insmod softdog" 加載模塊。然后,輸入"grep misc /proc/devices" 注意顯示的數字 (should be 10). 然后, 輸入"cat /proc/misc | grep watchdog" 注意輸出顯示出的數字(should be 130)?,F在你可以生成設備文件使用如下命令:"mknod /dev/watchdog c 10 130" 。
bcast eth1
指定使用的廣播heartbeat 的網絡接口eth1(修改為eth0, eth2, 或你所使用的接口)
keepalive 2
設置心跳間隔時間為2兩秒。
warntime 10
在日志中發出最后心跳"late heartbeat" 前的警告時間設定。
deadtime 30
在30秒后明確該節點的死亡。
initdead 120
在一些配置中,節點重啟后需要花一些時間啟動網絡。這個時間與"deadtime"不同,要單獨對待。 至少是標準死亡時間的兩倍。
hopfudge 1
可選項: 用于環狀拓撲結構,在集群中總共跳躍節點的數量。
baud 19200
串口波特率的設定(bps).
udpport 694
bcast和ucast通訊使用的端口號694 。這是缺省值,官方IANA 使用標準端口號。
nice_failback on
可選項:對那些熟悉Tru64 Unix, 心跳活動就像是"favored member"模式。主節點獲取所有資源直到它宕機,同時備份節點啟用。一旦主節點重新開始工作, 它將從備份節點重新獲取所有資源。這個選項用來防止主節點失效后重新又獲得集群資源。
node linuxha1.linux-ha.org
強制選項:通過`uname -n`命令顯示出的集群中的機器名。
node linuxha2.linux-ha.org
強制選項:通過`uname -n`命令顯示出的集群中的機器名。
respawn userid cmd
可選項:列出可以被spawned 和監控的命令。例如:To spawn ccm 后臺進程,可以增加如下內容:
respawn hacluster /usr/lib/heartbeat/ccm
通知heartbeat 重新以可信任userid身份運行(在我們的例子中是hacluster) 同時監視該進程的"健康"狀況,如果進程死掉,重啟它。例如ipfail, 內容如下:
respawn hacluster /usr/lib/heartbeat/ipfail
NOTE: 如果進程以退出代碼100死掉, 這個進程將不會respawned。
ping ping1.linux-ha.org ping2.linux-ha.org ....
可選項:指定ping 的節點。 這些節點不是集群中的節點。它們用來檢測網絡的連接性,以便運行一些像ipfail的模塊。
2.6.5.2. 配置 haresources
一旦你配置好了ha.cf文件,下面就需要設置haresources文件,這個文件指定集群所提供的服務以及誰是缺省的主節點。注意,該配置文件在所有節點應該是相同的。
在我們的例子中,我們的HA集群提供的是負載均衡服務(LVS)和服務監控服務(Ldirectord)。這里集群的IP(虛擬)地址是必須配置的,不要在haresources文件以外的地方配置該IP地址。所以我們應該添加如下一行:
linuxha1 IPaddr::192.168.7.110/24/192.168.7.255 ipvsadm ldirectord::www ldirectord::mail
::前的表示服務腳本名稱(IPaddr),你可以在目錄/etc/ha.d/resource.d下找到一個腳本名叫 Ipaddr,后面的表示輸入的參數。
Heartbeat 會在下面的路徑搜索同名的啟動腳本:
/etc/ha.d/resource.d
/etc/rc.d/init.d
這里的服務腳本的使用是符合Init標準語法,所以你可以在這里通過Heartbeat方便地運行、停止/etc/rc.d/init.d下標準的服務后臺進程。
2.6.5.3. 配置 Authkeys
配置加密認證算法,有三種算法:CRC, md5,sha1。你會問我們應該用哪種呢?
如果你的heartbeat運行在一個安全的網絡,例如CAT5交叉線,你可以用CRC,從資源開銷上來說,這是最節省開銷的。如果網絡是不可靠的,而且你也不是一個網絡安全癡狂者或者你十分關心CPU資源的最小開銷,就用md5,最后如果你關心的是安全而不是CPU資源的開銷,那么建議你使用sha1,你將會得到最佳的安全度,很難被黑客所破解。
格式如下:auth <number> <number> <authmethod> [<authkey>]
例: /etc/ha.d/authkeys
使用sha1
auth 1
1 sha1 key-for-sha1-any-text-you-want
使用md5
auth 1
1 sha1 key-for-md5-any-text-you-want
使用CRC
auth 2
2 crc
chmod 600 Authkeys
在本文介紹的方案中,正如前面所提到的,集群中的真實節點可以是Linux系統,也可以是WindowsNT/2K或其它支持的系統,在本文例舉的VS/DR方式下,支持WindowsNT/2K做為RealServer,提是你必須安裝了MS Lookback Adapter。如果你沒有在NT/2K上安裝MS Lookback Adapter Driver,你可以選擇添加新硬件,添加網絡適配器,選擇Microsoft,選擇Lookback Adapter. 你可能會需要NT的安裝盤。然后添加VIP (Virtual IP) 地址在 MS Loopback Adapter上, 不要輸入網關gateway IP地址。子網掩碼 255.255.255.255 在MS NT/2K會被認為是無效的。你有兩種解決方法:
你先接受缺省的netmask, 然后進入MS-DOS 提示符,刪除外部路由
c: route delete <VIP's network> <VIP's netmask>
這將改變包的發送方向到其它的網絡界面,而不是MS Loopback interface. 因此在這里設置網絡掩碼為255.0.0.0 同樣可以工作。
可以通過修改注冊表設置子網掩碼為255.255.255.255, 這在我的DR系統中工作良好。而且這比每次啟動時刪除外部路由的方法要方便的多。
在Windows 2000,中 網絡界面(interfaces)在:
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersInterfaces
找到適當的網絡界面IP地址,修改它的子網掩碼,(注意修改方式)不需要重啟,只需重新激活該網絡界面即可。
本人強烈建議您使用第二種方法,這將帶來極大的方便。
4.1. 啟動:
|
如果你安裝的是rpm的版本,該連接已經被建立,就不需要手工建立以上連接了。
注意:
如果你使用watchdog 功能,你必須在啟動的時候裝入該模塊。你可以在 /etc/rc.d/rc.sysinit 文件中加如一句:
/sbin/insmod softdog
4.2. 測試:
測試分為三部分測試
1)HA負載調度器測試
可以用telnet服務來驗證HA負載調度器是否正常工作,方法:
修改haresources為:linuxha1.linux-ha.org IPaddr::192.168.7.110/24/192.168.7.255 telnet
在客戶機上telnet到192.168.7.110上,你將會看到linuxha1,然后宕掉linuxha1, 再telnet到192.168.7.110上,你將會看到linuxha2,說明HA工作正常。中間間隔時間10秒左右。如果超過30秒仍無法正常工作,說明有問題存在。在測試中要保證至少有一條心跳線連接良好,否則重新連上心跳線后會引起資源上的混亂。
2)HA+LVS測試
如果HA負載調度器可以正常工作,那么就可以進行HA+LVS測試,方法類似:
修改haresources為:
linuxha1.linux-ha.org IPaddr::192.168.7.110/24/192.168.7.255 ipvsadm
設置ipvsadm中相關http的規則。
在RealServers上打開httpd服務。然后在不同的RealServer www首頁上以內容區分開來。然后在客戶機上進行測試,客戶機上的瀏覽器由于緩沖的緣故,你可能需要刷新幾次。
再做宕機測試??磦浞軩irector能否正常接管,并且使RealServers繼續提供服務。
3)HA+LVS+Ldirectord測試
方法類似。修改haresources為:
linuxha1 IPaddr::192.168.7.110/24/192.168.7.255 ipvsadm ldirectord::www
加入ldirectord服務監控進程。宕掉部分RealServers上的服務,進行測試。你可以通過運行ipvsadm查看ipvs的路由表來確定宕掉服務的RealServer的相關該服務路由信息是否被更改。
如果以上測試都能正常通過,恭喜你,你的心血沒有白費。你將會得到一個高可用、高性能、高可伸縮性的服務集群。
到此,本文已接近尾聲,希望通過對本文的閱讀,能夠讓你了解什么是Linux下的集群技術,更重要的是讓你知道如何一步步地親自去構建Linux下的集群。鍛煉你理論與實際相結合工作的能力,能給你帶來工作中的樂趣與收獲。同時希望能與大家一起交流Linux下的相關技術,互相促進,相互提高。
原文轉自:http://www.anti-gravitydesign.com