前言
拜科技產業發展所賜,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資料保護方案
由於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應運而生。
圖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
• 高可擴充性 - 可以輕易疊加新的軟體功能如壓縮、加密等
• 完全發揮 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這兩種最常應用在實際場景的資料保護模式。
| 測試伺服器規格 |
|
|---|---|
| 作業系統 | 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 機架式伺服器
|
|
|---|
結論
本白皮書介紹了NVMe SSD對傳統RAID技術所帶來的影響與其適合的RAID架構,透過測試結果,可以看到GRAID在最精簡高效的平台上,仍能完全發揮NVMe SSD效能的情況下保護使用者的資料,並釋放出CPU的運算資源供應用程式以符合各種使用情境如 5G、IOT 及 AI 運算等。
技嘉科技即將推出此GRAID解決方案,欲諮詢更多方案訊息請郵件至marketing@gigacomputing.com
技嘉科技即將推出此GRAID解決方案,欲諮詢更多方案訊息請郵件至marketing@gigacomputing.com
R282-Z92 機架式伺服器