RAID-6已經(jīng)走來(lái)了
SATA硬盤(pán)的密度非常高,但是錯(cuò)誤率也比較高,性能比較低,RAID-6設(shè)計(jì)很快就能夠解決這些問(wèn)題,使其能夠適用于高端和高性能要求的環(huán)境之中。
RAID-6變得越來(lái)越流行,所以在評(píng)估RAID控制器的時(shí)候,除了考慮其他一些因素,最好還要考慮一下它和RAID-5的異同。
找到問(wèn)題所在
如下圖所示,讀取單一驅(qū)動(dòng)器的時(shí)間隨著時(shí)間的推移出現(xiàn)了明顯的增長(zhǎng):
造成這種情況的主要原因是磁盤(pán)驅(qū)動(dòng)器的密度的增長(zhǎng)遠(yuǎn)比性能的提升要快。從1991年以來(lái),企業(yè)磁盤(pán)(SCSI和FC)已經(jīng)從500MB發(fā)展到了300GB,增長(zhǎng)了600倍。而在同一時(shí)期內(nèi),最高性能僅僅從4MB/s提高到了125MB/s,只增長(zhǎng)了31.25倍。如果磁盤(pán)驅(qū)動(dòng)器的性能可以和密度同步提高的話,我們就可以擁有2.4GB/s性能的磁盤(pán)驅(qū)動(dòng)器了。這聽(tīng)起來(lái)很不錯(cuò),不是么?但是不太可能在短期內(nèi)實(shí)現(xiàn)。
顯而易見(jiàn),重建RAID LUN(Logical Unit Number,邏輯單元號(hào))的時(shí)間顯著地增加了。另一個(gè)值得關(guān)注的問(wèn)題是:讓我們回到1996年,當(dāng)時(shí)即將推出1Gb半雙工的FC。磁盤(pán)驅(qū)動(dòng)器的傳輸速度是16MB/s,密度為9GB。從1996年到今天,驅(qū)動(dòng)器的最大性能增長(zhǎng)了7.8倍,而密度卻增長(zhǎng)了33.33倍,單個(gè)驅(qū)動(dòng)器只增長(zhǎng)了4倍。是的,我們實(shí)現(xiàn)了全雙工傳輸,但是在1996年,單一FC通道最多可以支持6.25個(gè)驅(qū)動(dòng)器全速讀寫(xiě)。今天的能支持的數(shù)量是3.2。我認(rèn)為企業(yè)級(jí)驅(qū)動(dòng)器還沒(méi)有任何顯著的改變,能夠扭轉(zhuǎn)這種趨勢(shì)。使用SATA驅(qū)動(dòng)器只是更加惡化了這一問(wèn)題,因?yàn)轵?qū)動(dòng)器密度更大了,但是傳輸速度卻在下降。我相信這將是RAID-6的推動(dòng)因素之一,因?yàn)殡S著密度的增加,RAID-5丟失數(shù)據(jù)的風(fēng)險(xiǎn)也明顯地增加了。
RAID控制器性能
既然如此,我們可以預(yù)言,至少在可以預(yù)見(jiàn)的未來(lái),對(duì)Fibre Channel(光纖通道,F(xiàn)C)來(lái)說(shuō),RAID-6將變得更普及,因?yàn)槭褂幂^慢接口的、密集的驅(qū)動(dòng)器重建需要的時(shí)間越來(lái)越長(zhǎng)。而且SATA驅(qū)動(dòng)器的廣泛使用,也會(huì)推動(dòng)RAID-6的普及,直到有更好的技術(shù)出現(xiàn),取代RAID-6為止。
問(wèn)題是RAID-6需要控制器能夠提供更多的資源,來(lái)計(jì)算附加奇偶,并且需要更大的帶寬來(lái)進(jìn)行寫(xiě)操作,對(duì)于一些廠商來(lái)說(shuō),還需要更大的帶寬來(lái)讀取更多的奇偶(parity)。所需要的帶寬大小取決于RAID-6的配置。例如,如果是8+1 RAID-5,需要9個(gè)硬盤(pán)的帶寬;而如果是RAID-6 8+2的話,需要的帶寬就增加了11%,也就是10個(gè)硬盤(pán)的帶寬。如果是4+1 RAID-5,需要5個(gè)硬盤(pán)的帶寬,但是如果是RAID-6 4+2的話,所需要的帶寬就增加了20%,也就是6個(gè)硬盤(pán)的帶寬。如果只是有一個(gè)LUN的帶寬需求增加了20%的話,那么我相信幾乎所有的RAID控制器都能夠應(yīng)付,但是如果系統(tǒng)中所有的LUN都是RAID-6的話,情況會(huì)怎樣?
你的控制器是否能夠有11%或者20%冗余的計(jì)算資源來(lái)計(jì)算多出來(lái)的奇偶?而且控制器是否能夠提供足夠的帶寬支持所有這些硬盤(pán)?為RAID增加改造的潛力,你也許會(huì)讓RAID控制器運(yùn)行的速度超過(guò)設(shè)計(jì)速度。我認(rèn)為對(duì)于每個(gè)考慮使用RAID-6的用戶來(lái)說(shuō),理解RAID控制器的設(shè)計(jì)問(wèn)題都非常重要,這能夠幫助他們更好地理解購(gòu)買什么樣的設(shè)備才能夠更好地滿足自己的性能要求。我不想再詳細(xì)講述FC和SATA硬盤(pán)的差別,因?yàn)槲乙呀?jīng)在以前的文章里介紹過(guò)這些內(nèi)容了
檢查RAID性能
因?yàn)榻^大部分中端RAID廠商都是按照RAID-5,而不是RAID-6的性能要求設(shè)計(jì)RAID控制器的,所以為了確保采購(gòu)的RAID控制器能夠達(dá)到RAID-6的性能要求,用戶需要考慮RAID控制器的兩方面的問(wèn)題:一是計(jì)算奇偶的處理器的性能,另一個(gè)是后端通道的性能。
處理器的性能比較容易評(píng)估。假設(shè)廠商取1個(gè)或者最多4個(gè)磁盤(pán)托架。開(kāi)始之前,必須知道后端連接的數(shù)量和這些連接的性能。例如,如果有4個(gè)4Gb的FC后端連接,就需要為這四條連接配備4個(gè)FC HBA,以及一個(gè)或多個(gè)能夠充分利用這些HBA的系統(tǒng)。必須確保后端的性能(RAID控制器到磁盤(pán)托架的性能)能夠和前端的性能(從服務(wù)器到RAID的性能)相匹配。創(chuàng)建一個(gè)4+1 LUN和一個(gè)4+2 LUN,并使用可以寫(xiě)入原設(shè)備的、多線程的程序,例如從 #p#page_title#e#ioperformance.com下載的xdd。對(duì)4+1的寫(xiě)入應(yīng)該和對(duì)4+2的寫(xiě)入是一樣的。
現(xiàn)在對(duì)你所有的LUN進(jìn)行同樣的操作,并且充分利用其全部的性能。假設(shè)有以下兩種方法。采用LUN中磁盤(pán)驅(qū)動(dòng)器最外圈的柱面以獲得最大性能,并且向廠商咨詢磁盤(pán)托架的最大性能。在這兩個(gè)值中,取較低的一個(gè)值。對(duì)你所擁有的所有的LUN重復(fù)進(jìn)行8+1和8+2操作,使用其全部的性能。對(duì)于非常重視奇偶性能的寫(xiě)操作來(lái)說(shuō),性能也應(yīng)該是一樣的。如果不是這樣,那么奇偶處理器速度就不夠快,或者是RAID的后端性能設(shè)計(jì)不好,也可能是兩者兼而有之。
既然高性能處理器性價(jià)比非常高,要確定是否是處理器的問(wèn)題非常困難,在現(xiàn)在這個(gè)年代,幾乎是不可能的。另一方面,RAID控制器后端的設(shè)計(jì)非常復(fù)雜,所以它通常是問(wèn)題所在。今天,絕大部分的RAID控制器都支持使用一個(gè)FC fabric連接把每個(gè)磁盤(pán)托架連接起來(lái),在托架內(nèi)部可能使用FC-AL(光纖通道仲裁環(huán)路)、SATA或者SAS連接。需要理解的第一個(gè)問(wèn)題是從RAID控制器到主機(jī)的性能和從RAID控制器到緩存之間的性能比。對(duì)于中端控制器,這個(gè)比例通常在1:1到1:4之間,有時(shí)候會(huì)更高(從控制器到磁盤(pán)托架之間的帶寬更高)。請(qǐng)注意,如果你使用的是RAID-6的話,就需要更多的帶寬,這是因?yàn)橐獙?duì)第二個(gè)奇偶驅(qū)動(dòng)器進(jìn)行寫(xiě)操作,對(duì)于一些廠商的產(chǎn)品來(lái)說(shuō),可能還有讀操作。
看看下面這個(gè)例子。比如說(shuō),你在前端擁有4個(gè)4Gb的FC,以及6個(gè)從緩存到磁盤(pán)托架的通道(1到1.5)。
上面描述的RAID控制器將為這4個(gè)4+2 LUN提供最大的帶寬。這一點(diǎn)無(wú)所謂好壞,但是卻說(shuō)明了一個(gè)事實(shí):RAID-6比RAID-5所耗占的帶寬更多。一些廠商為了解決讀取的帶寬問(wèn)題,采用了不讀取所有奇偶驅(qū)動(dòng)器的做法,所以就只剩下寫(xiě)的問(wèn)題了;其他一些廠商卻采取了其他的方法。當(dāng)然,最糟糕的做法是流式(streaming)I/O,但是同樣的問(wèn)題也存在于IOPS之中,只不過(guò)IOPS的問(wèn)題是尋址和響應(yīng)時(shí)間,而不是帶寬。
事先做好計(jì)劃
RAID-6比RAID-5需要更多的帶寬,并且能夠影響RAID控制器的性能。在前文所舉的例子中,寫(xiě)入的問(wèn)題不僅僅出現(xiàn)在用戶從主機(jī)上進(jìn)行寫(xiě)入的時(shí)候,控制器需要重建一個(gè)LUN的時(shí)候也可能遇到這種問(wèn)題。了解這一點(diǎn),對(duì)于理解RAID控制器的后端性能,以及相關(guān)的、計(jì)劃中的LUN配置非常重要。尤其對(duì)于RAID-6來(lái)說(shuō)更是如此。對(duì)中端產(chǎn)品來(lái)說(shuō),從緩存到主機(jī)的控制器性能通常會(huì)低于從緩存到磁盤(pán)的控制器性能。目前,對(duì)于企業(yè)產(chǎn)品來(lái)說(shuō),情況亦是如此。
該文章的主要目的在于讓客戶在購(gòu)買任何一款RAID控制器之前,對(duì)設(shè)置好的配置有所了解,同時(shí)對(duì)主機(jī)需要的I/O有大概的估計(jì),增加重建的潛力。既然RAID-6需要在緩存與磁盤(pán) tray 與RAID-5之間占用更多的帶寬,在考慮使用RAID-6技術(shù)的時(shí)候,也需要認(rèn)真考慮所需要的配置。