技術員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

針對Linux集群技術的要點解析

來源:技術員聯(lián)盟┆發(fā)布時間:2019-03-02 00:13┆點擊:

  現(xiàn)在很多的企業(yè),網站都在應用Linux操作系統(tǒng),Linux的優(yōu)點使人們舍棄了微軟。今天就講講Linux集群技術,讓你更一步了解Linux,知道Linux集群技術強大功能。給你挑選系統(tǒng)起到參考的作用。

  Linux競爭力很強的原因之一,是它可以運行于極為普及的PC機上,不需要購買昂貴的專用硬件設備。在幾臺運行Linux的PC機上,只要加入相應的集群軟件,就可以組成具有超強可靠性、負載能力和計算能力的Linux集群。集群中的每臺服務器稱為一個節(jié)點。

  按照側重點的不同,可以把Linux集群分為三類。一類是高可用性集群,運行于兩個或多個節(jié)點上,目的是在系統(tǒng)出現(xiàn)某些故障的情況下,仍能繼續(xù)對外提供服務。高可用性集群的設計思想就是要最大限度地減少服務中斷時間。這類集群中比較著名的有Turbolinux TurboHA、Heartbeat、Kimberlite等。第二類是負載均衡集群,目的是提供和節(jié)點個數成正比的負載能力,這種集群很適合提供大訪問量的Web服務。負載均衡集群往往也具有一定的高可用性特點。Turbolinux Cluster Server、Linux Virtual Server都屬于負載均衡集群。另一類是超級計算集群,按照計算關聯(lián)程度的不同,又可以分為兩種。一種是任務片方式,要把計算任務分成任務片,再把任務片分配給各節(jié)點,在各節(jié)點上分別計算后再把結果匯總,生成最終計算結果。另一種是并行計算方式,節(jié)點之間在計算過程中大量地交換數據,可以進行具有強耦合關系的計算。這兩種超級計算集群分別適用于不同類型的數據處理工作。有了超級計算集群軟件,企業(yè)利用若干臺PC機就可以完成通常只有超級計算機才能完成的計算任務。這類軟件有Turbolinux EnFusion、SCore等。

  高可用性集群與負載均衡集群的工作原理不同,適用于不同類型的服務。通常,負載均衡集群適用于提供靜態(tài)數據的服務,如HTTP服務;而高可用性集群既適用于提供靜態(tài)數據的服務,如HTTP服務,又適用于提供動態(tài)數據的服務,如數據庫等。高可用性集群之所以能適用于提供動態(tài)數據的服務,是由于節(jié)點共享同一存儲介質,如RAIDBox.也就是說,在高可用性集群內,每種服務的用戶數據只有一份,存儲在共用存儲設備上,在任一時刻只有一個節(jié)點能讀寫這份數據。

  以Turbolinux TurboHA為例,集群中有兩個節(jié)點A和B,設這個集群只提供Oracle服務,用戶數據存放于共用存儲設備的分區(qū)/dev/sdb3上。在正常狀態(tài)下,節(jié)點A提供Oracle數據庫服務,分區(qū)/dev/sdb3被節(jié)點A加載在/mnt/oracle上。當系統(tǒng)出現(xiàn)某種故障并被TurboHA軟件檢測到時,TurboHA會將Oracle服務停止,并把分區(qū)/dev/sdb3卸載。之后,節(jié)點B上的TurboHA軟件將在節(jié)點B上加載該分區(qū),并啟動 Oracle服務。對于Oracle服務有一個虛擬的IP地址,當Oracle服務從節(jié)點A切換到節(jié)點B上時,虛擬的IP地址也會隨之綁定到節(jié)點B上,因此用戶仍可訪問此服務。

  由以上分析可以看出,高可用性集群對一種服務而言不具有負載均衡功能,它可以提高整個系統(tǒng)的可靠性,但不能增加負載的能力。當然,高可用性集群可以運行多種服務,并適當分配在不同節(jié)點上,比如節(jié)點A提供Oracle服務,同時節(jié)點B提供Sybase服務,這也可以看成是某種意義上的負載均衡,不過這是對多種服務的分配而言。

  負載均衡集群適用于提供相對靜態(tài)的數據的服務,比如HTTP服務。因為通常負載均衡集群的各節(jié)點間通常沒有共用的存儲介質,用戶數據被復制成多份,存放于每一個提供該項服務的節(jié)點上。 下面以Turbolinux Cluster Server為例簡要介紹一下負載均衡集群的工作機制。在集群中有一個主控節(jié)點,稱為高級流量管理器(ATM)。假設這一集群僅被用來提供一項HTTP服務,其余各節(jié)點均被設定為HTTP的服務節(jié)點。用戶對于頁面的請求全部發(fā)送到ATM上,因為ATM上綁定了這項服務對外的IP地址。ATM把接受到的請求再平均發(fā)送到各服務節(jié)點上,服務節(jié)點接收到請求之后,直接把相應的Web頁面發(fā)送給用戶。這樣一來,假如在1秒內有1000個HTTP頁面請求,而集群中有10個服務節(jié)點,則每個節(jié)點將處理100個請求。這樣,在外界看來,好象有一臺10倍速度的高速計算機在處理用戶的訪問。這也就是真正意義上的負載均衡。

  但是ATM要處理所有1000個頁面請求,它會不會成為集群處理速度的瓶頸呢?由于對于頁面的請求的數據量相對較少,返回頁面內容的數據量相對較大,因此這種方式還是很有效率的。ATM發(fā)生故障,也不會導致整個系統(tǒng)無法工作。Turbolinux Cluster Server可以設置一臺或多臺計算機為后備ATM節(jié)點,當主ATM節(jié)點故障時,在后備ATM中會產生出一個新的主ATM,接替它的工作??梢钥闯?,這種負載均衡集群也具有一定的高可用性。