Component

GRAID - 適用於NVMe SSD的資料保護方案

前言
拜科技產業發展所賜,RAID(Redundant Array of Independent Disk)技術如今已被廣泛的運用在各種配有大量硬碟的系統中,但在過去幾十年間,主流RAID的技術仍只專注在磁碟上,而磁碟基本的概念與特性並沒有產生太大的改變,尤其在讀寫效能與硬體介面上,這個現象一直到第一顆SSD(Solid-State Drive)問世後才有所改變。
NVMe的崛起
早期,大多數SSD仍是使用如SATA或SAS等傳統介面與電腦的匯流排連接,但因為快閃記憶體(NAND Flash)的特性,SSD的效能很快就達到了這些基於硬碟所設計介面的效能瓶頸,因此Intel於2009年開始著手尋找適合記憶體特性的替代方案,也就是NVMe(Non-Volatile Memory Express).有別於基於SATA序列(Serial)介面的AHCI需要多顆硬碟共用一個PCIe控制器,NVMe裝置是透過PCIe(Peripheral Component Interconnect Express)這種高速介面直接與系統連接,且NVMe的佇列數量與深度都大幅提升,可以完全發揮快閃記憶體高併發與低延遲的特性,這促使越來越多在意IO效能的應用採用NVMe SSD,但如何在進行資料保護後仍能保持如此高的效能,也為適合傳統硬碟的RAID技術帶來新的挑戰。

詞彙學習:
什麼是NVMe?
花你一分鐘,一次看懂關於PCIe
技嘉小百科,告訴你RAID(容錯式獨立磁碟陣列)是什麼?
既有的NVMe資料保護方案
由於NVMe高效能低延遲的特性,已有許多企業開始採用NVMe SSD為伺服器的主要儲存裝置,但這些直接與系統連接的NVMe SSD仍只能透過傳統的RAID技術進行資料保護,也就是普遍所熟知的軟體RAID(Software RAID)與硬體RAID(Hardware RAID)。
軟體RAID
相較於應用於硬碟的軟體RAID,既有應用於NVMe的軟體RAID概念並沒有太大的改變,主要都是透過主機的CPU來處理NVMe指令與運算校驗碼,較大的差別在於NVMe是透過PCIe連接儲存裝置,頻寬較高且延遲較低,且指令設計更簡潔,因此透過CPU直接處理RAID的流程是最有效率的.以RAID0的讀取為例,應用程式讀取任一個4K區塊時,會產生一個讀取NVMe的指令,而軟體RAID模組收到後只需要稍微轉譯並產生新的NVMe指令排入指定SSD的指令佇列,SSD就可以將資料直接透過DMA搬移至應用程式可以存取的緩衝區裡。
圖1. 軟體RAID架構
但軟體RAID最大的問題,在需要運算校驗碼的RAID模式,如RAID5或RAID6,以RAID5為例,一個4k隨機寫的請求,會額外產生兩個讀取與一個寫入的指令,另外還要計算校驗碼,如果要完全發揮所有NVMe SSD的效能,將會佔用掉非常大量的CPU資源,不巧的是,會使用NVMe SSD作為儲存媒體的應用,往往也會消耗大量的CPU資源,這將迫使使用者採用非常高階的CPU,導致系統的建置成本大幅上升。
硬體RAID
硬體RAID在傳統硬碟的場景下是一個很好的解決方案,所有RAID的邏輯都在硬體控制器上完成,可以卸載掉主機CPU的運算,但也正是因為如此,所有的讀寫資料皆必須經過RAID控制器,而目前市面上常見NVMe SSD的傳輸介面都是PCIe Gen3 x4,若是使用規格稍好的SSD,RAID控制器連接到主機的Gen3 x8或x16就容易成為效能瓶頸。另外,由於SSD都必須與硬體RAID控制器直接連接,而控制器本身的PCIe通道非常有限,這直接限制了一個控制器能夠保護的SSD數量,除非另外增加PCIe Switch,這又會對伺服器系統層面的設計與成本帶來相當大的影響。
圖2. 硬體RAID架構
這兩種方案都各有其優缺點,但由於會使用NVMe SSD的應用必定會消耗大量的CPU,且對於IO的效能也無法妥協。隨著 NVMe SSD 邁向百萬 IOPS 的趨勢即將來臨,業界急需新的 RAID 技術在能完全發揮 NVMe SSD 性能的情況下又能提供 RAID 等級的資料保護。
GRAID - 新一代的 NVMe RAID 技術
在早期,就已經有硬體輔助軟體RAID的概念,這類解決方案帶有附加硬體,例如採用RAID BIOS的HBA,或者僅將RAID BIOS整合至主機板,但仍然是使用CPU來處理RAID的邏輯,並無法解決軟體RAID在NVMe環境下面臨的主要問題,而當 NVMe SSD 到達百萬 IOPS 等級的時候,設計出如此高速的硬體加速卡變得極為困難而且開發週期難以跟上 SSD 效能的成長速度,因此,結合可程式化AI晶片的軟體RAID技術 - GRAID應運而生。《詞彙學習:帶您了解什麼是人工智慧(AI)
圖3. GRAID架構
GRAID主要的概念,是在作業系統上實現一個虛擬的NVMe控制器,並安裝一個內含高效能 AI 處理器的PCIe裝置處理該虛擬NVMe控制器所有的 RAID 運算,這個架構有許多優點:
• 完全發揮 NVMe SSD 的性能,6百萬隨機 IOPS 是目前業界最高的效能數字
• 不會與軟體RAID一樣佔用大量的CPU
• 擺脫硬體 RAID 卡的諸多限制,如計算性能、PCIe 頻寬等
• 即插即用,在沒有PCIe Switch的系統也可以保護透過PCIe直接連接CPU的SSD,無需改變硬體設計
• SCI(Software Composible Infrastructure)架構,亦可保護透過NVMeoF連接進來的外部 NVMe SSD
• 高可擴充性 - 可以輕易疊加新的軟體功能如壓縮、加密等
測試案例
接下來的測試將會使用GIGABYTE R282-Z92伺服器並搭配AMD EPYC™ 7282處理器與10顆Intel® Optane™ SSD 905P,由於AMD平台提供了足夠的PCIe通道數,可以在無需PCIe Switch的情況下連接大量的NVMe SSD,而Intel® Optane™ SSD 905P則提供了穩定且極高的寫入效能,該組合為目前最精簡且有效的系統.測試的工具則是選用fio,並分別測試RAID10與RAID5這兩種最常應用在實際場景的資料保護模式。
測試伺服器規格
  • GIGABYTE R282-Z92 + 2 x AMD EPYC™ 7282 16 cores processor at 2.8GHz
  • 1 x GRAID NVMe RAID Controller
  • 10 x 480G Intel® Optane™ SSD 905P NVM Express* (NVMe*) drives
  • 1 x NVIDIA Mellanox MCX515A-CCAT ConnectX-5 EN Network Interface Card 100GbE
  • 128 GB RAM
