青蛙學Linux—服務器集羣技術

集羣是由一些互相鏈接在一塊兒的計算機構成的一個並行或分佈式系統。這些計算機一塊兒工做並運行一系列共同的應用程序,同時,爲用戶和應用程序提供單一的系統映射。從外部來看,它們僅僅是一個系統,對外提供統一的服務。集羣內的計算機物理上經過電纜鏈接,程序上則經過集羣軟件鏈接。這些鏈接容許計算機使用故障應急與負載平衡功能,而故障應急與負載平衡功能在單機上是不可能實現的。前端

一、集羣中的分類

高可用集羣

高可用集羣,High Availability Cluster,簡稱HA Cluster。高可用集羣用來保障應用持久、不間斷的提供服務,當應用程序出現故障,或者系統硬件、網絡出現故障是,應用能夠自動快速的從一個節點切換到另外一個節點。node

雙機熱備是最簡單的高可用集羣,即常常說的active/standby方式。它使用兩臺服務器,一臺作爲主服務器(action),運行應用程序對外提供服務;另外一臺作爲備用服務器(standby),安裝和主服務器同樣的應用程序,但並不啓動服務,處於待機狀態。主服務器和備用服務器之間經過心跳技術相互監控,監控的資源能夠是網絡、操做系統,也能夠是服務,用戶能夠根據本身的須要選擇監控的資源。當備用服務器監控到主服務器的某個資源出現故障時,根據預先設定好的策略進行主備切換。後端

高可用集羣通常是經過高可用軟件來實現的,在Linux下經常使用的高可用軟件有:開源heartbea HA、紅帽提供的RHCS、商業軟件ROSE和keepalived等。服務器

負載均衡集羣

負載均衡集羣,Load Balance Cluster,簡稱爲LB Cluster。負載均衡集羣由兩臺或兩臺以上服務器組成,分爲前端負載調度和後端節點服務兩個部分,負載調度部分負責把客戶端的請求按照不一樣的策略分配給後端服務節點,然後端節點是真正提供服務的部分。網絡

與HA Cluster不一樣的是,在負載均衡集羣中,全部的後端節點都處於活動狀態,它們對外提供服務,分攤整個系統的工做負載。負載均衡

負載均衡集羣能夠把一個高負載的應用分散到多個節點來共同完成,適用於業務繁忙、高負載的應用系統。但它也有不足之處:當一個後端節點出現故障時,前端調度系統並不知道此節點已經沒法提供服務,仍然會將客戶端的請求調度到故障節點上,這樣訪問就會失敗。分佈式

爲了解決以上問題,負載均衡集羣通常都會引入節點監控系統。節點監控系統部署在前端負載調度機上,負責監控後端節點。當某個節點故障後,節點監控系統會自動將故障節點從集羣中剔除;當故障節點恢復正常後,節點監控系統會自動將其加入集羣。性能

分佈式計算集羣

分佈式計算集羣致力於提供單個計算機所不能提供的強大的計算能力,包括數值計算和數據處理,而且傾向於追求綜合性能。測試

二、HA集羣中的相關術語

節點(node)

節點是集羣中的一個獨立主機,是集羣的核心組成部分。每一個節點上運行着操做系統和高可用軟件;在高可用集羣中,節點有主次之分,分別稱爲主節點和備用/備份節點;每一個節點擁有惟一的主機名,而且擁有屬於本身的一組資源,如磁盤、文件系統、網絡地址和應用服務等;主節點上通常運行着一個或多個應用服務,而備用節點通常處於監控狀態。操作系統

資源(resource)

資源是一個節點能夠控制的實體,而且當節點發生故障時,這些資源能夠被其餘節點接管。在集羣軟件中,能夠當作資源的實體有如下幾個:

  • 磁盤分區和文件系統
  • IP地址VIP
  • 應用程序服務
  • NFS文件系統

事件(event)

事件是集羣中可能發生的事情,例如節點系統故障、網絡連通故障、網卡故障、應用程序故障等。這些事件都會致使節點的資源發生轉移。集羣的測試也是基於這些事件來進行的。

動做(action)

事件發生時HA的響應方式。例如當某個節點發生故障後,備份節點將經過事先設定好的執行腳本進行服務的關閉或啓動,進而接管故障節點的資源。

相關文章
相關標籤/搜索