歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux集群 >> Linux集群技術概論

Linux集群技術概論

日期:2017/3/2 10:00:33   编辑:Linux集群

1 集群的定義
集群是一組協同工作的服務集合,用來提供比單一服務更穩定、更高效、更具擴展性的服務平台,在外界看來,集群就是一個獨立的服務實體,但實際上,在集群的內部,有兩個或兩個以上的服務實體在協調、配合完成一系列復雜的工作。
集群一般有兩個或兩個以上的服務器組建而成,每個服務器被稱為一個集群節點,集群節點之間可以相互通信,通信的方式有兩種,一種是基於RS232線的心跳監控,另一種是用一塊單獨的網卡來跑心跳,因而,集群具有節點間服務狀態監控功能,同時還必須具有服務實體的擴展功能,可以靈活的增加和剔除某個服務實體。
在集群中,同樣的服務可以由多個服務實體提供。因而,當一個節點出現故障時,集群的另一個節點可以自動接管故障節點的資源,從而保證服務持久、不間斷運行。因而集群具有故障自動轉移功能。
一個集群系統必須擁有共享的數據存儲,因為集群對外提供的服務是一致的,任何一個集群節點運行一個應用時,應用的數據都集中存儲在節點共享空間內,而每個節點的操作系統上僅運行應用的服務,同時存儲應用程序文件。
綜上所述,構建一個集群系統至少需要兩台服務器,同時還需要有串口線、集群軟件、共享存儲設備(例如磁盤陣列)等。
基於Linux的集群以其極高的計算能力、可擴展性、可用性及更加優化的性價比在企業各種應用中脫穎而出。 成為目前大家都關心的Linux應用熱點,熟練掌握Linux集群知識,可以用低價格做出高性能的應用。為企業、個人節省了成本。國內大型網站新浪、網易等都采用了linux集群系統構建高性能web應用,著名搜索引擎google采用了上萬台linux服務器組成了一個超大集群,這些實例都說明了集群在linux應用中的地位和重要性。
2 集群的特點與功能
2.1 高可用性與可擴展性
1.高可用性
對於一些實時性很強的應用系統,必須保證服務的24小時不間斷運行,而由於軟件、硬件、網絡、人為等各種原因,單一的服務運行環境很難達到這種要求,此時構建一個集群系統是個不錯的選擇,構建集群的一個最大優點是集群具有高可用性,在服務出現故障時,集群系統可以自動將服務從故障節點切換到另一個備用節點,從而提供不間斷性服務,保證了業務的持續運行。
2.可擴展性
隨著業務量的加大,現有的集群服務實體不能滿足需求時,可以向此集群中動態的加入一個或多個服務節點,從而滿足應用的需要,增強集群的整體性能。這就是集群的可擴展性。
2.2 負載均衡與錯誤恢復
1.負載均衡
集群系統最大的特點是可以靈活、有效的分擔系統負載,通過集群自身定義的負載分擔策略,將客戶端的訪問分配到下面的各個服務節點,例如,可以定義輪詢分配策略,將請求平均的分配到各個服務節點,還可以定義最小負載分配策略,當一個請求進來時,集群系統判斷哪個服務節點比較清閒,就將此請求分發到這個節點。
2.錯誤恢復
當一個任務在一個節點上還沒有完成時,由於某種原因,執行失敗,此時,另一個服務節點應該能接著完成此任務,這就是集群提供的錯誤恢復功能,通過錯誤的重定向,保證了每個執行任務都能有效的完成。
2.3心跳檢測與漂移IP
1.心跳監測
為了能實現負載均衡、提供高可用服務和執行錯誤恢復,集群系統提供了心跳監測技術,心跳監測是通過心跳線實現的,可以做心跳線的設備有RS 232串口線,也可以用獨立的一塊網卡來跑心跳,還可以是共享磁盤陣列等,心跳線的數量應該為集群節點數減1,需要注意的是,如果通過網卡來做心跳的話,每個節點需要兩塊網卡,其中,一塊作為私有網絡直接連接到對方機器相應的網卡,用來監測對方心跳。另外一塊連接到公共網絡對外提供服務,同時心跳網卡和服務網卡的IP地址盡量不要在一個網段內。心跳監控的效率直接影響故障切換時間的長短,集群系統正是通過心跳技術保持著節點間的內部有效通信。
2.漂移IP地址
在集群系統中,除了每個服務節點自身的真實IP地址外,還存在一個漂移IP地址,為什麼說是漂移IP呢,因為這個IP地址並不固定,例如在兩個節點的雙機熱備中,正常狀態下,這個漂移IP位於主節點上,當主節點出現故障後,漂移IP地址自動切換到備用節點,因此,為了保證服務的不間斷性,在集群系統中,對外提供的服務IP一定要是這個漂移IP地址,雖然節點本身的IP也能對外提供服務,但是當此節點失效後,服務切換到了另一個節點,但是服務IP仍然是故障節點的IP地址,此時,服務就隨之中斷。

3 集群的分類
3.1 高可用集群
1.高可用的概念
高可用集群的英文全稱是High Availability Cluster,簡稱HA Cluster, 高可用的含義是最大限度的可以使用,從集群的名字上可以看出,此類集群實現的功能是保障用戶的應用程序持久、不間斷的提供服務。
當應用程序出現故障,或者系統硬件、網絡出現故障時,應用可以自動、快速從一個節點切換到另一個節點,從而保證應用持續、不間斷的對外提供服務,這就是高可用集群實現的功能,
2.常見的HA Cluster
我們常說的雙機熱備、雙機互備、多機互備等都屬於高可用集群的范疇,這類集群一般都有兩個或兩個以上節點組成。典型的雙機熱備結構

雙機熱備是最簡單的應用模式,即經常說的active/standby方式,它使用兩台服務器,一台作為主服務器(action),運行應用程序對外提供服務,另一台作為備機(standby),安裝和主服務器一樣的應用程序,但是並不啟動服務,處於待機狀態。主機和備機之間通過心跳技術相互監控,監控的資源可以是網絡、操作系統、也可以是服務,用戶可以根據自己的需要,選擇需要監控的資源,當備機監控到主機的某個資源出現故障時,根據預先設定好的策略,首先將IP切換過來,然後將應用程序服務也接管過來,接著就由備機對外提供服務,由於切換過程時間非常端,用戶根本感覺不到程序出了問題,而且還進行了切換,從而保障了應用程序持久、不間斷的服務。
雙機互備是在雙機熱備的基礎上,兩個相互獨立的應用在兩個機器上同時運行,互為主備,即兩台服務器既是主機也是備機,當任何一個應用出現故障,另一台服務器都能在短時間內將故障機器的應用接管過來,從而保障了服務的持續、無間斷運行。雙機互備的好處是節省了設備資源,兩個應用的雙機熱備至少需要四台服務器,而雙機互備僅需兩台服務器即可完成高可用集群功能,但是雙機互備也有自身的缺點:在某個節點故障切換後,另一個節點上就同時運行了兩個應用的服務,有可能出現負載過大的情況。

Copyright © Linux教程網 All Rights Reserved