SSD陣列卡方案優化:考慮使用 RAID 50 替代 RAID 10
大家都知道 SSD 成本比較高,而不少用戶在考慮可用性時都會選用 RAID 10 作陣列,這樣無疑又增加了成本。然而 RAID 10 的可用性也并非******。為了能夠平衡可用性和成本,因此最近一直在研究性價比更高的 RAID 50,它提供了接近 RAID 10 的可用性并且接近 RAID 5 的成本,像是在高可用的 RAID 10 和低成本的 RAID 5 之間的取了一個平衡點。
為了能夠直觀了解不同 RAID 類型下的故障可用性,我們首先做個簡單的可用性分析(以 8 盤 RAID 10 的同等容量作對比):
RAID 50 中:4 塊盤組成單組 RAID 5,然后兩組 RAID 5 再組成 RAID 0 ***得到 8 塊盤的 RAID 50
案例分析:
- 第 1 塊盤的容錯概率都是 100%,可見磁盤陣列最基本的能力就是容錯,然而不同級別的陣列能夠提供的數據保護能力也是不同的;
- 從第 2 塊盤開始除了 RAID 6 能夠提供 100% 的故障可用性以外,其他包括 RAID 10 在內都不能提供***的解決方案。同時我們可以發現 RAID 5 的容錯能力是四者中最差的,但是要達到同樣容量所需要的盤數量也是最少的,如果故障運維較為及時的話 RAID 5 是一個性價比較高的方案,不然在***塊盤故障后至陣列修復期間如果發生第二塊盤故障就會導整個陣列故障(數據全部丟失),這就是風險所在;
- RAID 6 當然是較為可靠的方案,但是它要犧牲兩塊盤的容量并且性能也較差(后面有性能測試說明),所以要權衡性能和可用性;
- 當然重點還是 RAID 10 和 50:我們發現 50 在第二塊盤故障時的可用概率和 10 比較接近,由于上述案例中只有兩組 RAID 5 因此只能提供至最多兩塊盤的容錯,如果 RAID 5 的組數量更多的話能夠容錯的盤數也將更多,且可用概率也會更高。
我們以 9 塊盤 RAID 50(3 組 RAID 5)為例作分析(達到相同容量的 RAID 10 需要 12 塊盤):
再以 12 塊盤 RAID 50(4 組 RAID 5)為例作分析(達到相同容量的 RAID 10 需要 16 塊盤):
上面對比中 RAID 50 已經能夠容忍第 3 甚至第 4 塊盤的故障,只是可用性相比 RAID 10 低了些,但是兩者都不能達到***的 100%,所以權衡可用性和成本 RAID 50 還是有相當大的優勢。
接下來看看性能,為了能夠很好地分析性能,我們沿用了***組對比方案的作性能分析:
隨機讀分析:
理論上認為 R10 性能***,真實測試數據顯示 4K、8K 數據塊下 R5、R50、R6 的性能都要優于 R10;
當數據塊增大到 16K、32K 時,R10 的多盤優勢才被逐漸體現出來。
隨機寫分析:
4K 由于 R50、R5 由于有大量校驗計算一定程度上影響了性能,但隨著數據塊逐漸增大,盤數量的優勢也顯現出來。當數據塊達到和超過 8K 時,R50 性能全面超越了 R10;
R10 由于存在 R1 的寫同步問題,因此只有 4 塊盤在支撐并發寫,隨著數據塊的增大,R50 和 R5 的多盤性能優勢開始發揮。
混合隨機讀寫分析:
得益多盤和無校驗計算,混合讀寫 R10 領先;R50 其次,和 R10 相差 27%,性能也較為接近,R5 和 R50 性能為線性關系,R6 性能最差。
順序讀分析:
由于不存在校驗計算,順序讀性能基本上由盤的數量決定;R50 和 R10 性能也較為接近,同盤數的 R6 和 R50 性能相當,而盤數較少的 R5 性能相對前三者要弱一些,符合預期。至于為何 R10 性能無法線性增加,主要是因為陣列卡本身的性能限制。
順序寫分析:
順序寫 R5 被優化得***;R50 由于需要同時計算兩次校驗因此損失了一些性能,和 R10 性能相當,當數據塊達到 512K 時,多盤優勢進一步體現出來了,拉開了與 R10 的差距;R6 由于校驗和計算的實現較為復雜,順序寫性能也是最差的。
再來看看這些陣列方案的性能和容錯特性:
性能測試結論:
性能測試顯示,相同容量的 R50 和 R10 性能接近:其中小塊文件的隨機讀 R50 要全面好于 R10,隨機寫 4K 雖然 R50 和 R10 差距在 28%,但是塊增大后 R50 要全面優于 R10。順序讀寫方面,R50 和 R10 十分接近。
容錯方面,R50 接近 R10:第二塊盤容錯率 R50 十分接近 R10,兩者相差 30%。R10 的優勢主要是在有一定的概率提供第三、甚至第四塊磁盤的容錯率,但是考慮到并非 100% 容錯,因此從容錯角度來看 R50 雖然和 R10 有一些差距,但也已體現出較好的容錯率,至少優于 R5。而且 R50 搭配靈活,甚至可以指定 3 組 R5 以達到*** 3 塊磁盤的容錯;
成本方面,R50 有很大優勢:按這個配置計算 R50 只有 R10 的 3/4。
總結:
RAID 50 提供了接近 RAID 10 性能、可用性以及接近 RAID 5 成本的特性,具有較好的整體性價比優勢,所以考慮使用 RAID 50 替換 RAID 10 把!