[實驗] 10GbE 與 RAID 大亂鬥,RAID 0 / RAID 5 / RAID 6 / RAID 10 速度差多少

RAID 大概是 NAS 和 DAS 中最常見的硬碟陣列模式,以家用用途而言, 4Bay 4 個硬碟槽也是最常使用的數量。
因此我便好奇幾種不同 RAID 格式之下,速度與 10GbE 應用上的表現

追蹤更多我的實驗 >>>

這系列文章主要是我對於 SSD / HDD 硬碟 x 數量 x 陣列 x 模式等幾個在 NAS 環境中常見的變因做的小研究測試,目前有以下這幾個比較實驗,實驗都自己設計、測試了很久,也歡迎到粉專:https://www.facebook.com/garynil.tw/ 點讚支持追蹤看後續更多的奇怪實驗~

  • 硬碟越多,速度真的越快嗎?
  • 10GbE RAID 大亂鬥,RAID 0 / RAID 5 / RAID 6 / RAID 10 常用的 RAID 速度差多少

RAID 科普

開始測試之前,先了解 RAID。
RAID 有很多種,主要常見家用會用到的大概有 RAID 0 / RAID 1 / RAID 5 / RAID 6 / RAID 10 這幾種,以下簡單介紹一下,想了解更清楚歡迎參考 WiKi

  • RAID 0:
    將資料拆開以序列式 (Stripe) 在兩顆硬碟中平均分布資料,無備份功能,壞一顆則壞全部。
    最少需 2 顆硬碟,追求最大容量、速度
    4 個 HDD 之下陣列大小為 4 x 單顆容量

  • RAID 1:
    鏡向式 (Mirror) 分布資料,追求安全性,最少需 2 顆硬碟,常見於 2 Bay 的組合應用
    4 個 HDD 之下陣列大小為 2 x 單顆容量

  • RAID 5:
    最小需求硬碟數為 3 顆,多增加1 Bay 空間大小為奇偶效驗訊息用,追求最大容量
    4 個 HDD 之下陣列大小為 (N-1, 4-1) x 單顆容量

  • RAID 6:
    最小需求硬碟數為 4 顆,多增加 2 Bay 空間大小為奇偶效驗訊息以增加安全性,因為最多可壞 2Bay 因此較 RAID 5 更為安全
    4 個 HDD 之下陣列大小為 (N-2, 4-2) x 單顆容量

  • RAID 10

    綜合 RAID 0, 1 優點,先照 RAID 0 分成兩組,再分別在兩組內以 RAID 鏡向式分布資料
    4 個 HDD 之下陣列大小為 (4-2) x 單顆容量

對於容量計算上較不熟悉的使用者,很推薦使用「 Synology 官方提供的 RAID 容量計算器」來估算:https://www.synology.com/zh-tw/support/RAID_calculator

image-20200916002511759

測試平台

實驗過程中,我以同樣設備、同樣實驗條件皆跑過 3~5 次取平均數據。設備部分選擇 10G 網路搭配 TB3 避免造成傳輸瓶頸。
我們的測試項目有一般常見的 1. Benchmark 軟體、2. 常見的拖拉複製動作,以及 3.使用指令及專業工具複製這幾個項目

測試平台

  • MacBook Pro 2018 15″ 2019 i9 (macOS 10.15.5)
  • 透過 Thunderbolt 3 轉 AKiTiO T3-10G
  • Synology NAS DS1819+ 搭配 10G 網卡 E10M20-T1 (使用 8G 記憶體)直連
  • WD RED PLUS WD140EFFX 14T x 4

測試平台以常見的 MacBook Pro 15″ 為主,NAS 端則是選擇 Synology 家用 8 Bay 機種 DS1819+ 搭配 10GbE 網卡。硬碟部分為了不產生 bottleneck 也模擬最快的硬碟可能性,這次選擇 NAS 專用硬碟: WD RED PLUS 系列中最大容量 WD140EFFX 14TB 大硬碟來測試。

WD_007

▼ WD RED PLUS 14T WD140EFFX 採用 NASware3.0 技術,轉速為 5400 RPM Class,最高速可達 210 MB/s。

WD_009

Benchmark 評測軟體與方式

評測方式我以 Blackmagic Disk Speed Test / AJA System Test 兩套跨平台速度評測軟體做測試,兩者皆在 macOS 10.15 中掛載 10Gbps SMB 磁碟直接跑分。Blackmagic 以預設 5GB 大小測試。AJA Test 設定以 1G 及 64G 10 bit YUV UHD 大檔分別做測試,並記錄三次讀寫底下最佳表現的數據

