【導讀】浪潮云海在2023年5月正式發(fā)布新一代InCloud Rail G7系列超融合一體機,其內置的InCloud dSAN超融合存儲組件,基于新一代的硬件平臺設計,支持全棧RDMA協(xié)議,同時在EC糾刪功能上也帶來全新體驗,為新時代用戶提供更豐富的產品功能。
本文將詳細解讀InCloud dSAN在新一代InCloud Rail G7系列超融合一體機上如何設計EC糾刪功能。
什么是EC糾刪碼技術?
糾刪碼技術是一種數據保護方法,主要是通過利用糾刪碼算法將原始數據分割成多段,然后進行擴展和編碼校驗,并將分段數據和校驗一并在磁盤、存儲節(jié)點或其他位置存儲起來,以達到容錯目的。基本原理:總數據塊 = 原始數據塊 + 校驗塊,常用表示為,n= k + m基本思想是將k塊原始的數據元素通過一定的編碼計算,得到m塊校驗元素。對于這k+m塊元素,當其中任意的m塊元素發(fā)生故障(包括數據和校驗出錯),均可以通過對應的重構算法恢復出原來的k塊數據。
EC糾刪碼在塊存儲設計的挑戰(zhàn)
EC糾刪碼數據切分和計算示意圖
上述場景以K = 4,M = 2為例,首先將應用數據拆分成4個分片,然后計算出兩個校驗條帶分片,然后按照數據分布算法,將6個分片數據下發(fā)到6個節(jié)點上存儲。由于多副本策略是客戶常用的數據冗余策略,我們將EC糾刪碼和三副本的的讀寫流程及故障場景下的流程做了相關分析:由下表中可得出,在正常寫流程中,需要消耗7個IO完成正常的寫入流程,同時在有故障場景的讀寫,需要7個IO,有較大的讀寫懲罰。另外,在小塊IO讀寫流程中,如果數據塊小于EC切片數據大小,會存在空間浪費的情況。
在超融合的應用場景中,用戶經常使用塊存儲承接應用數據,適用于包括虛擬化、云平臺、數據庫等場景。此種場景下會產生非常多的小塊隨機讀寫負載,同時用戶對于時延要求較高,要求控制在5ms以內,且要求在故障場景下,對業(yè)務影響較小。這些要求正是EC糾刪碼的缺點。
浪潮云海超融合在新一代G7平臺的EC設計
由于EC的優(yōu)劣勢明顯,如何在超融合塊存儲上使用EC功能是時下剛需,浪潮云海超融合在新一代G7平臺做了獨特的方案設計:
EC糾刪碼設計方案
方案亮點主要有:
● 數據分層管理:將數據存儲劃分為緩存層和數據層,其中緩存層使用高性的NVMe和Sata SSD存儲,同時在緩存層使用多副本的設計,提供高性能數據存儲能力。數據層提供EC存儲,主要由HDD硬盤存儲,提供高容量存儲空間。
● 智能緩存管理:設計冷熱分層的智能緩存管理,高效識別熱點數據和冷數據,同時設計全局的緩存管理功能,確保客戶的熱數據保存在緩存空間中。
● 數據空間高效存儲:在緩存層中由于副本存儲,將上層應用的小塊IO聚合,當數據變成冷數據下刷至EC存儲層時,由于下刷采用數據對齊,聚合成大塊的順序條帶讀寫,可以在EC數據層進行高效的數據存儲。
● EC加速計算:設計支持多個EC加速引擎,支持不同平臺的EC加速計算,其中在Intel平臺使用ISA-L的EC加速庫,發(fā)揮Intel CPU的EC計算能力。
為了驗證方案效果:同時對比ISA-L加速計算和使用Jerasure純軟件不經過CPU加速計算的性能測試。下圖所示測試數據采用了金融和醫(yī)療等行業(yè)常用的數據庫應用,使用1G的測試數據,在觸發(fā)數據下刷場景下,使用EC算法選擇Reed-Solomon和Cauchy算法測試EC糾刪場景。從實驗數據發(fā)現:
不同K/M模型ISA-L和Jerasure的EC計算帶寬對比
● ISA-L在不同的K/M模型下,EC計算帶寬表現較為穩(wěn)定,而軟件計算隨著計算量增加呈線性下降趨勢;
● ISA-L在新一代G7平臺的吞吐率為9.8 GB/s,相較于軟件計算提升5.7倍。
總結:EC糾刪碼相較于多副本策略雖然可以提升存儲的利用率,如4 + 2場景利用率為66%,3副本只有33%,8 + 2可以做到80%。但是其涉及到EC的糾刪計算、數據校驗、讀寫懲罰等問題相較于多副本仍存在較多優(yōu)化空間。InCloud dSAN分布式存儲軟件在新一代G7平臺,依托于新硬件(Intel新一代至強CPU)、ISA-L軟件加速庫,設計新型的EC功能,采用獨特的數據分層、智能緩存管理、軟件硬協(xié)同等方案,解決了當前廣泛存在的數據冗余和存儲空間利用難題。
稿源:美通社
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯(lián)系小編進行處理。
推薦閱讀:
解構ADI新一代VSM芯片,看“4合1”的AFE如何重新定義可穿戴監(jiān)測標準