前面咱們用了兩篇文章談了EMC ScaleIO的部署,今天咱們來聊聊華爲FusionStorage的部署。
算法
華爲FusionStorage的定位和EMC的ScaleIO是比較相似的,都支持多種Hypervisor,支持融合部署,也支持分離部署。可是,FusionStorage採用了互聯網大規模場景下的不少算法,如用DHT(分佈式哈希表)來實現非集中式元數據管理,理論來講,擴展性更好一些(目前ScaleIO宣傳支持1024個節點,FusionStorage宣傳支持4K個節點)。數據庫
FusionStorage架構原理服務器
在談FusionStorage部署前,咱們先來了解其架構原理。微信
FusionStorage採用分佈式集羣控制技術和DHT路由技術,提供分佈式存儲功能特性。FusionStorage功能架構圖以下所示:網絡
存儲接口層:經過SCSI/iSCSI驅動接口(注意不是物理接口)向操做系統、數據庫提供卷設備。架構
存儲服務層:提供各類存儲高級特性,如快照、連接克隆、精簡配置、分佈式cache、容災備份等。併發
存儲引擎層:FusionStorage存儲基本功能,包括管理狀態控制、分佈式數據路由、強一致性複製技術、集羣故障自愈與並行數據重建子系統等。負載均衡
存儲管理層:實現FusionStorage軟件的安裝部署、自動化配置、在線升級、告警、監控和日誌等OM功能,同時對用戶提供Portal界面。分佈式
FusionStorage邏輯架構圖以下圖所示:性能
FusionStorage Manager:FusionStorage管理模塊,提供告警、監控、日誌、配置等操做維護功能,主備節點部署。
FusionStorage Agent:代理進程,部署在各節點上,實現各節點與FusionStorage Manager通訊。
MDC(Meta Data Controller):元數據控制軟件,實現對分佈式集羣的狀態控制,以及控制數據分佈式規則、數據重建規則等。 MDC默認部署在3個節點上,造成MDC集羣。
VBS(Virtual Block System):虛擬塊存儲管理組件,負責卷元數據的管理,提供分佈式集羣接入點服務,使計算資源可以經過VBS訪問分佈式存儲資源。每一個節點上默認部署一個VBS進程,造成VBS集羣。節點上也能夠經過部署多個VBS來提高IO性能。
OSD(Object Storage Device):對象存儲設備服務,執行具體的I/O操做。在每一個服務器上部署多個OSD進程,一塊磁盤默認對應部署一個OSD進程。在SSD卡做主存時,爲了充分發揮SSD卡的性能,能夠在1張SSD卡上部署多個OSD進程進行管理,例如2.4TB的SSD卡能夠部署6個OSD進程,每一個OSD進程負責管理400GB。
從結構上來講,FusionStorage自己並不提供物理的iSCSI接口,而是經過VBS來提供。也就是說,須要訪問的SERVER SAN的主機必須安裝VBS,由於VBS提供了分佈式集羣接入點服務。從這個意義來講,其接入功能和EMC ScaleIO的SDC相似。
FusionStorage最大的特色就是DHT了。FusionStorage採用DHT(DistributeHash Table,分佈式哈希表)路由數據算法。每一個存儲節點負責存儲一小部分數據,基於DHT實現整個系統數據的尋址和存儲(DHT華爲首先在其雲存儲OceanStor UDS上採用,後來設計FusionStorage的時候借用了這個算法)。
相比DHT路由算法,傳統存儲通常採用集中式元數據管理方式,元數據中會記錄全部LUN中不一樣偏移量的數據在硬盤中的分佈,例如LUN1+LBA1地址起始的4KB長度的數據分佈在第32塊硬盤的LBA2上。每次IO操做都須要去查詢元數據服務,隨着系統規模逐漸變大,元數據的容量也會愈來愈大,系統所能提供的併發操做能力將受限於元數據服務所在服務器的能力,元數據服務將會成爲系統的性能瓶頸。不一樣與傳統的集中式元數據管理,FusionStorage採用DHT(分佈式一致性哈希)進行數據尋址,具體的算法以下圖:
FusionStorage將哈希空間設置爲2^32,並將該哈希空間劃分爲N等份,每1等份是1個分區(Partition),這N等份按照硬盤數量進行均分。例如:系統N默認爲3600,假設當前系統有32塊硬盤,則每塊硬盤承載100個分區。上述「分區-硬盤」的映射關係在系統初始化時會分配好,後續會隨着系統中硬盤數量的變化會進行調整。該映射表所須要的空間很小,FusionStorage系統中的節點會在內存中保存該映射關係,用於進行快速路由,可見,FusionStorge的路由機制不一樣於傳統陣列,並無集中的元數據管理,也就不存在元數據服務成爲系統的性能瓶頸。
FusionStorage採用數據多副本備份機制來保證數據的可靠性,即同一份數據能夠複製保存爲2~3個副本。針對系統中的每1個卷,默認按照1MB進行分片,分片後的數據按照DHT算法保存集羣節點上。
瞭解了FusionStorage的原理,下面咱們來談談部署。
VMWARE部署場景
融合部署狀況下,須要一個單獨的控制VM,把OSD和VBS都部署在這個VM上。其餘的USER VM無需部署VBS。咱們回顧一下ScaleIO的部署,發現仍是ScaleIO和VMware結合得更加緊密一些,由於ScaleIO的SDC能夠部署在Hypervisor內核裏。聽說VMware是開放這個接口的,也就是說理論上華爲也能夠把VBS部署在Hypervisor這一層。但VBS不只僅要接入,還有卷元數據的管理,功能上並非和ScaleIO的SDC同樣。所以,不知道放入Hypervisor合不合適?
若是採用分離部署,控制VM裏面只須要部署VBS模塊,OSD模塊單獨部署到別的物理機器上(採用Suse Linux)。User VM經過VM IO iSCSI接口,經過VBS訪問相應的OSD。
華爲UVP部署場景
華爲UVP平臺在融合部署狀況下,OSD和VBS模塊部署在Domain0中,服務器PCIE SSD或者SCSI Controller下的硬盤或者SSD盤pass through到Domain0中的OSD進行介質管理,節點內的用戶VM訪問本節點Domain0VM中VBS提供的存儲服務。
若是採用分離式部署,OSD模塊部署在獨立的存儲服務器,採用Huawei UVP OS,負責管理本服務器的PCIE SSD或者SCSI Controller下的硬盤或者SSD盤,VBS模塊部署在Domain0中,節點內的用戶VM訪問本節點Domain0 VM中VBS提供的存儲服務。Huawei UVP和Domain0安裝在本服務器介質設備中。
KVM部署場景
在融合部署場景下,OSD和VBS模塊部署在KVM OS中,服務器PCIE SSD或者SCSI Controller下的硬盤或者SSD盤pass through到OS中的OSD進行介質管理,節點內的用戶VM訪問本節點OS中VBS提供的存儲服務。
若是採用分離式部署,把OSD獨立部署到單獨的物理服務器就能夠了。
管理模塊部署
融合部署和分離部署主要是考慮了VBS和OSD的狀況,還須要考慮MDC和管理模塊的部署。
MDC部署:
MDC默認部署在3臺服務器中,也能夠根據需求部署5個。MDC須要部署在OSD所在的服務器中,其中的zookeeper須要使用服務器的本地存儲。
FusionStorage Manager部署:
FusionStorage Manager以虛擬機方式部署,支持部署在VMWare、FusionSphere和KVM虛擬化環境中。FusionStorage Manager虛擬機須要安裝在本地硬盤中。FusionStorage Manager須要部署在2個VM中,採用主備工做方式。
FusionStorage Agent部署:
FusionStorage Agent部署在FusionStorage Manager/VBS/OSD/MDC所在的服務器中,負責FusionStorageManager/VBS/OSD/MDC的進程管理和OM管理。
網絡規劃
(這部份內容摘自華爲雲計算官微 2015-11-12發表的 「FusionStorage微講堂11期 | FusionSphere+FusionStorage場景網絡設計規劃」一文)
網絡要求
存儲平面支持IB網絡,但不支持混合組網。
網卡和網絡類型:GE(TCP/IP協議)、10GE(TCP/IP協議)、IB(RMDA協議)。
推薦存儲平面使用獨立的網卡,不和其餘平面共用網卡,以避免不一樣平面之間網絡互相影響。
組網示意圖
10GE/IB網絡,4網口場景
1)eth0~eth1綁定爲主備或負載均衡模式,走管理平面和業務平面的網絡流量。
2)存儲平面可以使用10GE(eth2~eth3),也可支持IB組網(ib0~ib1),但不支持混合組網,使用10GE組網時將兩個網口綁定爲主備或負載均衡模式。
3)存儲平面ip經過在FusionCompute Portal上添加存儲接口生成,使用IB組網時按照FusionStorage產品文檔中的步驟將ib0和ib1組一個Bond,配通IB網絡,主機之間存儲平面的ip互通便可,無需和外部互通。
10GE/IB網絡,6網口網絡
1)eth0~eth1綁定爲主備或負載均衡模式,走管理平面的網絡流量。
2)存儲平面可以使用10GE(eth2~eth3),也可支持IB組網,但不支持混合組網,使用10GE組網時將兩個網口綁定爲主備或負載均衡模式。
3)存儲平面ip經過在FusionCompute上添加存儲接口生成,使用IB組網時按照FusionStorage產品文檔中的步驟將ib0和ib1組一個Bond,並配通IB網絡,主機之間存儲平面的ip互通便可,無需和外部互通。
4)eth4~eth5綁定爲主備或負載均衡模式,走業務平面網絡流量。
說明
兩網口綁定爲負載均衡模式時,須鏈接在一個交換機上(或兩個堆疊的交換機),且和兩個網口鏈接交換機端口綁定爲鏈路聚合。
FusionStorage IP規劃
單套FusionStorage所需管理IP爲3+1*N,N爲計算和存儲節點的管理節點之和;單套FusionStorage所需存儲IP爲M,M爲存儲節點數量。
【學習心得】
從EMC ScaleIO和華爲FusionStorage的部署狀況看,二者定位相似,部署思路也相似,但雙方底層原理不一樣,特別是管理模塊的部署上區別比較大。華爲的模塊分得太細,所以感受部署起來要複雜一些。其實,FSA組件徹底能夠融入到VBS和OSD裏面,沒有必要獨立出來。還有,FSM也能夠融入MDC集羣裏,這樣部署起來更加簡單些。分得太細,針對大規模部署場景下會比較靈活,但針對企業場景的確有點複雜。
本文分享自微信公衆號 - 高端存儲知識(High-end_Storage)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。