截圖 2020-09-13 下午11.39.33

▼ 實際檔案傳輸測試則是掛載 10GbE SMB 資料夾並拖拉四個 10GbE 的藍光 MKV 檔(共計 40GB)測試並記錄傳輸時間,同時也以 iStat Menus 圖表觀察傳輸的最大速度

貼上的影像_2020_10_15_下午5_36


在以下個測試結果中,我們就這幾個組合來探討:

  • RAID 0 vs RAID 5 vs RAID 6
  • RAID 6 vs RAID 10
  • RAID 5 vs Synology SHR
  • RAID 5 vs RAID 6

RAID 0 vs RAID 5 vs RAID 6

Benchmark 總結果圖:

讀取表現
▼ RAID 0 / RAID 5 / RAID 6 的讀取在 benchmark 軟體上都差不多,主要是因為記憶體快取沒用盡的關係。如果測試大檔(如 AJA 64G 的測試)就可以看出實際的存取速度在組別間顯現出差異。趨勢也由 RAID 0 > RAID 5 > RAID 6,主要是因為 RAID 0 沒有安全機制並為序列寫入,因此效能表現最佳。不過即使 RAID 5 比不上 RAID 0,也還是有 5Gbps 的表現。

image-20201109230349727

寫入表現
image-20201109230418115

實際傳檔測試
▼ 當然跑跑 benchmark 軟體沒辦法瞭解實際情境,我也在 macOS 中以複製貼上至 SMB 磁碟來模擬傳檔測試,測試的檔案為四個剪輯過加起來剛好 40G 大小的 MKV 藍光 UHD 影片檔,測試一次傳四個,以及一次一個兩種情境,並以 iStat Menus 波形圖紀錄最高速度。

RAID 0 vs RAID 5 vs RAID 6 的結果也如 AJA 64G 測出來的趨勢相當,RAID 0 最快、RAID 5 次之(RAID 0 > RAID 5 > RAID 6)
RAID 0 在消耗完快取的表現也能達到 870 MB/s 的最大速度表現,幾乎吃滿了 10GbE 的速度。
而 4 顆硬碟之下的 RAID 5 表現大約約 600 MB/s,這點剛好可以以現今開始普及的高速網路(10GbE、5GbE、2.5GbE)來討論,

RAID 5 600 MB/s 的表現換算 4.8 Gbps 以現行 5G 網路來說很剛好,而即使是 RAID 6、SHR 等其他格式,也大約有接近 5Gbps 的水準,所以如果有預算考量的人也可以選擇 5 Gbps 的網卡選項。

image-20201110003918488

RAID 6 vs RAID 10

RAID 6 相對 RAID 10 較為安全一些,主要因為 RAID10 原理是先鏡射再分割資料,但是由於是分成兩組硬碟,所以如果你死的硬碟都在同一組,那就救不回來了。但相比之下 RAID 6 是將額外的空間當作奇偶效驗信息,所以你可以隨意死兩顆硬碟。

▼ 特別是在 AJA 64G 大檔上的讀取及寫入速度RAID 10 比 RAID 6 有寫入 2 倍、讀取 3 倍的速度提升,RAID 10 的優勢如此明顯也蠻意外的,甚至速度還比 RAID 5 還優,在這三者的選擇上就看你要選安全還是速度了

image-20201110003159459

  • 容量上:RAID 6 與 RAID 10 相等

  • 速度上:RAID 10 大勝 RAID 6(甚至優於 RAID 5)

  • 安全性上:RAID 6 比 RAID 10 稍好

RAID 5 vs Synology SHR (1)

