從 Window Server 2012 開始,微軟就在 OS 增強了許多有關儲存服務的功能,若想用作業系統設定軟體陣列 (Software Raid),除了過去在磁碟管理用動態磁碟方式建立之外,現在還能選擇用儲存空間 (Storage Spaces) 的方式建立。

本文不詳述兩種軟體陣列的建立方式,純粹就這兩種方式同樣建立 Raid 1 (Mirror),進行效能測試比較,提供給伺服器沒有硬體陣列卡,又希望設定陣列保存資料的艱困 IT 人員參考。

測試環境說明
OS: Windows Server 2019
CPU: Intel i7-6700
MB: Gigabyte GA-B150N-GSM (6 x SATA 6Gb/s)
RAM: Kingston HyperX FURY DDR4 2666 16GB

測試組成陣列的硬碟,則是用兩顆傳統硬碟 Seagate ST500LT012 負責。

首先,以傳統的動態磁碟方式組成 Raid 1 (Mirror) 模式

設定後,用 CrystalDiskMark 進行效能測試,結果如圖。

在 Windows Server 2019 換成用比較新的 Storage Spaces 模式,從建立存放集區 (Storage Pool) 進而新增 Raid 1 (Mirror) 的虛擬陣列磁碟

設定後,同樣用 CrystalDiskMark 進行效能測試,結果如圖。

測試心得分享
1. 兩種不同建立模式的 Raid 1 經過插拔測試,都有達到容許單顆故障的目標。
2. 傳統動態磁碟組成的 Raid 1,讀取效能似乎比 Storage Spaces 所組成的 Raid 1 還要好些,寫入的效能則是沒有明顯差異。
3. 傳統動態磁碟組成的 Raid 1,觀察遇到故障 (degraded) 時,修復陣列所花的時間,會比 Storage Spaces 模式久上許多。懷疑是傳統模式必須從頭同步到尾,而 Storage Spaces 的修復模式則似乎比較聰明些。

4. 用 Storage Spaces 所建立的虛擬陣列磁碟,比起傳統動態磁碟建立的陣列狀態,有較完整及明確的步驟避免手殘導致陣列損毀。

5. 用 Storage Spaces 所建立出的虛擬陣列磁碟,可以完整在 Windows Server 安裝過程被正確辨識,且不會將實體磁碟帶入,較符合傳統使用硬體陣列卡的運作期待。

但動態磁碟組成的陣列狀態,在 Windows Server 安裝過程無法辨識,且實體磁碟會被全部帶入。

為了更明確驗證第二點的讀取效能論點,決定挖出手邊兩顆 Intel 530 SSD 進行相同的測試比較。

單顆 SSD 測試數據

動態磁碟組成的 Raid 1 陣列模式

Storage Spaces 建立的 Raid 1 虛擬陣列磁碟

測試後更確定,以動態磁碟組成的 Raid 1 陣列模式,的確在讀取效能有幾近一倍的成長;而 Storage Spaces 的方式,則與單顆 SSD 的運作效能似乎沒有太大差異。

若硬要在這兩種模式選擇,我會採 Storage Spaces 的方式建立陣列,儘管動態磁碟模式的陣列在讀取有較佳效能,但在陣列的操作如前述,Storage Spaces 有較明確的指示及防呆 (X) 防手殘 (O) 設定,對於日理萬機的 IT 人無疑也是種保障,避免人生重要的 D 槽意外刪除。

再者,Storage Spaces 的功能並不是組陣列這麼簡單,而是能進階混合 SSD 及 HDD 組出如同傳統硬體陣列卡的運作及加速效果,推薦大家一定要試試看。

延伸閱讀
Microsoft Docs - Deploy Storage Spaces on a stand-alone server
Justin Lau 的 IT世界 - Windows Server 2012 R2 的Storage Spaces 系列文章
不自量力 の Weithenn - 發揮 Storage Space 功能,視窗伺服器變身儲存設備