天天看點

【幹貨】一文搞懂叢集技術及叢集的分類

作者:西域金豬俠

在實際工作中,我們經常會聽到一個詞:叢集,如資料庫叢集、負載均衡叢集等,今天這篇文章将更詳細地為大家介紹叢集及叢集的常見分類和特點。

什麼是叢集?

計算機叢集簡稱叢集是一種計算機系統,它通過一組松散內建的計算機軟體和/或硬體連接配接起來高度緊密地協作完成計算工作。在某種意義上,他們可以被看作是一台計算機。叢集系統中的單個計算機通常稱為節點,通常通過區域網路連接配接,但也有其它的可能連接配接方式。叢集計算機通常用來改進單個計算機的計算速度和/或可靠性。一般情況下叢集計算機比單個計算機,比如工作站或超級計算機性能價格比要高得多。

【幹貨】一文搞懂叢集技術及叢集的分類

伺服器叢集結構圖

叢集就是一組互相獨立的計算機,通過高速的網絡組成一個計算機系統,每個叢集節點都是運作其自己程序的一個獨立伺服器。對網絡使用者來講,網站後端就是一個單一的系統,協同起來向使用者提供系統資源,系統服務。通過網絡連接配接組合成一個組合來共同完一個任務。

我的大白話概括就是:排程器指揮這一堆互相獨立的計算機去做一件事,這樣的一套系統,就是叢集。

為什麼要使用叢集?

1、叢集的特點

【幹貨】一文搞懂叢集技術及叢集的分類

2、叢集的優勢

【幹貨】一文搞懂叢集技術及叢集的分類

叢集分類及不同分類的特點

計算機叢集架構按照功能和結構一般分成以下幾類:

1)負載均衡叢集(Loadbalancingclusters)簡稱LBC;

2)高可用性叢集(High-availabilityclusters)簡稱HAC;

3)高性能計算叢集(High-perfomanceclusters)簡稱HPC。

A、負載均衡叢集(Load Balancing)

負載均衡叢集為企業提供了更為實用,成本效益更高的系統架構解決方案。負載均衡叢集把很多客戶集中通路的請求負載壓力可能盡可能平均的分攤到計算機叢集中處理。客戶請求負載通常包括應用程式處理負載和網絡流量負載。這樣的系統非常适合向使用同一組應用程式為大量使用者提供服務。每個節點都可以承擔一定的通路請求負載壓力,并且可以實作通路請求在各節點之間動态配置設定,以實作負載均衡。

【幹貨】一文搞懂叢集技術及叢集的分類

負載均衡叢集

負載均衡運作時,一般通過一個或多個前端負載均衡器将客戶通路請求分發到後端一組伺服器上,進而達到整個系統的高性能和高可用性。這樣計算機叢集有時也被稱為伺服器群。一般高可用性叢集和負載均衡叢集會使用類似的技術,或同時具有高可用性與負載均衡的特點。

負載均衡,不同節點之間互相獨立,不共享任何資源;通過一定算法将用戶端的通路請求平分到群集的各個節點上,充分利用每個節點的資源。負載均衡擴充了網絡裝置和伺服器帶寬,增加吞吐量,加強網絡資料處理能。

每個節點的性能和配置可能不同,根據算法,可以配置設定不同的權重到不同節點上,以實作不同節點的資源利用。如下圖所示網絡通路通過負載均衡器,将請求分布到不同節點上。

負載均衡叢集的作用:

【幹貨】一文搞懂叢集技術及叢集的分類

B、高可用性(HA)叢集

一般是指當叢集中的任意一個節點失效的情況下,節點上的所有任務自動轉移到其他正常的節點上,并且此過程不影響整個叢集的運作,不影響業務的提供。

類似是叢集中運作着兩個或兩個以上的一樣的節點,當某個主節點出現故障的時候,那麼其他作為從節點的節點就會接替主節點上面的任務。從節點可以接管主節點的資源(IP位址,架構身份等),此時使用者不會發現提供服務的對象從主節點轉移到從節點。

【幹貨】一文搞懂叢集技術及叢集的分類

高可用性叢集的作用:

【幹貨】一文搞懂叢集技術及叢集的分類

HA三種工作方式:

1、主從方式 (非對稱方式)

【幹貨】一文搞懂叢集技術及叢集的分類

2、雙機雙工方式(互備互援)

【幹貨】一文搞懂叢集技術及叢集的分類

3、叢集工作方式(多伺服器互備方式)

【幹貨】一文搞懂叢集技術及叢集的分類

C、高性能計算叢集

高性能計算叢集采用将計算任務配置設定到叢集的不同計算節點兒提高計算能力,因而主要應用在科學計算領域。比較流行的HPC采用Linux作業系統和其它一些免費軟體來完成并行運算。這一叢集配置通常被稱為Beowulf叢集。這類叢集通常運作特定的程式以發揮HPCcluster的并行能力。這類程式一般應用特定的運作庫, 比如專為科學計算設計的MPI庫。

【幹貨】一文搞懂叢集技術及叢集的分類

HPC叢集特别适合于在計算中各計算節點之間發生大量資料通訊的計算作業,比如一個節點的中間結果或影響到其它節點計算結果的情況。

叢集中的兩個重要名詞:心跳檢測與漂移IP

A、心跳監測

為了能實作負載均衡、提供高可用服務和執行錯誤恢複,叢集系統提供了心跳監測技術,心跳監測是通過心跳線實作的,可以做心跳線的裝置有RS 232序列槽線,也可以用獨立的一塊網卡來跑心跳,還可以是共享磁盤陣列等。

心跳線的數量應該為叢集節點數減1,需要注意的是,如果通過網卡來做心跳的話, 每個節點需要兩塊網卡,其中,一塊作為私有網絡直接連接配接到對方機器相應的網卡,用來監測對方心跳。另外一塊連接配接到公共網絡對外提供服務,同時心跳網卡和服 務網卡的IP位址盡量不要在一個網段内。

心跳監控的效率直接影響故障切換時間的長短,叢集系統正是通過心跳技術保持着節點間的内部有效通信。

B、漂移IP位址

在叢集系統中,除了每個服務節點自身的真實IP位址外,還存在一個漂移IP位址。為什麼說是漂移IP呢?因為這個IP位址并不固定,例如在兩個節點的雙 機熱備中,正常狀态下,這個漂移IP位于主節點上,當主節點出現故障後,漂移IP位址自動切換到備用節點,是以,為了保證服務的不間斷性,在叢集系統中, 對外提供的服務IP一定要是這個漂移IP位址。

雖然節點本身的IP也能對外提供服務,但是當此節點失效後,服務切換到了另一個節點,但是服務IP仍然是故 障節點的IP位址,此時,服務就随之中斷。

本篇文章如覺得對您有用請大家點贊、收藏、分享!如有更多了解,歡迎大家交流評論!

繼續閱讀