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