談談華為 Server SAN FusionStorage 的部署
談談華為SERVR SAN 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叢集裡,這樣部署起來更加簡單些。分得太細,針對大規模部署場景下會比較靈活,但針對企業場景的確有點複雜。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23488160/viewspace-2138629/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 再次訪談PocketPair的Mizobe-sanAI
- 談談華為資料治理的五點啟示
- 談談對“華為向美國聯邦法院起訴美國”的看法
- 【前端打包部署】談一談我在SPA專案打包=>部署的處理前端
- 從Minos部署系統談談XML-RPCXMLRPC
- 【前端打包部署】談一談我在SPA專案打包=>部署的處理(上)前端
- 淺談SQL Server中的快照問題SQLServer
- 談談 SAP iRPA Studio 建立的本地專案的雲端部署問題
- 談談surging引擎的tcp、http、ws協議和如何容器化部署TCPHTTP協議
- 以IT行業為例,談談KAIZEN模式的優勢!行業AI模式
- 【譯】談談“typeof null為object”這一bug的由來NullObject
- SQL Server DBA需要熟知的SAN基礎(二)VWSQLServer
- SQL Server DBA需要熟知的SAN基礎(一)PESQLServer
- 談談為什麼需要服務治理(Dubbo)
- 談談為什麼要分庫分表?
- KingbaseRAC部署案例之---基於SAN儲存部署
- 短影片直播系統為什麼需要分散式部署,淺談分散式部署分散式
- 談談最近的思考
- 談談近況,談談自由職業,談談“金飯碗”
- 作為博主和曾經員工,談談近期的園子
- Web應用防火牆是什麼?談談原理及部署建議Web防火牆
- 談談Koa 中的next
- 談談JavaScript 的Navigator 物件JavaScript物件
- 談談 JavaScript 的作用域JavaScript
- 遊戲為何而難? 談談遊戲的難度設計遊戲
- 談談將資料作為戰略資產管理
- 談談PromisePromise
- 談談RaftRaft
- 談談JavaScript中的this機制JavaScript
- 簡單談談Spring的IoCSpring
- 談談Spring中的BeanPostProcessor介面SpringBean
- 談談你對Promise的理解Promise
- 談談Golang的同步等待組Golang
- 談談對中斷的理解
- 談談 Kubernetes 的匿名訪問
- 談談Selenium中的日誌
- 談談stream的執行原理
- 以 ZGC 為例,談一談 JVM 是如何實現 Reference 語義的GCJVM
- 淺談gitlab-ci分離部署方案Gitlab