高可用性集群與負(fù)載均衡集群的工作原理哪里不同
Linux競(jìng)爭(zhēng)力很強(qiáng)的原因之一,是它可以運(yùn)行于極為普及的PC機(jī)上,不需要購(gòu)買昂貴的專用硬件設(shè)備。在幾臺(tái)運(yùn)行Linux的PC機(jī)上,只要加入相應(yīng)的集群軟件,就可以組成具有超強(qiáng)可靠性、負(fù)載能力和計(jì)算能力的Linux集群。集群中的每臺(tái)服務(wù)器稱為一個(gè)節(jié)點(diǎn)。
一、高可用性集群
運(yùn)行于兩個(gè)或多個(gè)節(jié)點(diǎn)上,目的是在系統(tǒng)出現(xiàn)某些故障的情況下,仍能繼續(xù)對(duì)外提供服務(wù)。高可用性集群的設(shè)計(jì)思想就是要最大限度地減少服務(wù)中斷時(shí)間。這類集群中比較著名的有Turbolinux TurboHA、Heartbeat、Kimberlite等。
二、負(fù)載均衡集群
目的是提供和節(jié)點(diǎn)個(gè)數(shù)成正比的負(fù)載能力,這種集群很適合提供大訪問(wèn)量的Web服務(wù)。負(fù)載均衡集群往往也具有一定的高可用性特點(diǎn)。Turbolinux Cluster Server、Linux Virtual Server都屬于負(fù)載均衡集群。
三、超級(jí)計(jì)算集群
按照計(jì)算關(guān)聯(lián)程度的不同,又可以分為兩種。一種是任務(wù)片方式,要把計(jì)算任務(wù)分成任務(wù)片,再把任務(wù)片分配給各節(jié)點(diǎn),在各節(jié)點(diǎn)上分別計(jì)算后再把結(jié)果匯總,生成最終計(jì)算結(jié)果。另一種是并行計(jì)算方式,節(jié)點(diǎn)之間在計(jì)算過(guò)程中大量地交換數(shù)據(jù),可以進(jìn)行具有強(qiáng)耦合關(guān)系的計(jì)算。這兩種超級(jí)計(jì)算集群分別適用于不同類型的數(shù)據(jù)處理工作。有了超級(jí)計(jì)算集群軟件,企業(yè)利用若干臺(tái)PC機(jī)就可以完成通常只有超級(jí)計(jì)算機(jī)才能完成的計(jì)算任務(wù)。這類軟件有Turbolinux EnFusion、SCore等。
高可用性集群與負(fù)載均衡集群的工作原理不同,適用于不同類型的服務(wù)。通常,負(fù)載均衡集群適用于提供靜態(tài)數(shù)據(jù)的服務(wù),如HTTP服務(wù);而高可用性集群既適用于提供靜態(tài)數(shù)據(jù)的服務(wù),如HTTP服務(wù),又適用于提供動(dòng)態(tài)數(shù)據(jù)的服務(wù),如數(shù)據(jù)庫(kù)等。高可用性集群之所以能適用于提供動(dòng)態(tài)數(shù)據(jù)的服務(wù),是由于節(jié)點(diǎn)共享同一存儲(chǔ)介質(zhì),如RAIDBox.也就是說(shuō),在高可用性集群內(nèi),每種服務(wù)的用戶數(shù)據(jù)只有一份,存儲(chǔ)在共用存儲(chǔ)設(shè)備上,在任一時(shí)刻只有一個(gè)節(jié)點(diǎn)能讀寫這份數(shù)據(jù)。
以Turbolinux TurboHA為例,集群中有兩個(gè)節(jié)點(diǎn)A和B,設(shè)這個(gè)集群只提供Oracle服務(wù),用戶數(shù)據(jù)存放于共用存儲(chǔ)設(shè)備的分區(qū)/dev/sdb3上。在正常狀態(tài)下,節(jié)點(diǎn)A提供Oracle數(shù)據(jù)庫(kù)服務(wù),分區(qū)/dev/sdb3被節(jié)點(diǎn)A加載在/mnt/oracle上。當(dāng)系統(tǒng)出現(xiàn)某種故障并被TurboHA軟件檢測(cè)到時(shí),TurboHA會(huì)將Oracle服務(wù)停止,并把分區(qū)/dev/sdb3卸載。之后,節(jié)點(diǎn)B上的TurboHA軟件將在節(jié)點(diǎn)B上加載該分區(qū),并啟動(dòng) Oracle服務(wù)。對(duì)于Oracle服務(wù)有一個(gè)虛擬的IP地址,當(dāng)Oracle服務(wù)從節(jié)點(diǎn)A切換到節(jié)點(diǎn)B上時(shí),虛擬的IP地址也會(huì)隨之綁定到節(jié)點(diǎn)B上,因此用戶仍可訪問(wèn)此服務(wù)。
由以上分析可以看出,高可用性集群對(duì)一種服務(wù)而言不具有負(fù)載均衡功能,它可以提高整個(gè)系統(tǒng)的可靠性,但不能增加負(fù)載的能力。當(dāng)然,高可用性集群可以運(yùn)行多種服務(wù),并適當(dāng)分配在不同節(jié)點(diǎn)上,比如節(jié)點(diǎn)A提供Oracle服務(wù),同時(shí)節(jié)點(diǎn)B提供Sybase服務(wù),這也可以看成是某種意義上的負(fù)載均衡,不過(guò)這是對(duì)多種服務(wù)的分配而言。
但是ATM要處理所有1000個(gè)頁(yè)面請(qǐng)求,它會(huì)不會(huì)成為集群處理速度的瓶頸呢?由于對(duì)于頁(yè)面的請(qǐng)求的數(shù)據(jù)量相對(duì)較少,返回頁(yè)面內(nèi)容的數(shù)據(jù)量相對(duì)較大,因此這種方式還是很有效率的。ATM發(fā)生故障,也不會(huì)導(dǎo)致整個(gè)系統(tǒng)無(wú)法工作。Turbolinux Cluster Server可以設(shè)置一臺(tái)或多臺(tái)計(jì)算機(jī)為后備ATM節(jié)點(diǎn),當(dāng)主ATM節(jié)點(diǎn)故障時(shí),在后備ATM中會(huì)產(chǎn)生出一個(gè)新的主ATM,接替它的工作??梢钥闯?,這種負(fù)載均衡集群也具有一定的高可用性。小伙伴們要想獲得更多負(fù)載均衡集群的內(nèi)容,請(qǐng)關(guān)注新網(wǎng)!
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)
需注明出處:新網(wǎng)idc知識(shí)百科