【大話存儲II】學習筆記(15章),集群概論
隨著應用程序對服務器、存儲系統的系統要求越來越高,單臺設備有時已經無法滿足需求了,此時我們有兩種方法可以解決:
使用性能更高的機器,但是成本以及維護成本非常高,而且不見得適合所有的應用。
多臺設備聯合起來對外提供服務,這就是集群。
主機可以形成集群,存儲設備也可以形成集群。目前中高端存儲設備自身就有雙控制器。
一些NAS設備可以在多臺獨立設備之間形成集群,並實現單一命名空間,即用戶訪問目錄路徑就像訪問一臺機器一樣。屏蔽了後端訪問的過程,實際上,可能是由集群中不同的節點來提供服務的。
集群概述
上面講到了為什麽要用集群,首先用多個節點來代替一個節點完成任務,處理能力可以得到提高,其實還可以獲得高可用性
我們可以把集群分為三種:
高可用集群
在HA集群中,節點分為活動節點和備份節點,當活動節點故障了以後,備份節點立即接替任務。
那怎麽實現切換的呢?HA集群的實現是基於資源切換。資源指的是備份節點要接管的所有東西,比如IP地址、磁盤卷、上下文等。
那怎麽知道需要主節點掛了呢?需要依靠操作系統上安裝的HA軟件。它可以監控對方節點狀態,一旦發現故障,則強行將資源占有。
負載均衡集群
負載均衡節點中,所有節點都參與工作。每個節點的地位相同,但是工作量怎麽分配呢?可以有兩種方式:
由單獨的節點來分配運算量
也可以由節點通過網絡通信來協商。
高性能集群
又稱科學計算集群,其實與負載均衡集群本質上是一樣的 ,不過主要用於科學計算而已,所以這種集群主要面向與CPU消耗型的應用。
如何把任務平均分配到每個CPU核心上呢?如果在一臺計算機上則非常簡單,操作系統會自動將多個線程平攤到多個CPU核心上。
但是在集群裏面,則可以通過網絡來進行協商。為了方便編程,還開發出很多API,可以屏蔽很多編程復雜度。所以節點收到任務數據之後,再由節點操作系統自行將任務數據分派到多個CPU核心上。
系統路徑上的集群各論
集群可以在系統路上的任何點實現。比如CPU、內存、顯卡等硬件可以形成集群,軟件上,應用程序、文件系統、卷管理系統也可以形成集群。
什麽時候需要集群呢?
當需要系統高可用的時候,也就是某處故障不會影響系統的可用,可選擇使用高可用性集群
當單個系統的處理能力不能滿足性能要求的時候,可使用負載均衡集群
當需要運算的數據量很大的時候,運算周期很長的時候,可使用高性能集群。
下面我們一一談一下硬件層面和軟件層面的集群。
硬件層面的集群
CPU集群:體現在多CPU的計算機系統,比如對稱多處理系統,多個CPU共享物理內存相互協作。
內存集群:多條內存組成更大的容量空間。比如通過雙通道提高性能(相當於條帶化RAID0)
以太網卡集群:將多塊以太網卡綁定在一起,向上提供虛擬網卡,底層則可以通過ARP輪詢負載均衡,或者HA方式的多路徑訪問。
以太網集群:多臺設備協作轉發,實現了負載均衡和HA,體現在路由器和以太網交換機上。
顯卡集群:將插在總線上的多塊顯卡連接起來,實現對大型3D數據渲染負載均衡,性能可以得到很大的提升。
FC卡的集群:通過與主機上的多路徑軟件配合,多塊FC卡之間可以實現流量的負載均衡和HA,或者通過FC網絡中的ISL鏈路負載均衡、HA方式實現流量分攤
FC網絡設備的集群:一般來說FC網絡設備沒有向以太網交換機那樣實現了負載均衡和HA 。
控制器集群:幾乎中高端磁盤陣列的控制器都是雙控的,可以是HA關系,或者是負載均衡關系。
磁盤集群:典型的集群是RAID系統,
軟件層面的集群
應用程序的集群:一個應用程序可以同時啟動多個實例(進程),共同完成工作 。不同實例可以運行在同一機器上,也可運行在不同的機器上,通過網絡交互信息。
文件系統的集群:文件系統的集群是一個比較獨立的課題。可以實現集群功能的文件系統叫集群文件系統,比如NFS、CIFS等網絡文件系統,就是最簡單的集群文件系統。
集群文件系統主要為了解決:容量、性能、共享
- 解決容量問題:比如說分布式文件系統,文件的存儲其實是分散在各個節點上的,但是對外呈現統一的命名空間,也即目錄。
也就是說分布式文件系統將每個節點的可用空間進行虛擬的整合,形成虛擬目錄,對外屏蔽細節,對外根據多種策略來判斷數據流向,將數據寫入實際的空間裏面。
- 解決性能問題。
同樣的,可以使用多個節點來獲得高性能。集群文件系統使得每個節點不必連接昂貴的磁盤陣列,就可以獲得較高的文件IO性能。
在分布式文件系統的虛擬整合目錄之上,采用了類似條帶RAID 0的方式,依據負載均衡策略,將每次IO寫入的數據,負載分擔到所有節點上,節點獲得的性能越多提升就越大。
但是實際上,集群文件系統實施起來不那麽容易,需要經過長時間的調優。
- 解決共享訪問的問題。
這是集群文件系統要解決的最重要的問題,也就是多節點共同訪問相同目錄和相同文件時一致性的問題。
集群文件系統需要考慮多個節點同時讀寫相同文件,保證所有節點都能讀到一致性的數據,並利用分布式鎖機制保證允許的性能下,節點之間不會寫沖突。
常用的集群文件系統有PVFS,GFS,DFS,Lustre等卷管理系統集群
本機的卷和本機和遠程的卷進行鏡像等協同操作,形成集群。
【大話存儲II】學習筆記(15章),集群概論