相信大家買電腦的時候,都會注意到 Intel 平台的主機板,大多會提供 RAID 0 / 1 / 5 / 10 的功能。但是,會使用主機板提供的 RAID 功能,應該都是有特殊需求的玩家、專家在使用。
而在這篇文章中,就把這陣子整理的資料分享給大家,讓各位自行評估到底是 【 軟體 RAID: Microsoft Windows 10 Storage Space 】的效能比較好呢?還是【 主機板 RAID: Intel VROC 】的效能比較好呢?
軟體 RAID 與 主機板 RAID 的差異
在看 主機板 RAID 的測試結果之前,讓我們先看看【 軟體 RAID 】與【 主機板 RAID 】最大的差異有那些:
- 主機板 RAID 可做開機碟
- 主機板 RAID 支援意外熱插拔功能
- 主機板 RAID 支援 Linux 作業系統
- 主機板 RAID 支援在作業系統載入前的 RAID 管理
- 主機板 RAID 支援 RAID 陣列中固態硬碟上的 LED 狀態指示燈
以上列出的差異,都是【 軟體 RAID: Microsoft Windows 10 Storage Space 】無法做到的。
RAID 磁碟陣列 – 名詞解釋
一開始在進行 主機板 RAID 測試的時候,常常被一些名詞搞得很混亂。例如: Strip vs Stripe ,這兩個單字即使翻成中文,也很難懂是什麼意思。更何況是不同的公司,使用 Strip Size 與 Stripe Size 的定義,也完全不相同。
- PMC / Microsemi / Microchip 的 Adaptec RAID 卡定義 Stripe Size:
- 指的是: RAID 陣列中佔據最小塊的容量(也就是條帶深度 或 Block Size 或 Segment Size 或 Chunk Size)
- total Stripe Size = Stripe Size x Stripe Width
- Intel / LSI /Dell 定義 Strip Size:
- 指的是: RAID 陣列中佔據最小塊的容量(也就是條帶深度 或 Block Size 或 Segment Size 或 Chunk Size)
- Stripe Size = Strip Size x Strip Width
在這一系列的文章中,會採用 PMC / Microsemi / Microchip 定義的【 Stripe Size 】來指【 寫入 或 讀取 會用到的 RAID 陣列中最小塊容量】。
當然可以根據自己的使用情境,將 Stripe Size 的大小,調整成最適合的值。然後 RAID software 會負責將檔案資料大小( Data Size ),切割成指定的 Stripe Size ,寫入多顆實體硬碟或從多顆實體硬碟讀取出來。
- VROC: Virtual RAID on CPU
- Data Size: 欲 寫入 或 讀取 的資料大小
- Stripe Size: 硬碟上佔據最小塊的容量
- Stripe Width: 不包含 Parity 硬碟的其餘實體資料硬碟
- Disk: 實體硬碟
- VMD: Volume Management Device
- RST: Rapid Storage Technology
- RSTe: Rapid Storage Technology Enterprise
- RAID: Redundant Array of Independent Disks
- QD: Queue Depth
Intel RSTe 、 Intel RST 、 Intel VROC 的差異
在 2019 年第 1 季推出 Intel VROC 6.0 後,也順勢將 Intel RSTe / RST 的名稱移除,只保留 Intel VROC 品牌做為未來主機板 RAID 的支援。所以,衍伸出來的三種名稱分別是:
- Intel VROC ( VMD NVMe RAID )
- 支援 NVMe RAID
- Intel VROC ( SATA RAID )
- 支援 SATA HDD / SSD RAID
- Intel VROC ( NonVMD NVMe RAID )
- 舊平台沒有內建 VMD 功能,可支援 NVMe RAID
Intel VROC – 測試平台與測試條件
使用 Intel VROC 來建立四種 RAID 的時候,會發現軟體中會提供下拉選單,讓使用者決定 Stripe Size 。但是,很好奇 Stripe Size 對於不同 RAID Type ,在存取不同檔案大小的時候,效能方面會不會有很大的影響呢?所以,就根據以下的測試條件,將數據整理成圖表來做比較。
測試平台
- 處理器:Intel Xeon CPU E5-2600 v3 @ 1.90GHz, 6 Cores
- 主機板:Supermicro Intel C612 chipset
- 記憶體:Micron DDR4-2133 8GB*2
- 系統碟:Intel SSD DC S4500 960GB,TLC
- 作業系統:Microsoft Windows 10 Pro
- 測試碟:
- 2.5″ SATA HDD * 4
- Seagate 500GB 7200轉 32MB ST500LM021
- 2.5″ SATA SSD * 4
- Kingston SA400S37/120G
- 2.5″ SATA HDD * 4
測試條件
- IOmeter
- Data Size:
- Random R/W 使用 4KB 做測試
- Sequential R/W 使用 256KB 做測試
- QD: 1, 2, 4, 8, 16, 32
- Stripe Size: 4KB, 8KB, 16KB, 32KB, 64KB, 128KB
- Data Size:
- 使用 Intel VROC 建立以下 RAID Types
- RAID 0
- case 1: 包含 2 顆 HDD
- case 2: 包含 2 顆 SSD
- RAID 1
- case 1: 包含 2 顆 HDD
- case 2: 包含 2 顆 SSD
- RAID 5
- case 1: 包含 4 顆 HDD
- case 2: 包含 4 顆 HDD
- RAID 10
- case 1: 包含 4 顆 HDD
- case 2: 包含 4 顆 SSD
- RAID 0
- 存取模式
- Sequential Read
- Sequential Write
- Random Read
- Random Write
Intel VROC 的測試結果
在這篇文章中,先看一下預設 Stripe Size 跑出來的效能數據。
- Intel VROC 預設的 Stripe Size
- RAID 0: 128KB
- RAID 1: 無
- RAID 5: 64KB
- RAID 10: 64KB
SSD使用預設Stripe=128KB的 RAID 0 效能
以下所有圖中的【 黑色虛線 】是單一顆 SSD ,在相同 Sequential R/W 或 Random R/W 條件下,得到的測試結果,直接拿來跟不同 RAID Type 做比較。
SSD 的 RAID 1 效能
SSD使用預設Stripe=64KB的 RAID 5 效能
SSD使用預設Stripe=64KB的 RAID 10 效能
Intel VROC 結論
看完【 主機板 RAID 】的數據後,會不會想知道【 軟體 RAID 】的效能如何呢?關於【 軟體 RAID 】可以分成以下兩種:
- 作業系統的軟體 RAID 就是Microsoft Windows 10 【 Storage Space 】,這一種類型是無法做開機碟的。所以,假使用途是針對資料碟的話,可以考慮看看,文章內有 Simple / Two Way Mirror / Three way mirror / Parity 的讀寫數據。
- 假使你追求的是讀寫速度,覺得 RAID 0 還是太慢的話,那麼 AMD StoreMI 這一套買主機板贈送的軟體,可以考慮看看。嚴格說起來,它並不是一種 RAID ;但是,廣義來說,卻是跟 RAID 0 一樣,可以大幅提升硬碟的讀寫速度。它結合了 DDR4, NVMe or SATA SSD, HDD 等零件,建立成一個可開機的邏輯磁碟。不過,跟 RAID 0 一樣,沒有資料保護的能力。
假使對於 HDD 或 SSD 的完整讀寫效能數據( Stripe Size = 4KB ~ 128KB )有興趣的話,可以點選以下連結,文章裡面提供的內容,可以幫助你在特定的使用情境下,決定 Stripe Size 與 RAID Type。
Intel
VROC
Intel
VROC
Intel
VROC
Intel
VROC
Intel
VROC
Intel
VROC
Intel
VROC
Intel
VROC
>>> 你可能會有興趣: NVMe SSD 組 AMD RAID 會比較快?那你就錯一半了!