SHR 是 Synology 自家推出的自動化磁碟陣列 (RAID) 管理系統
有兩種模式,SHR 與 SHR2。SHR 主要容量計算方式與 RAID 5 一樣為 N-1,另外 SHR 的特色就是可以方便的擴容硬碟(參考:https://www.synology.com/zh-tw/knowledgebase/DSM/help/DSM/StorageManager/storage_pool_expand_add_disk),所以對於新手來說還是個相對友善許多的 RAID 格式

當然就會有許多人好奇既然 SHR 與 RAID 5 容量定義上相仿,那 Synology SHR 和 RAID 5 效能上誰勝誰負?

▼ 寫入速度的部分 SHR 比 RAID5 有著些許小優勢,不過其實差異算是不大
image-20201110003314254

讀取速度的表現在 10GbE 測試之下 SHR 可以跑滿接近 950 MB/s 的表現,大檔(耗盡記憶體快取)的表現之下也有 500 MB/s 以上的表現,個人是覺得以測試結果而言 SHR 比 RAID 5 快了一些些,但表現上差距不大,選擇自己偏好的就可以了
image-20201110003327033

  • 容量上:SHR 與 RAID 5 相等
  • 速度上:SHR 小勝 RAID 5
  • 安全性上:相等
  • 彈性上:SHR 可調整性 > RAID 5

RAID 6 vs Synology SHR-2

而 Synology SHR-2 與 RAID 6 則是相仿,都是以額外兩顆硬碟作為奇偶效驗訊息,容量計算通常為 N-2 顆硬碟大小,相對 SHR1、RAID 5 較為安全。

寫入速度的表現,兩者相當,SHR-2 有比 RAID 6 稍快一些但不明顯。

image-20201110004555260

讀取速度則是兩者有明顯差異,RAID 6 比SHR-2 快上兩倍,另外以 CrystalDiskMark 測試也是有同樣趨勢(QD32 RAID 6:1084 MB/s vs SHR-2 814 MB/s),SHR2 在此種情境下會有讀取較慢的表現,不確定是不是官方這部分沒優化好。

image-20201110004646240

▼ 實際傳輸大檔的表現在兩者之間的差異不明顯,差距都在 10 秒內,令人匪夷

image-20201110004955112

  • 容量上:SHR2 與 RAID 6 相等
  • 速度上:依照不同情境有不同表現
  • 安全性上:相等
  • 彈性上:SHR2 可調整性 > RAID 6

RAID 5 vs RAID 6

RAID 5 與 RAID 6 一直是 4Bay 以上使用者相互比較的一個熱門重點,兩者最主要差異就是速度與安全性上多拿幾 Bay 空間來當作奇偶效驗信息的差異(另外也加入了類似的 SHR、SHR-2 作為參考)

▼ 實際測試 Blackmagic 的短暫寫入/讀取結果 RAID 6 竟然比 RAID 5 表現稍好,可能檔案媒體向性不同的寫入模式之下還是有不同的表現。但 AJA 64G 測試的部分則是符合我們既定的印象: RAID 5 的寫入速度優於 RAID 6、讀取也是 RAID 5 優於 RAID 6 。

image-20201110003410249

▼ 因此我們研究一下實際傳檔的寫入表現,如果我們實際傳一個 40G 的藍光大檔,就可以體現出 RAID 5 速度上的優勢了。
RAID 5 在時間表現上僅需 80 多秒,但 RAID 6 比之多花了約 40% 的時間,最大速度僅有 460 MB/s 的表現。RAID 5 則能表現到 600 MB/s。

image-20201110003940278

▼ 讀取部分在短暫寫入測試表現中會因為 NAS 記憶體快取的影響,表現上都差不多接近 10G 的極限值。但 AJA 64GB 大檔測試則是能測出真實速度,RAID 5 也如我們傳檔表現一樣比 RAID 6 多了 40 % 左右的速度(最右圖:465 MB/s vs. 320 MB/s)
image-20201110004049901

  • 容量上:RAID 5 比 RAID 6 多了 1 Bay 的空間可使用
  • 速度上:RAID 5 小勝 RAID 6
  • 安全性上:RAID 6 容錯程度比 RAID 5 多一槽機會

總而言之,這幾個比較組的研究著實有趣。比較意外的是 SHR-2 和 RAID 6 間的數據比較凌亂,看不出趨勢。其他都有如之前的觀念區是相仿。不過就結論老話一句,資料重要的話還是選 RAID 6 為主,要以速度為主可以考慮 RAID 0 或 RAID 5。

6 Comments

  1. 使用四顆硬盤比較對RAID6及SHR2不太公平, RAID6及SHR2最少六顆硬盤才能發揮其效益.

  2. 感謝實驗文,很有參考價值。最近購入 RS1221+ 還在調校,我是使用原廠 HAT5300 8T 硬碟 x4, RAID 10 的 BlackMagic 寫 482.2 MB/s, 讀 419.1 MB/s,比您測到的(寫 786 MB/s, 讀 1054 MB/s)低很多,在想是什麼原因。我目前只有原廠的記憶體 4G, 但測試時負載只有 20%,網路是原廠 10GbE 的網卡,沒有SSD快取。也許您可以給些建議?謝謝!

Gary 發表迴響 取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料