NFV關(guān)鍵技術(shù):華為分布式存儲FusionStorage概述
Labs 導讀
分布式存儲基于通用的x86服務器,通過分布式的存儲軟件來構(gòu)建存儲系統(tǒng),開放豐富靈活的軟件策略和接口,允許管理員和租戶進行自動化的系統(tǒng)管理和資源調(diào)度發(fā)放。業(yè)界的分布式存儲,有多種形態(tài),包括分布式塊存儲、分布式文件存儲、分布式對象存儲。各大存儲廠商都有自己的解決方案,而開源的代表的就是ceph??紤]到電信云NFV領(lǐng)域的應用特性和相關(guān)設備商分布,我們這里主要介紹華為的分布式存儲系統(tǒng)FusionStorage。
1、傳統(tǒng)SAN架構(gòu)
在傳統(tǒng)的IT行業(yè)和電信云早期時候,計算和存儲是分離的,計算由各種x86服務器組成計算集群,存儲由各種SAN/NAS組成存儲集群,這種分離架構(gòu)雖然通過多個計算實例共享相同存儲,在計算節(jié)點發(fā)生故障后,無須耗時的外存 數(shù)據(jù)遷移,即可快速在其他計算節(jié)點上恢復故障應用。但是,這種傳統(tǒng)存儲資源缺乏共享。因為,傳統(tǒng)存儲設備和資源往往由不同廠家提供,之間無法進行資源共享,數(shù)據(jù)中心看到的是一個個孤立的存儲資源。如下圖所示。
而且,SAN機頭成為制約系統(tǒng)擴展的單點瓶頸。因為,隨著計算集群規(guī)模的不斷擴展,由于存儲資源池集中式控制機頭的存在,使得共享存儲系統(tǒng)的擴展性、性能加速、可靠性受到制約。比如:采用多個SAN系統(tǒng),單個SAN系統(tǒng)的機頭最多由雙控擴展到16控,不同的SAN系統(tǒng)獨立管理無法組成集群。各計算節(jié)點只能依賴于集中式機頭內(nèi)的緩存實現(xiàn)I/O加速,但由于各節(jié)點cache有限,且不共享導致cache的I/O緩存加速只能達到GB級別。盡管SAN控制機頭自身具有主備機制,但依然存在異常條下主備同時故障的可能性。
在傳統(tǒng)SAN存儲系統(tǒng)中,一般采用集中式元數(shù)據(jù)管理方式,元數(shù)據(jù)中會記錄所有LUN中不同偏移量的數(shù)據(jù)在硬盤中的分布,例如LUN1+LBA1地址起始的4KB長度的數(shù)據(jù)分布在第32塊硬盤的LBA2上。每次I/O操作都需要去查詢元數(shù)據(jù)服務,隨著系統(tǒng)規(guī)模逐漸變大,元數(shù)據(jù)的容量也會越來越大,系統(tǒng)所能提供的并發(fā)操作能力將受限于元數(shù)據(jù)服務所在服務器的能力,元數(shù)據(jù)服務將會成為系統(tǒng)的性能瓶頸。
2、什么是Server SAN?
為了解決上述問題,業(yè)界針對大多數(shù)企業(yè)事務型IT應用而言,提出信息數(shù)據(jù)的“ 即時處理” 理念,通過計算和存儲融合,引入scale-out存儲機制,也就出現(xiàn)了Server SAN的概念。所謂Server SAN就是由多個獨立服務器自帶的存儲組成一個存儲資源池,同時融合了計算和存儲資源。scale-out的存儲架構(gòu)示意圖如下:
以數(shù)據(jù)中心級資源共享為例,一個數(shù)據(jù)中心內(nèi)可以構(gòu)建一個很大的存儲資源池,如下圖所示,滿足數(shù)據(jù)中心內(nèi)各類應用對存儲容量,性能和可靠性的需求,實現(xiàn)資源共享和統(tǒng)一管理。
通過在各個計算節(jié)點引入分布式控制器VBS,這是一種軟件控制機頭,線性擴展能力最大到4096個節(jié)點。而且,利用各個計算節(jié)點的cache組成分布式cache集群,滿配情況下可達到TB級別的cache緩存能力。同時,各計算節(jié)點存儲平面的存儲網(wǎng)卡可采用專用IB接口卡,可以實現(xiàn)P2P的無阻賽傳輸網(wǎng)絡,可達到100Gbps的數(shù)據(jù)傳輸能力。
最重要的是,采用分布式軟件存儲方式屬于軟件定義存儲SDS的范疇,通過將控制面數(shù)據(jù)抽象和解耦,可與廠商的專有存儲硬件解耦,底層的專有存儲設備變?yōu)橥ㄓ迷O備,實現(xiàn)簡單統(tǒng)一管理和線性擴展。以華為FusionStorage為例,由于其采用的DHT算法(分布式哈希表結(jié)構(gòu),后面會詳細講),不僅數(shù)據(jù)能夠盡可能分布到所有的節(jié)點中,可以使得所有節(jié)點負載均衡,現(xiàn)有節(jié)點上的數(shù)據(jù)不需要做很大調(diào)整實現(xiàn)數(shù)據(jù)均衡性,而且當有新節(jié)點加入系統(tǒng)中,系統(tǒng)會重新做數(shù)據(jù)分配,數(shù)據(jù)遷移僅涉及新增節(jié)點,從而實現(xiàn)數(shù)據(jù)修改的單調(diào)性。
3、分布式存儲池的概念
分布式存儲系統(tǒng)把所有服務器的本地硬盤組織成若干個資源池,基于資源池提供創(chuàng)建/刪除應用卷(Volume)、創(chuàng)建/刪除快照等接口,為上層軟件提供卷設備功能。分布式存儲系統(tǒng)資源池示意圖如下,具有以下特點。
每塊硬盤分為若干個數(shù)據(jù)分片(Partition),每個Partition只屬于一個資源池,Partition是數(shù)據(jù)多副本的基本單位,也就是說多個數(shù)據(jù)副本指的是多個Partition,如上圖中的Pn色塊。系統(tǒng)自動保證多個數(shù)據(jù)副本盡可能分布在不同的服務器上(服務器數(shù)大于數(shù)據(jù)副本數(shù)時)。系統(tǒng)自動保證多個數(shù)據(jù)副本間 的數(shù)據(jù)強一致性(所謂強一致性是指無論讀還是寫I/O,都要進行數(shù)據(jù)一致性檢查)。Partition中的數(shù)據(jù)以Key-Value的方式存儲。對上層應用呈現(xiàn)并提供卷設備(Volume),沒有LUN的概念,使用簡單。系統(tǒng)自動保證每個硬盤上的主用Partition和備用Partition數(shù)量相當,避免出現(xiàn)集中的熱點。所有硬盤都可以用做資源池的熱備盤,單個資源池最大支持數(shù)百上千塊硬盤。
分布式存儲系統(tǒng)采用分布式集群控制技術(shù)和分布式Hash數(shù)據(jù)路由技術(shù),提供分布式存儲功能特性。這里的概念比價抽象,所以下面結(jié)合華為FusionStorage的具體情況進行介紹。
4、華為FusionStorage分布式存儲概述
FusionStorage通過創(chuàng)新的架構(gòu)把分散的、低速的SATA/SAS機械硬盤組織成一個高效的類SAN存儲池設備,提供比SAN設備更高的I/O,如下圖所示:
集群內(nèi)各服務器節(jié)點的硬盤使用獨立的I/O帶寬,不存在獨立存儲系統(tǒng)中大量磁盤共享計算設備和存儲設備之間有限帶寬的問題。其將服務器部分內(nèi)存用做讀緩存,NVDIMM用做寫緩存,數(shù)據(jù)緩存均勻分布到各個節(jié)點 上,所有服務器的緩存總?cè)萘窟h大于 采用外置獨立存儲的方案。即使采用大容量低成本的SATA硬盤,分布式存儲系統(tǒng)仍然可以發(fā)揮很高的I/O性能,整體性能提升1~3倍,同時提供更大的有效容量。
由于其采用無狀態(tài)的分布式軟件機頭,機頭部署在各個服務器上,無集中式機頭的性能瓶頸。單個服務器上軟件機頭只占用較少的CPU資源,提供比集中式機頭更高的IOPS和吞吐量。例如:假設系統(tǒng)中有20臺服務器需要訪問FusionStorage提供的存儲資源,每臺服務器提供給存儲平面的帶寬為2*10Gb,我們在每臺服務器中部署1個VBS模塊(相當于在每臺服務器中部署1個存儲機頭),20臺服務器意味著可部署20個存儲機頭,所能獲取到的總吞吐量最高可達20*2*10Gb=400Gb,隨著集群規(guī)模的不斷擴大,可以線性增加的存儲機頭,突破了傳統(tǒng)的雙控或者多控存儲系統(tǒng)集中式機頭的性能瓶頸。
華為FusionStorage是一種軟件定義存儲SDS技術(shù),將通用X86服務器的本地HDD、SSD等介質(zhì)通過分布式技術(shù)組織成大規(guī)模存儲資源池。同時,以開放API的方式對非虛擬化環(huán)境的上層應用和虛擬機提供工業(yè)界標準的SCSI和iSCSI接口。關(guān)鍵一點是,華為官方自己吹牛逼的的口號----FusionStorage是目前唯一商用支持PB級數(shù)據(jù)吞吐/存儲能力的Server SAN產(chǎn)品。
華為FusionStorage主要應用于兩種場景,如下圖所示,而中國移動的電信云NFV領(lǐng)域的應用屬于第一種場景。
場景一:與主流云平臺的集成,構(gòu)建云資源池中的存儲資源池??梢院透鞣N云平臺集成,如華為FusionSphere、VMware、開源Openstack等,按需分配存儲資源。
場景二:提供傳統(tǒng)的存儲應用,如各種業(yè)務應用(如SQL、Oracle RAC、Web、行業(yè)應用等等)。
因此,華為FusionStorage是一種開發(fā)兼容的系統(tǒng),可以兼容各種主流數(shù)據(jù)庫、各種主流虛擬化平臺以及各種主流服務器。同時,支持虛擬化平臺和數(shù)據(jù)庫資源池融合部署,即共用一個數(shù)據(jù)中心內(nèi)的FusionStorage存儲資源池。華為FusionStorage的軟硬件兼容性總結(jié)如下:
硬件兼容性主要包括:服務器、各種HDD盤,SSD盤,PCIE SSD卡/盤以及各種RAID卡,以太網(wǎng)卡, Infiniband卡等。
軟件兼容性主要包括:各種虛擬化平臺、各種操作系統(tǒng)以及各種數(shù)據(jù)庫軟件。
而且,F(xiàn)usionStorage支持使用SSD替代HDD作為高速存儲設備,支持使用Infiniband網(wǎng)絡替代GE/10GE網(wǎng)絡提供更高的帶寬,為對性能要求極高的大數(shù)據(jù)量實時處理場景提供完美的支持千萬級IOPS。InfiniBand(直譯為“無限帶寬”技術(shù),縮寫為IB)是一個用于高性能計算的計算機網(wǎng)絡通信標準,它具有極高的吞吐量和極低的延遲,用于計算機與計算機之間的數(shù)據(jù)互連。InfiniBand也用作服務器與存儲系統(tǒng)之間的直接或交換互連,以及存儲系統(tǒng)之間的互連。硬件接口圖如下:
Inifiniband接口可以實現(xiàn)鏈路可聚合:大多數(shù)系統(tǒng)使用一個4X聚合。12X鏈路通常用于計算機集群和超級計算機互連,以及用于內(nèi)部網(wǎng)絡交換器連接。而且,InfiniBand也提供遠程直接內(nèi)存訪問(RDMA)能力以降低CPU負載。除了板式連接,它還支持有源和無源銅纜(最多30米)和光纜(最多10公里)。通過Inifiniband Association可以指定CXP銅連接器系統(tǒng),用于通過銅纜或有源光纜達到高達傳輸速率120Gbps的能力。
FusionStorage的技術(shù)規(guī)格參數(shù)表如下:
5、FusionStorage邏輯架構(gòu)
在中國移動電信云NFV中,主要使用分布式塊存儲,華為FusionStorage Block的解決方案將通用X86存儲服務器池化,建立大規(guī)模塊存儲資源池,提供標準的塊存儲數(shù)據(jù)訪問接口(SCSI和iSCSI等)。支持各種虛擬化Hypervisor平臺和各種業(yè)務應用(如SQL、Web、行業(yè)應用等等),可以和各種云平臺集成,如華為FusionSphere、VMware、開源Openstack等,按需分配存儲資源。如下圖所示:
同時,F(xiàn)usionStorage Block通過及SSD做Cache,構(gòu)建內(nèi)存---緩存(SSD)---主存(HDD/SAS/SATA)三級存儲等關(guān)鍵技術(shù),將存儲系統(tǒng)的性能和可靠性得到極大的提高。
如下圖所示,華為FusionStorage的邏輯架構(gòu)中,按照管理角色和代理角色分為FSM和FSA兩類進程,在代理進程內(nèi)部按照數(shù)據(jù)管理、I/O控制和數(shù)據(jù)讀寫進一步細分為MDC、VBS和OSD三個子進程,各類軟件邏輯模塊的功能解釋如下:
FSM(FusionStorage Manager)
FusionStorage管理模塊,提供告警、監(jiān)控、日志、配置等操作維護功能。一般情況下FSM通過管理虛機主備節(jié)點部署,不考慮資源利用率的場景下,也可以使用物理服務器主備部署。
FSA(FusionStorage Agent)
代理進程,部署在各節(jié)點上,實現(xiàn)各節(jié)點與FSM通信。FSA包含MDC、VBS和OSD三類不同的子進程。根據(jù)系統(tǒng)不同配置要求,分別在不同的節(jié)點上啟用不同的進程組合來完成特定的功能。比如:單純存儲節(jié)點只需要部署OSD子進程,用于構(gòu)建虛擬存儲池。計算和存儲融合節(jié)點,不僅需要部署OSD進程,還需部署VBS進程,用于控制數(shù)據(jù)讀寫I/O。
MDC(MetaData Controller)
負責整個分布式存儲集群的的元數(shù)據(jù)控制,實現(xiàn)對分布式集群的狀態(tài)控制,以及控制數(shù)據(jù)分布式規(guī)則、數(shù)據(jù)重建規(guī)則等。MDC是整個分布式存儲集群的核心,通過MDC模塊才能找到數(shù)據(jù)的具體存儲位置,知悉存儲副本的數(shù)量,分布和大小。因此,MDC子進程必須采用高可用HA的方式部署,默認情況下,是部署在3個節(jié)點的ZK(Zookeeper)盤上,形成MDC集群。
VBS(Virtual Block System)
虛擬塊存儲管理組件,負責卷元數(shù)據(jù)的管理,也就是我們俗稱的”軟件機頭“。VBS子進程提供分布式集群接入點服務,使計算資源能夠通過VBS訪問分布式存儲資源。VBS上存儲的是虛擬機虛擬磁盤卷的元數(shù)據(jù),用于描述虛擬卷在OSD的位置,分布和大小等。凡是融合計算資源的節(jié)點,每個節(jié)點上默認部署一個VBS進程,形成VBS集群,由于VBS從OSD讀取數(shù)據(jù)時可以并發(fā),所以節(jié)點上也可以通過部署多個VBS來提升IO性能。
OSD(Object Storage Device)
對象存儲設備服務子進程,執(zhí)行具體的I/O操作。在每個存儲節(jié)點服務器上可以部署多個OSD進程。一般情況下,存儲服務器上的一塊本地磁盤默認對應部署一個OSD進程。如果使用大容量SSD卡作主存,為了充分發(fā)揮SSD卡的性能,可以在1張SSD卡上部署多個OSD進程進行管理,例如2.4TB的SSD卡可以部署6個OSD進程,每個OSD進程負責管理400GB存儲空間。
6、FusionStorage部署方式
在中國移動電信云NFV解決方案中,無論軟件由哪家廠商提供,虛擬化Hypervisor都是采用KVM來實現(xiàn),區(qū)別只是不同廠商在開源KVM中私有增強或加固。華為FusionStorage Block支持XEN/KVM之類的Linux開放體系的Hypervisor場景,包括華為基于XEN/KVM增強的FusionSphere UVP虛擬化平臺,和非華為的XEN/KVM虛擬化平臺。在XEN/KVM的虛擬化場景下,F(xiàn)usionStorage Block既支持計算存儲融合的部署模式,又支持計算存儲分離的部署模式。
6.1 融合部署
就是指計算與存儲的融合部署方式,也就是說將應用或虛擬機與存儲在集群范圍內(nèi)部署在同一臺服務器上。如下圖所示:
融合部署對應到FusionStorage的邏輯架構(gòu)中,就是指的是將VBS和OSD部署在同一臺服務器中。這種部署方式提升了資源利用率,雖然一定意義上增加了計算節(jié)點服務器的CPU開銷,但是通過分布式存儲軟件策略,可以滿足數(shù)據(jù)就近讀寫,提升I/O轉(zhuǎn)發(fā)性能,同時數(shù)據(jù)副本異地存放,滿足數(shù)據(jù)存儲可靠性。在電信云NFV中,對時延較敏感的業(yè)務控制數(shù)據(jù)應用虛機推薦采用融合部署的方式部署。
6.2 分離部署
顧名思義就是將計算與存儲的分開部署,也就是將業(yè)務虛擬機與存儲部署在不同的服務器上。如下圖所示:
分離部署對應到FusionStorage的邏輯架構(gòu)中,就是將VBS和OSD分別部署在不同的服務器中,其中存儲節(jié)點服務器只部署OSD子進程,計算節(jié)點服務器只部署VBS子進程。計算節(jié)點通過存儲網(wǎng)絡完成存儲節(jié)點上數(shù)據(jù)的I/O讀寫,一般高性能數(shù)據(jù)庫應用因為需要對數(shù)據(jù)進行計算,推薦采用分離部署的方式。但是,這種部署方式在I/O轉(zhuǎn)發(fā)性能略差于融合部署。采用分離部署時,存儲節(jié)點服務器Host OS可以采用通用的Linux OS操作系統(tǒng),這就為后續(xù)分布式存儲解耦提供了基礎。
7、FusionStorage數(shù)據(jù)可靠性
7.1 集群管理
華為分布式存儲FusionStorage的分布式存儲軟件采用集群管理方式,規(guī)避單點故障,一個節(jié)點或者一塊硬盤故障自動從集群內(nèi)隔離出來,不影響整個系統(tǒng)業(yè)務的使用。集群內(nèi)選舉進程Leader,Leader負責數(shù)據(jù)存儲邏輯的處理,當Leader出現(xiàn)故障,系統(tǒng)自動選舉其他進程成為新的Leader。
7.2 多數(shù)據(jù)副本
華為分布式存儲FusionStorage中沒有使用傳統(tǒng)的RAID模式來保證數(shù)據(jù)的可靠性(實際采用的RAID2.0+技術(shù)),而是采用了多副本備份機制,即同一份數(shù)據(jù)可以復制保存多個副本。在數(shù)據(jù)存儲前,對數(shù)據(jù)打散進行分片,分片后的數(shù)據(jù)按照一定的規(guī)則保存集群節(jié)點上。如下圖所,F(xiàn)usionStorage采用數(shù)據(jù)多副本備份機制來保證數(shù)據(jù)的可靠性,即同一份數(shù)據(jù)可以復制保存為2~3個副本。
FusionStorage針對系統(tǒng)中的每個卷,默認按照1MB進行分片,分片后的數(shù)據(jù)按照DHT算法保存集群節(jié)點上。如上圖所示,對于服務器Server1的 磁盤Disk1上的數(shù)據(jù)塊P1,它的數(shù)據(jù)備份為服務器Server2的磁盤Disk2上P1’,P1和P1’構(gòu)成了同一個數(shù)據(jù)塊的兩個副本。當P1所在的硬盤故障時,P1’可以繼續(xù)提供存儲服務。
數(shù)據(jù)分片分配算法保證了主用副本和備用副本在不同服務器和不同硬盤上的均勻分布,換句話說,每塊硬盤上的主用副本和備副本數(shù)量是均勻的。擴容節(jié)點或者故障減容節(jié)點時,數(shù)據(jù)恢復重建算法保證了重建后系統(tǒng)中各節(jié)點負載的均衡性。
7.3 數(shù)據(jù)一致性和彈性擴展
數(shù)據(jù)一致性的要求是:當應用程序成功寫入一份數(shù)據(jù)時,后端的幾個數(shù)據(jù)副本必然是一致的,當應用程序再次讀取時,無論在哪個副本上讀取,都是之前寫入的數(shù)據(jù),這種方式也是絕大部分應用程序希望的。保證多個數(shù)據(jù)副本之間的數(shù)據(jù)一致性是分布式存儲系統(tǒng)的重要技術(shù)點。華為分布式存儲FusionStorage采用強一致性復制技術(shù)確保各個數(shù)據(jù)副本的一致性,一個副本寫入,多個副本讀取。 如下圖所示,
存儲資源池支持多種安全級別,采用強一致性復制協(xié)議,冗余策略按需靈活配置、部署。當采用機柜級冗余時,能同時容忍2或3個機柜失效;當采用節(jié)點級冗余時,能同時容忍2或3個節(jié)點失效。
FusionStorage還支持Read Repair機制。Read Repair機制是指在讀數(shù)據(jù)失敗時,會判斷錯誤類型,如果是磁盤扇區(qū)讀取錯誤,可以通過從其他副本讀取數(shù)據(jù),然后重新寫入該副本的方法進行恢復,從而保證數(shù)據(jù)副本總數(shù)不減少。
同時,F(xiàn)usionStorage的分布式架構(gòu)具有良好的可擴展性,支持超大容量的存儲。如下圖所示,擴容存儲節(jié)點后不需要做大量的數(shù)據(jù)搬遷,系統(tǒng)可快速達到負載均衡狀態(tài)。
FusionStorage支持靈活擴容方式,不僅支持計算節(jié)點、硬盤、存儲節(jié)點單類性擴容,而且支持同時進行擴容。由于軟件機頭、存儲帶寬和Cache都均勻分布到各個節(jié)點上,系統(tǒng)IOPS、吞吐量和Cache隨著節(jié)點擴容線性增加,理論上計算節(jié)點和存儲節(jié)點越多,F(xiàn)usionStorage的性能越強。
7.4 快速數(shù)據(jù)重建
分布式存儲系統(tǒng)內(nèi)部需要具備強大的數(shù)據(jù)保護機制。數(shù)據(jù)存儲時被分片打散到多個節(jié)點上,這些分片數(shù)據(jù)支持分布在不同的存儲節(jié)點、不同的機柜之間,同時數(shù)據(jù)存儲時采用多副本技術(shù),數(shù)據(jù)會自動存多份,每一個分片的不同副本也被分散保存到不同的存儲節(jié)點上。在硬件發(fā)生故障導致數(shù)據(jù)不一致時,分布式存儲系統(tǒng)通過內(nèi)部的自檢機制,通過比較不同節(jié)點上的副本分片,自動發(fā)現(xiàn)數(shù)據(jù)故障。發(fā)現(xiàn)故障后啟動數(shù)據(jù)修復機制,在后臺修復數(shù)據(jù)。如下圖所示為華為FusionStorage的數(shù)據(jù)重建過程示意圖。
FusionStorage中的每個硬盤都保存了多個DHT分區(qū)(Partition),這些分區(qū)的副本按照策略分散在系統(tǒng)中的其他節(jié)點。當FusionStorage檢測到硬盤或者節(jié)點硬件發(fā)生故障時,自動在后臺啟動數(shù)據(jù)修復。
由于分區(qū)的副本被分散到多個不同的存儲節(jié)點上,數(shù)據(jù)修復時,將會在不同的節(jié)點上同時啟動數(shù)據(jù)重建,每個節(jié)點上只需重建一小部分數(shù)據(jù),多個節(jié)點并行工作,有效避免單個節(jié)點重建大量數(shù)據(jù)所產(chǎn)生的性能瓶頸,對上層業(yè)務的影響做到最小化。
7.5 掉電保護
分布式存儲系統(tǒng)運行過程中可能會出現(xiàn)服務器突然下電的情況,此時在內(nèi)存中的元數(shù)據(jù)和寫緩存數(shù)據(jù)會隨著掉電而丟失,需要使用非易失存儲介質(zhì)來保存和恢復元數(shù)據(jù)和緩存數(shù)據(jù)。華為FusionStorage支持的保電介質(zhì)為NVDIMM內(nèi)存條或SSD。如下圖所示,程序運行過程中會把元數(shù)據(jù)和緩存數(shù)據(jù)寫入保電介質(zhì)中,節(jié)點異常掉電并重啟后,系統(tǒng)自動恢復保電介質(zhì)中的元數(shù)據(jù)和緩存數(shù)據(jù)。
部署FusionStorage時,要求每一臺服務器配備NVDIMM內(nèi)存條或SSD盤,服務器掉電時會把元數(shù)據(jù)和緩存數(shù)據(jù)寫入NVDIMM的Flash或SSD盤中,上電后又會把Flash中的數(shù)據(jù)還原到內(nèi)存中。FusionStorage能夠自動識別出系統(tǒng)中的NVDIMM內(nèi)存,并把需要保護的數(shù)據(jù)按照內(nèi)部規(guī)則存放在NVDIMM中,用于提供掉電保護功能。
8、FusionStorage的特性
FusionStorage分布式存儲軟件總體框架如下所示,由存儲管理模塊、存儲接口層、存儲服務層和存儲引擎層4類組成。
8.1 FusionStorage塊存儲功能 - SCSI/iSCSI塊接口
FusionStorage通過VBS以SCSI或iSCSI方式提供塊接口。當采用SCSI方式時,安裝VBS的物理服務器、FusionSphere或KVM等采用SCSI接口(帶內(nèi)方式);當采用iSCSI方式時,安裝VBS以外的虛擬機或主機提供存儲訪問,VMware、MS SQL Server集群采用iSCSI模式(帶外方式)。
使用SCSI存儲接口時,支持快照、快照備份、鏈接克隆功能,iSCSI暫不支持前述特性。對于iSCSI協(xié)議的支持是通過VBS提供iSCSI Target,塊存儲使用方通過本機的Initiator與iSCSI Target聯(lián)接來訪問存儲。FusionStorage支持以下兩種安全訪問的標準:CHAP身份驗證和LUN MASKING給Host對Lun的訪問進行授權(quán)。
8.2 FusionStorage精簡配置功能
相比傳統(tǒng)方式分配物理存儲資源,精簡配置可顯著提高存儲空間利用率。FusionStorage天然支持自動精簡配置,和傳統(tǒng)SAN相比不會帶來性能下降。
當用戶對卷進行寫操作時,系統(tǒng)才分配實際物理空間,F(xiàn)usionStorage Block僅處理虛擬卷空間和實際物理空間之前的映射關(guān)系,對性能無影響。
8.3 FusionStorage快照功能
FusionStorage快照機制,將用戶卷數(shù)據(jù)在某個時間點的狀態(tài)保存下來,可用作導出數(shù)據(jù)、恢復數(shù)據(jù)之用。FusionStorage Block快照數(shù)據(jù)基于DHT機制,數(shù)據(jù)在存儲時采用ROW(Redirect-On-Write)機制,快照不會引起原卷性能下降。比如:針對一塊容量為2TB的硬盤,完全在內(nèi)存中構(gòu)建索引需要24MB空間,通過一次Hash查找即可判斷有沒有做過快照,以及最新快照的存儲位置,效率很高。
無限次快照:快照元數(shù)據(jù)分布式存儲,水平擴展,無集中式瓶頸,理論上可支持無限次快照。
卷恢復速度快:無需數(shù)據(jù)搬遷,從快照恢復卷1S內(nèi)完成(傳統(tǒng)SAN在幾小時級別)。
8.4 FusionStorage鏈接克隆功能
FusionStorage支持一個卷快照創(chuàng)建多個克隆卷,對克隆卷修改不影響原始快照和其它克隆卷??寺【砝^承普通卷所有功能,即克隆卷可支持創(chuàng)建快照、從快照恢復及作為母卷再次克隆操作。
- 支持批量進行虛擬機卷部署,在1秒時間內(nèi)創(chuàng)建上百個虛擬機卷。
- 支持1:2048的鏈接克隆比,提升存儲空間利用率。
8.5 FusionStorage Block卷遷移
為了存儲池之間的容量平衡,F(xiàn)usionStorage支持將容量滿的池遷移到一個空閑的池。或者,為了改變卷的性能,F(xiàn)usionStorage支持卷在不同性能的池之間的遷移,從低性能的池向高性能的池遷移。這就是卷遷移使用的場景,在FusionStorage中,由于遷移過程中,源卷不能有寫數(shù)據(jù)的操作,所以這種遷移屬于冷遷移。
步驟:
【創(chuàng)建目標卷】>>>【卷數(shù)據(jù)復制】>>>【刪除源卷】>>>【目標卷改名】>>>【完成】
8.6 FusionStorage Block雙活
基于AB兩個數(shù)據(jù)中心的兩套FusionStorage Block集群構(gòu)建雙活容災關(guān)系,基于兩套FusionStorage的卷虛擬出一個雙活卷,兩數(shù)據(jù)中心業(yè)務的主機能同時進行讀寫服務。任意數(shù)據(jù)中心故障,數(shù)據(jù)零丟失,業(yè)務能迅速切換到另外一個站點運行,保證業(yè)務連續(xù)型。
在原有基礎服務基礎上,引入復制集群,按服務化的架構(gòu)提供雙活業(yè)務。支持物理部署和虛擬機部署,可以做到獨立安裝和升級,獨立擴展,按卷粒度提供雙活服務。
支持優(yōu)先站點仲裁和第三方仲裁的雙仲裁模式,故障自動倒換,無需人工介入。能跟上層Oracle RAC、VMWare等應用形成端到端雙活容災解決方案。