歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Linux 集群技術

目前,越來越多的網站采用Linux操作系統,提供郵件、Web、文件存儲、數據庫等服務。 也有非常多的公司在企業內部網中利用Linux服務器提供這些服務。隨著人們對Linux服務器依賴的加深,對其可靠性、負載能力和計算能力也倍加關注。Linux集群技術應運而生,可以以低廉的成本,很好地滿足人們的這些需要。

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

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

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

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

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

  負載均衡集群適用於提供相對靜態的數據的服務,比如HTTP服務。因為通常負載均衡集群的各節點間通常沒有共用的存儲介質,用戶數據被復制成多份,存放於每一個提供該項服務的節點上。




Copyright © Linux教程網 All Rights Reserved