RAID 5 效能數據,用 Intel VROC 測試給你看

磁碟陣列( RAID ),就是提供了容錯或加速的功能。尤其是在系統中搭配不同類型的磁碟陣列,可以得到不同的功效。而【 RAID 5 】,就是具備加速( RAID 0 )與容錯( RAID 1 )功能於一身,但是最少需要 3 顆硬碟才能實現,最多可以容許壞掉 1 顆硬碟。

在這一篇文章中,我們可以看到使用 Intel VROC 這一個主機板 RAID,將四顆 HDD 建立 RAID 5 的完整【 Stripe Size 】vs【 Throughput】測試結果。軟體設定參數如下:

  • Stripe Size: 4KB, 8KB, 16KB, 32KB, 64KB, 128KB
  • Data Size: 4KB, 16KB, 64KB, 256KB, 1024KB
  • QD: 1, 2, 4, 8, 16, 32
  • 詳細的測試條件、硬體配備、名詞解釋:

目錄:

01-Intel-VROC-RST-RSTe-的差異-960
Intel VROC / RST / RSTe 的差異

哪種硬碟適合做 RAID 5 呢?

關於這一點的確是眾說紛紜,而且已經是一個公說公有理,婆說婆有理的問題了,我覺得問題的主因應該是每個人應用的狀況不同所造成的。

對於公司行號,本來就應該使用企業級硬碟、硬體式 RAID CARD 、異地備份…等方式,來達到資料安全性的目的,但是這就是用錢砸出來的架構。然而,對於一般消費者而言,考慮的是 CP 值、低成本,難道就無法享受RAID的好處嗎?

基本上,要把本機資料跟備份區資料完全分開來存放。所以,一般消費者假使不用企業級硬碟,又要玩 RAID 的話,備份區資料當然是燒成DVD保存或放雲端或行動硬碟或 1 Bay/2Bay NAS 或另一台電腦….。但是:

  • 燒成DVD保存
    • 資料量那麼大,要燒多少片化多少時間才能完成呢?所以,我覺得費時費力,這一點不可行。
  • 放雲端
    • Google Drive 免費容量才 15GB ,多的容量就要付費。假使要額外付費的話,乾脆不要建RAID好了;而且又要花一筆費用, CP 值又變差了,不是嗎?
  • 行動硬碟
    • 好像可行,但是可以的話,最好避免。畢竟行動硬碟的壽命通常比桌上型硬碟短,而且發生意外掉落、震動、斷電、資料傳輸中斷….的風險,比較高也無法預期或避免。
  • NAS 或電腦
    • 我本身是使用另一台電腦,定期做資料同步備份。而兩台電腦使用的硬碟,都是當時市場上主流銷售的消費級硬碟。這種作法用了好長一段時間了,覺得蠻適合我的狀況,所以也就沒有用其他專家的建議,升級成企業級硬碟或硬體式 RAID CARD 了。

總之,在觀念上要知道RAID是一種資料保護的技術,而不是設計來解決資料備份的問題。所以,在使用方面上萬一有硬碟壞掉了,資料還是可以繼續存取,讓你有機會把資料就回來,而不像單一顆硬碟的話,壞掉了資料就真的全部不見了!

大容量硬碟適合建 RAID 5 嗎?

當硬碟同時使用一段時間後,很容易會一個接一個的壞掉,這種現象都發生在企業級硬碟與消費級硬碟。所以,最好是在不同時間點或同時間不同通路,購買硬碟來使用。

怎麼挑選硬碟容量呢?也許你有聽過RAID5重建的時間好久!其實,重建時間取決於RAID容量的大小。舉個例子來說明,假設單一顆硬碟容量 4TB ,使用 3 顆建RAID5,那麼總容量就是 8TB 。對比於單一顆硬碟容量 2TB ,同樣使用 3 顆,那麼總容量就是 4TB 。

所以,8TB 容量的重建時間當然會比 4TB 容量還要久很多,而在重建的過程當中,假使又發生了第 2 顆硬碟壞掉、電腦電源中斷、主機板/記憶體/任何零件故障…等情況,當然就是造成資料完全毀損的結果。

因此,我會傾向主流的小容量為主,畢竟目前的主機板很容易找到 6 或 8 個 SATA 接頭與 M.2 插槽。所以,想要更大容量的話,也許可以考慮建兩組RAID5在系統中,而每一組RAID由 3 顆以上的硬碟組成,這樣子也是一個方法。

當然也是可以使用大容量硬碟來建立RAID5,不過,最好是定期將資料備份到另一個裝置上,以免有一天在重建RAID的時候,發生悲劇了。

總之,使用大容量硬碟組 RAID ,安全性會比小容量硬碟低;硬碟顆數多的RAID,也是比顆數少的風險高。因為,在重建時要算的資料量會更大,導致重建的時間需要更久,最終風險性也相對提高很多。

根據大家的經驗,使用RAID5的話,硬碟顆數最好不要超過 10 顆,建議是 4 到 6 顆就好了。假使使用越多顆硬碟的話,相對的,硬碟品質就需要越好!

難道 Raid 5 的重建成功機率很低嗎?

相信有些人有看過網路上的文章,某論壇說四顆 4TB 硬碟,重建RAID5的失敗機率是 72.6%;而國外的一篇文章( RAID array failure probabilities )卻說: 在3年內,假使是因為硬碟故障,導致整個 RAID 重建失敗的機率是 0.000105%。兩篇文章的結論也差太多了吧!

一篇分析的前提是以硬碟的 URE ( uncorrectable read error )的論點來分析,而得到重建失敗率是72.6%;另一篇分析的前提是以硬碟的 MTBF ( Mean Time Between Failure,平均故障間隔時間 ),所估出來的數字。倒底哪一個分析比較合理呢?

其實,像這種太深奧的理論分析,就交給專家去探討就好了,一般消費者就拿結果論來判斷兩篇文章的結論就可以了。以當今的電腦技術:

  • Intel 9代/10代/11代平台,有沒有提供主機板 RAID 呢?
    • 當然有
  • 雲端儲存企業是不是繼續使用 RAID 的技術,提高資料安全性呢?
    • 至少是這樣,到目前還沒看到哪家大企業使用別種已經商業化的技術,取代 RAID
  • RAID controller vendors( Boardcom, Microchip)有消失嗎?
    • 市面上硬體 RAID CARD 使用的控制器,都是這兩家廠商設計的,還沒聽說要關閉產品線

所以,重建RAID5的失敗機率應該不會是 72.6% 那麼高吧!!!否則,我們日常使用雲端服務的個人資料,三不五時就遺失了,不是嗎?

Intel 難道還會持續提供主機板 RAID 的功能,讓消費者使用嗎?一個不成熟的技術或失敗的技術,絕對是會影響商譽的。

Boardcom, Microchip 養了那麼多工程師,假使品牌廠商或終端消費者都不買單的話,應該早就虧損連連了。

因此,我個人猜測RAID5這個技術,基本上是沒問題的,會發生重建失敗的結果,大部分都是人員因素造成的,或者是上一段提到的,RAID容量太大,重建時間太久,導致過程中風險變高所造成的。

完整 Intel VROC HDD RAID 5 效能數據

有了以上的說明之後,相信對於如何建立RAID的原則,會比較清楚一些。接著,就讓我們來看完整的測試數據,測試結果會依序分成 4 個部分:

  1. Sequential Read
  2. Sequential Write
  3. Random Read
  4. Random Write

每一張圖表當中,黑色虛線是原本單一顆 HDD 的讀寫結果,而圖中有顏色的實線就是不同 Stripe Size 所產生的讀取速度。其中:

  • X 軸: QD( Queue Depth )
  • Y 軸: 速度,單位是 MB/s

以下的不專業測試,測試數據不代表 Intel VROC 可以呈現的最佳結果,僅是探討在相同條件下,不同軟體參數與 HDD RAID5 讀寫速度的關係!

Intel VROC HDD Sequential Read 數據

01 Intel VROC 主機板RAID, HDD, Sequential Read, RAID 5 performance, Data Size=4K
圖1、Intel VROC 主機板RAID, HDD, Sequential Read, Data Size=4K
02 Intel VROC 主機板RAID, HDD, Sequential Read, RAID 5 performance, Data Size=16K
圖2、Intel VROC 主機板RAID, HDD, Sequential Read, Data Size=16K
03 Intel VROC 主機板RAID, HDD, Sequential Read, RAID 5 performance, Data Size=64K
圖3、Intel VROC 主機板RAID, HDD, Sequential Read, Data Size=64K
04 Intel VROC 主機板RAID, HDD, Sequential Read, RAID 5 performance, Data Size=256K
圖4、Intel VROC 主機板RAID, HDD, Sequential Read, Data Size=256K
05 Intel VROC 主機板RAID, HDD, Sequential Read, RAID 5 performance, Data Size=1024K
圖5、Intel VROC 主機板RAID, HDD, Sequential Read, Data Size=1024K

Intel VROC HDD Sequential Write 數據

06 Intel VROC 主機板RAID, HDD, Sequential Write, RAID 5 performance, Data Size=4K
圖6、Intel VROC 主機板RAID, HDD, Sequential Write, Data Size=4K
07 Intel VROC 主機板RAID, HDD, Sequential Write, RAID 5 performance, Data Size=16K
圖7、Intel VROC 主機板RAID, HDD, Sequential Write, Data Size=16K
08 Intel VROC 主機板RAID, HDD, Sequential Write, RAID 5 performance, Data Size=64K
圖8、Intel VROC 主機板RAID, HDD, Sequential Write, Data Size=64K
09 Intel VROC 主機板RAID, HDD, Sequential Write, RAID 5 performance, Data Size=256K
圖9、Intel VROC 主機板RAID, HDD, Sequential Write, Data Size=256K
10 Intel VROC 主機板RAID, HDD, Sequential Write, RAID 5 performance, Data Size=1024K
圖10、Intel VROC 主機板RAID, HDD, Sequential Write, Data Size=1024K

Intel VROC HDD Random Read 數據

11 HDD, Random Read,RAID效能, Data Size=4K
圖11、Intel VROC 主機板RAID, HDD, Random Read, Data Size=4K
12 HDD, Random Read,RAID效能, Data Size=16K
圖12、Intel VROC 主機板RAID, HDD, Random Read, Data Size=16K
13 HDD, Random Read,RAID效能, Data Size=64K
圖13、Intel VROC 主機板RAID, HDD, Random Read, Data Size=64K
14 HDD, Random Read,RAID效能, Data Size=256K
圖14、Intel VROC 主機板RAID, HDD, Random Read, Data Size=256K
15 HDD, Random Read,RAID效能, Data Size=1024K
圖15、Intel VROC 主機板RAID, HDD, Random Read, Data Size=1024K

Intel VROC HDD Random Write 數據

16 HDD, Random Write,RAID效能, Data Size=4K
圖16、Intel VROC 主機板RAID, HDD, Random Write, Data Size=4K
17 HDD, Random Write,RAID效能, Data Size=16K
圖17、Intel VROC 主機板RAID, HDD, Random Write, Data Size=16K
18 HDD, Random Write,RAID效能, Data Size=64K
圖18、Intel VROC 主機板RAID, HDD, Random Write, Data Size=64K
19 HDD, Random Write,RAID效能, Data Size=256K
圖19、Intel VROC 主機板RAID, HDD, Random Write, Data Size=256K
20 HDD, Random Write,RAID效能, Data Size=1024K
圖20、Intel VROC 主機板RAID, HDD, Random Write, Data Size=1024K

結論

大家都知道 RAID 5 的特性就是:讀快寫慢。所以,從圖 6 – 圖 10 與圖 16 – 圖 20,可以印證寫入速度真的不如單顆硬碟。

另外一點,不知道為什麼 Intel 要將預設的 Stripe Size 設定在 64 ,因為從圖 1 – 圖 5 與圖 11 – 圖 15 ,可以明顯看到 Stripe Size = 128KB 的時候,讀取速度幾乎都是最好的狀態。

完整 Intel VROC RAID 0/1/5/10 的測試文章連結: