什么是cluster技術(shù)
發(fā)布時間:2025-10-19 | 來源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
Cluster技術(shù)發(fā)展多年了,但其實并沒有一個非常準(zhǔn)確的定義和分類,不同的人有不同的理解。
其實叫什么無所謂,只要能夠?qū)τ脩粲幸婢涂梢粤?:-)
就個人理解而言,cluster有以下幾種,當(dāng)然前面說過,不同的人有不同的理解,大家可以充分討論。我的這些分類更偏重于工程而不是技術(shù)性。
1.HA集群
實現(xiàn)高可用性,但對單個應(yīng)用性能沒有提高,市場上大部分產(chǎn)品都是屬于這類,技術(shù)上也較簡單。
2.IP負(fù)載均衡集群
利用IP技術(shù)實現(xiàn)對通用IP應(yīng)用的支持。這種技術(shù)并不是很新,最早是在硬件上面采用的,Linux出現(xiàn)后才有了很多純軟件的模式,這也是opensource帶來的好處吧
3.并行計算集群
包括了一些象PVM,beowulf這樣的信息傳遞機制和API庫,也有任務(wù)調(diào)度產(chǎn)品,當(dāng)然技術(shù)上最難的是并行編譯/并行系統(tǒng)等更智能化的產(chǎn)品
4.應(yīng)用負(fù)載均衡集群
雖然cluster的最高目的是實現(xiàn)真正的與應(yīng)用程序無關(guān)的動態(tài)負(fù)載均衡,但由于技術(shù)上的限制,現(xiàn)在都只能在特殊的應(yīng)用中實現(xiàn),需要修改應(yīng)用程序,所以并沒有通用產(chǎn)品,大多是廠商有自己的并行版本。例如oracleparallerserver.
下面是一篇很早以前寫的東西,當(dāng)時是為了媒體宣傳寫的,有一些商業(yè)味道在里面,有些地方技術(shù)上也不完全正確?,F(xiàn)在給大家附上是想交換一下觀點。并不是宣傳Turbolinux公司的產(chǎn)品(本人是Turbolinux員工),確實是實在懶得改了,雖然這種商業(yè)性文章在公共社區(qū)里發(fā)表犯了大忌。只是供大家參考,關(guān)于Turbolinux產(chǎn)品優(yōu)劣不參與討論。請大家理解。
一直是不參與linux社區(qū)討論的,這次是因為對cluster接觸了比較長的時間,已經(jīng)有了很大的興趣,所以注冊了來灌水。
隨著Internet/Intranet應(yīng)用的日益廣泛,計算機系統(tǒng)的重要性也日益上升。低故障率和高性能向來是人們追求的主要目標(biāo),但對于單臺服務(wù)器來講,這兩個問題是無法解決的。
l可用性——很多服務(wù)器都宣稱已經(jīng)達(dá)到了99%的可用性。這個數(shù)字意味著什么呢?也就是說每年會有1%的非預(yù)計停機時間,讓我們來具體算一下。365(天/年)×24(小時/天)×1%=87.6(小時/年)。這每年87.6小時的停機時間對于要求24×7連續(xù)服務(wù)的企業(yè)來說簡直就是災(zāi)難。
l高性能——假設(shè)一般的桌面機每秒能夠處理幾千個請求,而IA服務(wù)器每秒能夠處理幾萬個請求。那么對于需要每秒處理幾十萬個請求的企業(yè)來說如果不采用集群技術(shù),唯一的選擇就是購買更加高檔的中、小型計算機。如果這樣做雖然系統(tǒng)性能只提高了十倍,但其購買價格和維護(hù)費用就將會上升幾十倍甚至更多。
集群技術(shù)的出現(xiàn)和發(fā)展則很好的解決了這兩個問題。
一.集群
集群就是由一些互相連接在一起的計算機構(gòu)成的一個并行或分布式系統(tǒng),從外部來看,它們僅僅是一個系統(tǒng),對外提供統(tǒng)一的服務(wù)。
集群技術(shù)本身有很多種分類,市場上的產(chǎn)品也很多,都沒有很標(biāo)準(zhǔn)的定義。一般可以分為以下幾種:
1.基于冗余的集群
嚴(yán)格來講這種冗余系統(tǒng)并不能叫做真正的集群,因為它只能夠提高系統(tǒng)的可用性,卻無法提高系統(tǒng)的整體性能。
有以下幾種類型。
A.容錯機
特點是在一臺機器內(nèi)部對其所有的硬件部件都進(jìn)行冗余(包括硬盤、控制卡、總線、電源等等)。
能夠基本做到與軟件系統(tǒng)無關(guān),而且可實現(xiàn)無縫切換,但價格極其昂貴。
典型市場產(chǎn)品:CompaqNonStop(Tandem),Micron(NetFrame),Straus
B.基于系統(tǒng)鏡像的雙機系統(tǒng)
特點是利用雙機,將系統(tǒng)的數(shù)據(jù)和運行狀態(tài)(包括內(nèi)存中的數(shù)據(jù))進(jìn)行鏡像,從而實現(xiàn)熱備份的目的。
能夠做到無縫切換,但因為采用軟件控制,占用系統(tǒng)資源較大,而且由于兩臺機器需要完全一樣的配置,所以性能價格比太低。
典型市場產(chǎn)品:NovellSFTIII,MarathonEndurance4000forNT
C.基于系統(tǒng)切換的雙機系統(tǒng)
特點是利用雙機,將系統(tǒng)的數(shù)據(jù)(僅指硬盤數(shù)據(jù))進(jìn)行鏡像,在主機失效的情況下從機將進(jìn)行系統(tǒng)一級的切換。
性能價格比適中,但無法實現(xiàn)無縫切換。
典型市場產(chǎn)品:Legato(Vinca)StandbyServerforNetWare,Savoir(WesternMicro)SavWareHA(Sentinel),CompaqStandbyServer
2.基于應(yīng)用程序切換的集群
特點是當(dāng)集群中的某個節(jié)點故障時,其它節(jié)點可以進(jìn)行應(yīng)用程序一級的切換,所以所有節(jié)點在正常狀態(tài)下都可以對外提供自己的服務(wù),也被成為靜態(tài)的負(fù)載均衡方式。
性能價格比高,但也無法實現(xiàn)無縫切換,而且對單個應(yīng)用程序本身無法做到負(fù)載均衡。
典型市場產(chǎn)品:Legato(Vinca)Co-StandbyServerforNT,NovellHAServer,MicrosoftClusterServer,DECClusterforNT,LegatoOctopus,LegatoFullTime,NeoHighRoseHA,SUNClusters,VeritasClusterServer(FirstWatch),CASurvivIT,1776
3.基于并行計算的集群
主要應(yīng)用于科學(xué)計算、大任務(wù)量的計算等環(huán)境。有并行編譯、進(jìn)程通訊、任務(wù)分發(fā)等多種實現(xiàn)方法。
典型市場產(chǎn)品:TurboLinuxenFuzion,Beowulf,SupercomputerArchitectures,Platform
4.基于動態(tài)負(fù)載均衡的集群
所有節(jié)點對外提供相同的服務(wù),這樣可以實現(xiàn)對單個應(yīng)用程序的負(fù)載均衡,而且同時提供了高可用性。
性能價格比極高,但目前無法支持?jǐn)?shù)據(jù)庫。
典型市場產(chǎn)品:TurboClusterServer,LinuxVirtualServer,F(xiàn)5BigIP,MicrosoftWindowsNTLoadBalanceService
二.負(fù)載均衡
負(fù)載均衡是提高系統(tǒng)性能的一種前沿技術(shù)。還是沿用前面的例子,一臺IA服務(wù)器的處理能力是每秒幾萬個,顯然無法在一秒鐘內(nèi)處理幾十萬個請求,但如果我們能夠有10臺這樣的服務(wù)器組成一個系統(tǒng),如果有辦法將所有的請求平均分配到所有的服務(wù)器,那么這個系統(tǒng)就擁有了每秒處理幾十萬個請求的能力。這就是負(fù)載均衡的基本思想。
實際上目前市場上有多家廠商的負(fù)載均衡產(chǎn)品。由于其應(yīng)用的主要技術(shù)的不同,也就有著不同的特點和不同的性能。
1.輪詢DNS
輪詢DNS方案可以說是技術(shù)上最簡單也最直觀的一種方案。當(dāng)然這種方案只能夠?qū)崿F(xiàn)負(fù)載均衡的功能,卻無法實現(xiàn)對高可用性的保證。
它的原理是在DNS服務(wù)器中設(shè)定對同一個Internet主機名的多個IP地址的映射。這樣在DNS收到查詢主機名的請求時,會循環(huán)的將所有對應(yīng)的IP地址逐個返回。這樣就能夠?qū)⒉煌目蛻舳诉B接定位到不同的IP主機上,也就能夠?qū)崿F(xiàn)比較簡單的負(fù)載均衡功能。但是這種方案有兩個比較致命的缺點:
l只能夠?qū)崿F(xiàn)對基于Internet主機名請求的負(fù)載均衡,如果是直接基于IP地址的請求則無能為力。
l在集群內(nèi)有節(jié)點發(fā)生故障的情況下,DNS服務(wù)器仍會將這個節(jié)點的IP地址返回給查詢方,也就仍會不斷的有客戶請求試圖與已故障的節(jié)電建立連接。這種情況下即使你手工修改DNS服務(wù)器的對應(yīng)設(shè)置,將故障的IP地址刪除,由于Internet上所有的DNS服務(wù)器都有緩存機制,仍會有成千上萬的客戶端連接不到集群,除非等到所有的DNS緩存都超時。
2.硬件解決方案
有些廠商提供對負(fù)載均衡的硬件解決方案,制造出帶有NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)功能的高檔路由器或交換機來實現(xiàn)負(fù)載均衡功能。NAT本身的原理就是實現(xiàn)多個私有IP地址對單個公共IP地址的轉(zhuǎn)換。代表產(chǎn)品是Cicso公司和Alteon公司的某些高檔硬件交換機系列。這種方案有如下缺點:
l由于采用了特殊的硬件,使得整個系統(tǒng)中存在非工業(yè)標(biāo)準(zhǔn)部件,極大的影響系統(tǒng)的擴充和維護(hù)、升級工作。
l價格極其昂貴,和軟件的解決方案根本是數(shù)量級上的差別。
l一般只能實現(xiàn)對節(jié)點系統(tǒng)一級的狀態(tài)檢查,無法細(xì)化到服務(wù)一級的檢查。
l由于采用NAT機制,集群管理節(jié)點本身要完成的工作量很大,很容易成為整個系統(tǒng)的瓶頸。
l此特殊硬件本身就是單一故障點。
l實現(xiàn)異地節(jié)點的集群非常困難。
3.協(xié)商式處理(并行過濾)
這種方案的原理是客戶請求會同時被所有的節(jié)點所接收,然后所有節(jié)點按照一定的規(guī)則協(xié)商決定由哪個節(jié)點處理這個請求。此種方案中比較顯著的特點就是整個集群中沒有顯著的管理節(jié)點,所有決定由全體工作節(jié)點共同協(xié)商作出。代表產(chǎn)品是Microsoft公司的MicrosoftLoadBalancingService這種方案的特點是:
l由于各節(jié)點間要進(jìn)行的通訊量太大,加重了網(wǎng)絡(luò)的負(fù)擔(dān),一般需要增加節(jié)點通訊的專用網(wǎng)絡(luò),也就加大了安裝和維護(hù)的難度和費用。
l由于每個節(jié)點都要接收所有的客戶請求并進(jìn)行分析,極大的加大了網(wǎng)絡(luò)驅(qū)動層的負(fù)擔(dān),也就減低了節(jié)點本身的工作效率,同時也時網(wǎng)絡(luò)驅(qū)動層很容易成為節(jié)點系統(tǒng)的瓶頸。
l由于要更改網(wǎng)絡(luò)驅(qū)動層的程序,所以并不是一個通用的方案,只能夠?qū)崿F(xiàn)對特殊平臺的支持。
l在小量節(jié)點的情況下協(xié)商的效率還可以接受,一旦節(jié)點數(shù)量增加,通訊和協(xié)商將變得異常復(fù)雜和低效,整個系統(tǒng)的性能會有非線性的大幅度下降。所以此類方案,一般在理論上也只允許最多十幾個的節(jié)點。
l無法實現(xiàn)異地節(jié)點的集群。
l由于集群內(nèi)沒有統(tǒng)一的管理者,所以可能出現(xiàn)混亂的異常現(xiàn)象。
4.流量分發(fā)
流量分發(fā)的原理是所有的用戶請求首先到達(dá)集群的管理節(jié)點,管理節(jié)點可以根據(jù)所有服務(wù)節(jié)點的處理能力和現(xiàn)狀來決定將這個請求分發(fā)給某個服務(wù)節(jié)點。當(dāng)某個服務(wù)節(jié)點由于硬件或軟件原因故障時,管理節(jié)點能夠自動檢測到并停止向這個服務(wù)節(jié)點分發(fā)流量。這樣既通過將流量分擔(dān)而增加了整個系統(tǒng)的性能和處理能力,又可以很好的提高系統(tǒng)的可用性。
通過將管理節(jié)點本身做一個子集群可以消除由于管理節(jié)點自身的單一性帶來的單一故障點。有些傳統(tǒng)技術(shù)人員認(rèn)為,因為所有的客戶流量都將通過管理節(jié)點,所以管理節(jié)點很容易成為整個系統(tǒng)的瓶頸。但TurboClusterServer通過先進(jìn)的直接路由或IP隧道轉(zhuǎn)發(fā)機制巧妙的解決了問題。使得所有對客戶響應(yīng)的流量都由服務(wù)節(jié)點直接返回給客戶端,而并不需要再次通過管理節(jié)點。眾所周知對于服務(wù)提供商而言,進(jìn)入的流量要遠(yuǎn)遠(yuǎn)小于流出的流量,所以管理節(jié)點本身將不再是瓶頸。
流量分發(fā)的具體實現(xiàn)方法有直接路由、IP隧道和網(wǎng)絡(luò)地址轉(zhuǎn)換三種方法。TurboClusterServer目前支持效率最高的前兩種。由于這種先進(jìn)的結(jié)構(gòu)和技術(shù),使得TurboClusterServer集群內(nèi)的服務(wù)節(jié)點數(shù)并沒有上限,而且對大量節(jié)點的協(xié)同工作的效率也能夠非常好的保證。
三.市場前景
集群技術(shù)已經(jīng)發(fā)展了多年,其中的分支也非常多。目前集群技術(shù)正逐漸走向分層結(jié)構(gòu),以后也肯定會有專門用戶前端、后端的集群產(chǎn)品出現(xiàn)。
隨著計算機應(yīng)用地位的逐漸提升,系統(tǒng)安全和重要性的日益增加,集群技術(shù)必將會有著極為廣闊的應(yīng)用前景。
上一篇:貝勒爺是何身份