SSD陣列卡方案優化:考慮使用RAID 50替代RAID 10


最近一直在研究RAID 50,因為犧牲一半的容量的RAID 10代價實在太大了,而且它提供的可用性也並不是百分百的,我們首先來看下RAID 10的可用性分析:

以同等容量的不同RAID方式作為案例分析:

  8盤RAID 10 6盤RAID 50 5盤RAID 5 6盤RAID 6
第一塊盤故障后可用概率 100% 100% 100% 100%
第二塊盤故障后可用概率 6/7 3/5 0% 100%
第三塊盤故障后可用概率 4/6 0% 0% 0%
第四塊盤故障后可用概率 2/5 0% 0% 0%

RAID 50中:4塊盤組成單組RAID 5,然后兩組RAID 5再組成RAID 0最后得到8塊盤的RAID 50

案例分析:

第一塊盤的容錯概率都是100%,可見磁盤陣列最基本的能力就是容錯,然而不同級別的陣列能夠提供的數據保護能力也是不同的;

從第二塊盤開始除了RAID 6能夠提供100%的可用性以外,其他包括RAID 10在內都不能提供完美的解決方案。同時我們可以發現RAID 5的容錯能力是最弱的,但是要達到同樣容量所需要的盤數量也是最少的,如果故障運維較為及時的話,RAID 5是一個非常經濟的方案,不然在第一塊盤故障期間再次發生第二塊盤故障就會導致數據丟失,這就是風險所在;

RAID 6當然是較為可靠的方案,但是它要犧牲兩塊盤的容量並且性能較差,所以要權衡性能和可用性;

當然重點還是RAID 10和50,我們發現50在損壞第二塊盤時的可用概率和10比較接近,如果RAID 5組的數量更多的話,可用性概率將會更高,我們以9塊盤RAID 50為例,要達到相同容量RAID 10需要12塊盤:

  12盤RAID 10 9盤RAID 50
第一塊盤故障后可用概率 100% 100%
第二塊盤故障后可用概率 10/11 6/8
第三塊盤故障后可用概率 8/10 3/7
第四塊盤故障后可用概率 6/9 0%

50已經能夠提供第三塊盤的容錯,只是相比10概率更低些,但是兩者都不能達到完全的100%,所以權衡成本和可用性50還是有一定的優勢。接下來看看性能。

SSD成本較高,不少用戶為了考慮可用性都會選用RAID 10的方式作陣列,這樣無疑又增加了成本,為了能夠很好地分析性能,我們沿用了第一組對比方案的作性能分析:

Intel S3500 800G SSD 8p RAID 10 6p RAID 50 5p RAID 5 6p RAID 6
塊大小 隊列深度 IOPs MBPs IOPs MBPs IOPs MBPs IOPs MBPs
隨機讀(4KB 8KB 16KB 32KB)
4K 32 96716 396 100630 412 105939 433 105278 431
8K 32 96003 786 99199 812 103196 845 103059 844
16K 32 94725 1551 94827 1553 91758 1503 96595 1582
32K 32 83115 2723 66786 2188 56637 1855 66391 2175
隨機寫(4KB 8KB 16KB 32KB)
4K 32 20220 82 15658 64 11602 47 10579 43
8K 32 12306 100 14157 115 11561 94 9413 77
16K 32 4856 79 8072 132 7426 121 6473 106
32K 32 1856 60 2642 86 1631 53 1999 65
4KB混合隨機讀寫(30%寫)
4K 32 46716 191 36758 150 30739 125 28566 117
順序讀(128KB 256KB 512KB)
128K 32 20751 2719 20013 2623 18330 2402 20505 2687
256K 32 10505 2753 9829 2576 8736 2290 9941 2605
512K 32 5188 2720 4813 2523 4371 2291 4956 2598
順序寫(128KB 256KB 512KB)
128K 32 5162 676 4660 610 7630 1000 2460 322
256K 32 2426 635 1985 520 2208 578 980 256
512K 32 1169 612 1373 719 2267 1188 1134 594

隨機讀分析:

理論上認為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由於校驗和計算的實現較為復雜,順序寫性能也是最差的。

然后我們再來看看這些陣列方案的特性:

參數特性 8p RAID 10 6p RAID 50 5p RAID 5 6p RAID 6
理論讀並發數 8塊盤 6塊盤 5塊盤 6塊盤
理論寫並發數 4塊盤 6塊盤 5塊盤 6塊盤
IO延遲來源 RAID 1寫同步 2組RAID 5寫校驗 1組RAID 5寫校驗 1組RAID 6寫校驗
         

測試結論:

性能測試顯示,相同容量的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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM