一般來說,擁有 4 顆以上硬碟的話,最好優先考慮使用 RAID 10 ,畢竟讀寫速度是比 RAID 5 來的優異。除非是有預算限制、可用容量考量,才會考慮使用 RAID 5 。在這篇文章中,會比較兩種 RAID 的使用時機、實際考量與 Intel VROC 建立 RAID 10 的讀寫速度。完整【 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
- 詳細的測試條件、硬體配備、名詞解釋:
- 請參考上一篇 Intel VROC 測試數據精簡版懶人包

RAID 5 vs RAID 10,哪一個適合你?
兩個 RAID Types 並沒有哪一個是最好的,而是要考慮哪一種 RAID 比較適合你的應用。對於RAID5而言,假使其中一顆硬碟壞掉的話,需要透過重建的過程,將所有資料還原回去;然而對於RAID1而言,假使有一顆硬碟壞掉的話,就只是從備用的硬碟中,將資料複製到新的硬碟上面而已。
我想大家都知道,RAID5的技術中,要重建完整資料的話,是需要從其他剩餘的正常硬碟中,透過檢查碼與資料的資訊,將遺失的資料計算還原回來。而這一個行為,是相當耗時的一件事,並且對於電腦而言, CPU 會處在高使用率的狀態,所以系統容易發生當機或升高其他不預期意外的風險。
但是另一點,RAID5相對於RAID10而言,的確是存在較高的儲存容量。然而,RAID10就需要更多預算使用更多顆硬碟,才能達到相同的儲存容量。
所以,在決定建立RAID5還是RAID10之前,先問自己你的使用情境到底是比較像以下的哪一種呢?
架站需求
對於架站需求的使用者,RAID5決定是比較適合的!因為RAID5能夠在儲存容量、讀寫效能、安全性、容錯方面…等,整體方面比較能夠取得平衡點。
極度重視讀寫效能
對於讀寫速度有特別要求的人而言,RAID10是首選!因為它並不需要計算檢查碼、也不會讓系統處在高負載狀態下進行資料重建,衍伸出不預期的意外風險。而且,理論上RAID10的讀取速度比RAID5多一倍。
快速資料重建
對於需要在短時間內,完成資料重建的話,RAID10是首選!因為RAID5須要花長時間,計算檢查碼後,將所有資料還原回來。
重視 CP 值
對於預算受限,需要做出最經濟效益的RAID,那麼RAID5是首選!因為RAID10的儲存容量,只有總硬碟容量的一半而已(假設所有硬碟的容量都相同);相對於RAID5的話,儲存容量會是總硬碟容量的 2 / 3 或 3 / 4 …,取決於使用的硬碟顆數。
資料庫應用
對於有資料庫應用的人而言,RAID10是首選!因為它具備較好的讀寫效能與資料安全性,容錯能力高於RAID5。
RAID 10 的測試數據
看完以上的實例說明後,相信大家對於如何決定建立RAID5或RAID10,應該都比較清楚有哪些方面需要考慮了。接下來,就讓我們來看完整的測試數據,結果會依序分成 4 個部分:
- Sequential Read
- Sequential Write
- Random Read
- Random Write
每一張圖表當中,黑色虛線是原本單一顆 HDD 的讀寫結果,而圖中有顏色的實線就是不同 Stripe Size 所產生的讀取速度。其中:
- X 軸: QD( Queue Depth )
- Y 軸: 速度,單位是 MB/s
本篇文章的不專業測試數據,並不表示是 Intel VROC 可以呈現的最佳結果。只是想了解在相同的條件下,使用不同的軟體參數,看看 HDD RAID10 的讀寫速度變化!
RAID 10 HDD Sequential Read 數據





HDD Sequential Write 數據





HDD Random Read 數據





HDD Random Write 數據





Intel VROC HDD RAID 10 結論
看完以上測試結果後,假使比較注重 Sequential Read/Write 的話, Stripe Size 應該要設定 64KB ,才是最適當的選擇。
假使比較注重 Random Read/Write 的話, Stripe Size 應該要設定 128KB ,才是最適當的選擇。不過,憑良心講, Random Read/Write 的數據,以速度的絕對值來看的話,幾乎都不會差距太多。
所以,我還是傾向將 Stripe Size 設定為 64KB。
完整 Intel VROC RAID 0/1/5/10 的測試文章連結:
- 使用 HDD 的主機板 RAID 0效能( Stripe Size = 4KB ~ 128KB )
- 使用 HDD 的主機板RAID 1效能
- 使用 HDD 的主機板RAID 5效能( Stripe Size = 4KB ~ 128KB )
- 使用 HDD 的主機板RAID 10效能( Stripe Size = 4KB ~ 128KB )
- 使用 SSD 的主機板RAID 0效能( Stripe Size = 4KB ~ 128KB )
- 使用 SSD 的主機板RAID 1效能
- 使用 SSD 的主機板RAID 5效能( Stripe Size = 4KB ~ 128KB )
- 使用 SSD 的主機板RAID 10效能( Stripe Size = 4KB ~ 128KB )