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