浪潮云海在2023年5月正式發(fā)布新一代InCloud Rail G7系列超融合一體機(jī),其內(nèi)置的InCloud dSAN超融合存儲(chǔ)組件,基于新一代的硬件平臺(tái)設(shè)計(jì),支持全棧RDMA協(xié)議,同時(shí)在EC糾刪功能上也帶來(lái)全新體驗(yàn),為新時(shí)代用戶(hù)提供更豐富的產(chǎn)品功能。
本文將詳細(xì)解讀InCloud dSAN在新一代InCloud Rail G7系列超融合一體機(jī)上如何設(shè)計(jì)EC糾刪功能。
什么是EC糾刪碼技術(shù)?
糾刪碼技術(shù)是一種數(shù)據(jù)保護(hù)方法,主要是通過(guò)利用糾刪碼算法將原始數(shù)據(jù)分割成多段,然后進(jìn)行擴(kuò)展和編碼校驗(yàn),并將分段數(shù)據(jù)和校驗(yàn)一并在磁盤(pán)、存儲(chǔ)節(jié)點(diǎn)或其他位置存儲(chǔ)起來(lái),以達(dá)到容錯(cuò)目的?;驹恚嚎倲?shù)據(jù)塊= 原始數(shù)據(jù)塊 + 校驗(yàn)塊,常用表示為,n= k + m基本思想是將k塊原始的數(shù)據(jù)元素通過(guò)一定的編碼計(jì)算,得到m塊校驗(yàn)元素。對(duì)于這k+m塊元素,當(dāng)其中任意的m塊元素發(fā)生故障(包括數(shù)據(jù)和校驗(yàn)出錯(cuò)),均可以通過(guò)對(duì)應(yīng)的重構(gòu)算法恢復(fù)出原來(lái)的k塊數(shù)據(jù)。
EC糾刪碼在塊存儲(chǔ)設(shè)計(jì)的挑戰(zhàn)
EC糾刪碼數(shù)據(jù)切分和計(jì)算示意圖
上述場(chǎng)景以K = 4,M = 2為例,首先將應(yīng)用數(shù)據(jù)拆分成4個(gè)分片,然后計(jì)算出兩個(gè)校驗(yàn)條帶分片,然后按照數(shù)據(jù)分布算法,將6個(gè)分片數(shù)據(jù)下發(fā)到6個(gè)節(jié)點(diǎn)上存儲(chǔ)。由于多副本策略是客戶(hù)常用的數(shù)據(jù)冗余策略,我們將EC糾刪碼和三副本的的讀寫(xiě)流程及故障場(chǎng)景下的流程做了相關(guān)分析:由下表中可得出,在正常寫(xiě)流程中,需要消耗7個(gè)IO完成正常的寫(xiě)入流程,同時(shí)在有故障場(chǎng)景的讀寫(xiě),需要7個(gè)IO,有較大的讀寫(xiě)懲罰。另外,在小塊IO讀寫(xiě)流程中,如果數(shù)據(jù)塊小于EC切片數(shù)據(jù)大小,會(huì)存在空間浪費(fèi)的情況。
數(shù)據(jù)冗余策略 | 讀寫(xiě)場(chǎng)景 | 消耗讀寫(xiě)IO次數(shù) |
EC(4+2) | 正常讀 | 1個(gè) |
正常寫(xiě) | 4個(gè)讀IO,3個(gè)寫(xiě)IO | |
落在故障盤(pán)的讀 | 5個(gè)讀IO | |
落在故障盤(pán)的寫(xiě) | 5個(gè)讀IO + 2個(gè)寫(xiě)IO | |
三副本 | 正常讀 | 1個(gè) |
正常寫(xiě) | 3個(gè) | |
落在故障盤(pán)的讀 | 2個(gè) | |
落在故障盤(pán)的寫(xiě) | 1個(gè) |
在超融合的應(yīng)用場(chǎng)景中,用戶(hù)經(jīng)常使用塊存儲(chǔ)承接應(yīng)用數(shù)據(jù),適用于包括虛擬化、云平臺(tái)、數(shù)據(jù)庫(kù)等場(chǎng)景。此種場(chǎng)景下會(huì)產(chǎn)生非常多的小塊隨機(jī)讀寫(xiě)負(fù)載,同時(shí)用戶(hù)對(duì)于時(shí)延要求較高,要求控制在5ms以?xún)?nèi),且要求在故障場(chǎng)景下,對(duì)業(yè)務(wù)影響較小。這些要求正是EC糾刪碼的缺點(diǎn)。
浪潮云海超融合在新一代G7平臺(tái)的EC設(shè)計(jì)
由于EC的優(yōu)劣勢(shì)明顯,如何在超融合塊存儲(chǔ)上使用EC功能是時(shí)下剛需,浪潮云海超融合在新一代G7平臺(tái)做了獨(dú)特的方案設(shè)計(jì):
EC糾刪碼設(shè)計(jì)方案
方案亮點(diǎn)主要有:
數(shù)據(jù)分層管理:將數(shù)據(jù)存儲(chǔ)劃分為緩存層和數(shù)據(jù)層,其中緩存層使用高性的NVMe和Sata SSD存儲(chǔ),同時(shí)在緩存層使用多副本的設(shè)計(jì),提供高性能數(shù)據(jù)存儲(chǔ)能力。數(shù)據(jù)層提供EC存儲(chǔ),主要由HDD硬盤(pán)存儲(chǔ),提供高容量存儲(chǔ)空間。
智能緩存管理:設(shè)計(jì)冷熱分層的智能緩存管理,高效識(shí)別熱點(diǎn)數(shù)據(jù)和冷數(shù)據(jù),同時(shí)設(shè)計(jì)全局的緩存管理功能,確保客戶(hù)的熱數(shù)據(jù)保存在緩存空間中。
數(shù)據(jù)空間高效存儲(chǔ):在緩存層中由于副本存儲(chǔ),將上層應(yīng)用的小塊IO聚合,當(dāng)數(shù)據(jù)變成冷數(shù)據(jù)下刷至EC存儲(chǔ)層時(shí),由于下刷采用數(shù)據(jù)對(duì)齊,聚合成大塊的順序條帶讀寫(xiě),可以在EC數(shù)據(jù)層進(jìn)行高效的數(shù)據(jù)存儲(chǔ)。
EC加速計(jì)算:設(shè)計(jì)支持多個(gè)EC加速引擎,支持不同平臺(tái)的EC加速計(jì)算,其中在Intel平臺(tái)使用ISA-L的EC加速庫(kù),發(fā)揮Intel CPU的EC計(jì)算能力。
為了驗(yàn)證方案效果:同時(shí)對(duì)比ISA-L加速計(jì)算和使用Jerasure純軟件不經(jīng)過(guò)CPU加速計(jì)算的性能測(cè)試。下圖所示測(cè)試數(shù)據(jù)采用了金融和醫(yī)療等行業(yè)常用的數(shù)據(jù)庫(kù)應(yīng)用,使用1G的測(cè)試數(shù)據(jù),在觸發(fā)數(shù)據(jù)下刷場(chǎng)景下,使用EC算法選擇Reed-Solomon和Cauchy算法測(cè)試EC糾刪場(chǎng)景。從實(shí)驗(yàn)數(shù)據(jù)發(fā)現(xiàn):
不同K/M模型ISA-L和Jerasure的EC計(jì)算帶寬對(duì)比
ISA-L在不同的K/M模型下,EC計(jì)算帶寬表現(xiàn)較為穩(wěn)定,而軟件計(jì)算隨著計(jì)算量增加呈線性下降趨勢(shì);
ISA-L在新一代G7平臺(tái)的吞吐率為9.8 GB/s,相較于軟件計(jì)算提升5.7倍。
總結(jié):EC糾刪碼相較于多副本策略雖然可以提升存儲(chǔ)的利用率,如4 + 2場(chǎng)景利用率為66%,3副本只有33%,8 + 2可以做到80%。但是其涉及到EC的糾刪計(jì)算、數(shù)據(jù)校驗(yàn)、讀寫(xiě)懲罰等問(wèn)題相較于多副本仍存在較多優(yōu)化空間。InCloud dSAN分布式存儲(chǔ)軟件在新一代G7平臺(tái),依托于新硬件(Intel新一代至強(qiáng)CPU)、ISA-L軟件加速庫(kù),設(shè)計(jì)新型的EC功能,采用獨(dú)特的數(shù)據(jù)分層、智能緩存管理、軟件硬協(xié)同等方案,解決了當(dāng)前廣泛存在的數(shù)據(jù)冗余和存儲(chǔ)空間利用難題。
審核編輯:湯梓紅
-
半導(dǎo)體
+關(guān)注
關(guān)注
334文章
27290瀏覽量
218090 -
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211587 -
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4296瀏覽量
85800 -
浪潮
+關(guān)注
關(guān)注
1文章
458瀏覽量
23851
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論