作業系統 Centos 8
測試工具 fio-3.7
測試RAID模式 RAID10, RAID5
隨機讀寫測試參數 [global]
ioengine=libaio
direct=1
iodepth=128
group_reporting=1
time_based=1
runtime=300
randrepeat=1
bs=4K
numjobs=32
cpus_allowed=0-31
cpus_allowed_policy=split
rw= [randread, randrw]
rwmixread=70
連續讀寫測試參數 [global]
ioengine=libaio
direct=1
iodepth=64
group_reporting=1
time_based=1
runtime=300
randrepeat=1
bs=1M
numjobs=7
cpus_allowed=0-6
cpus_allowed_policy=split
rw=[read, write]
offset_increment=200G
size=200G
loops=128
測試結果
測試的結果包含了IOPS、相對應的延遲時間與吞吐量。
圖4. GRAID 4K隨機讀取效能
在隨機讀取的測試中,無論是RAID10或RAID5皆已達10顆NVMe SSD加總的效能上限,並維持非常低的延遲。
圖5. GRAID 4K隨機讀寫效能
在隨機讀寫的測試中,RAID10仍可完全發揮NVMe SSD的效能,而RAID5更可以達到目前業界評測最高的180萬IOPS。
圖6. GRAID RAID10與RAID5循序寫效能
最後,在循序讀寫的部分,RAID10的讀取與寫入分別可以達到25GiB/s與10GiB/s,已是10顆NVMe SSD的吞吐量加總,而RAID5的讀取跟RAID10效能接近,另外,在有寫懲罰(Write Penalty)與計算校驗碼的情況下,寫入仍能達到9.68GiB/s,已與RAID10非常接近。
技嘉科技全快閃伺服器
技嘉科技R系列伺服器 – R282-Z92為採用第二代AMD EPYCTM處理器的全快閃伺服器;第二代AMD EPYCTM處理器基於7nm先進製程技術將內核數量提升至64組、PCIe通道高達128條並支援新一代PCIe 4.0傳輸介面;基於這些技術優勢,R282-Z92提供了強大的運算效能能即時處理大量的資料運算;此外,妥善運用豐富的PCIe通道提供可彈性運用的PCIe擴展槽,並於機箱前側支援24顆2.5吋U.2儲存裝置以因應需要大量即時讀取/寫入資料的需求。技嘉科技R282-Z92擁有高密度運算、存儲容量配置與I/O效能倍速提升的最佳化設計,能滿足日益嚴苛的工作負載需求,例如軟體定義和虛擬化基礎架構、大量數據資料分析或是全閃高效能儲存服務等。
R282-Z92 機架式伺服器
  • 雙路第二代 AMD EPYC™ 7002 系列處理器
  • 32組 DDR4記憶體插槽
  • 2組 1Gb/s 網路連接埠
  • 24組 2.5" NVMe 熱插拔 SSD硬碟槽 (前側)
  • 2組 2.5" SATA/SAS 熱插拔 HDD/SSD硬碟槽 (後側)
  • 1組 PCIe 3.0 M.2插槽
  • 2組 PCIe 4.0 擴展槽
  • 1600瓦 80 PLUS 白金級冗餘備援電源供應
結論
本白皮書介紹了NVMe SSD對傳統RAID技術所帶來的影響與其適合的RAID架構,透過測試結果,可以看到GRAID在最精簡高效的平台上,仍能完全發揮NVMe SSD效能的情況下保護使用者的資料,並釋放出CPU的運算資源供應用程式以符合各種使用情境如 5G、IOT 及 AI 運算等。
技嘉科技即將推出此GRAID解決方案,欲諮詢更多方案訊息請郵件至marketing@gigacomputing.com 

詞彙學習:
帶您了解什麼是5G
什麼是IoT?
影片加映:圖睿科技汪木金總經理為您演繹企業級AI磁碟陣列新未來
想要掌握最新科技動向?馬上訂閱!
訂閱電子報
想要掌握最新科技動向?馬上訂閱!
訂閱電子報