這種情況的主要原因是磁盤驅(qū)動(dòng)器的密度比起磁盤性能的發(fā)展要快許多。對(duì)企業(yè)級(jí)磁盤(SCSI和光纖通道驅(qū)動(dòng)器)來說,從1991年以來,其容量已經(jīng)從500MB發(fā)展到300GB,增加了600倍。在同一時(shí)期,最高性能從4MB/秒發(fā)展到125MB/秒,增加31.25倍。如果磁盤性能的增長速度能夠和磁盤密度一樣的話,那么驅(qū)動(dòng)器的讀寫速率要達(dá)到大約2.4GB/秒。這是一個(gè)很大的數(shù)字,但實(shí)現(xiàn)它卻并不令人樂觀。
因此,現(xiàn)在很清楚了,重建RAID LUN的所需時(shí)間在迅速增加。還有一點(diǎn)要考慮:舉個(gè)例子,回到1996年,當(dāng)時(shí)1Gb半雙工光纖通道剛剛出現(xiàn),磁盤驅(qū)動(dòng)器的傳輸速率是16MB/秒,磁盤密度是9GB。從1996年至今,驅(qū)動(dòng)器的最高性能增長了7.8倍,而磁盤密度則增長了33.33倍。但是在1996年,一條光纖通道的通道最多可以支持6.25個(gè)驅(qū)動(dòng)器全速讀寫。而現(xiàn)在,這個(gè)數(shù)字是3.2個(gè)?,F(xiàn)在的企業(yè)級(jí)驅(qū)動(dòng)器還沒有任何明顯進(jìn)展可以改變這種趨勢(shì)。增加SATA驅(qū)動(dòng)器只會(huì)使問題更加惡化,因?yàn)檫@樣驅(qū)動(dòng)器的密度就更高,而傳輸速率更低。相信這也是RAID-6的一個(gè)驅(qū)動(dòng)因素,因?yàn)殡S著密度增加,RAID-5的數(shù)據(jù)損失風(fēng)險(xiǎn)也越大。
RAID控制器性能
有鑒于上述這些理由,我們可以清楚的看到,至少在可預(yù)見的未來,對(duì)于光纖通道,由于密度越來越高而接口越來越慢的磁盤所導(dǎo)致的重建時(shí)間增加,RAID-6將更加普遍。加上SATA驅(qū)動(dòng)器的使用,很清楚,RAID-6已成趨勢(shì),除非其他人發(fā)明出更好的東西。
問題是RAID-6要求更多的控制器資源來計(jì)算額外的奇偶校驗(yàn),用更多的帶寬來寫奇偶校驗(yàn),而且一些廠商的RAID-6要讀額外的奇偶校驗(yàn)。需要多少帶寬取決于RAID-6的設(shè)置。例如,對(duì)于8+1 RAID-5,你需要9個(gè)驅(qū)動(dòng)器的帶寬;對(duì)于RAID-6 8+2,你需要多11%的帶寬,或10個(gè)驅(qū)動(dòng)器的帶寬。對(duì)4+1 RAID-5,你需要5個(gè)驅(qū)動(dòng)器的帶寬,但是對(duì)RAID-6 4+2,你需要多20%的帶寬,或6個(gè)驅(qū)動(dòng)器的帶寬。也就是說每個(gè)邏輯單元需要多20%的帶寬,當(dāng)然,幾乎所有RAID控制器都能做到這一點(diǎn),但是如果所有系統(tǒng)內(nèi)的邏輯單元都是RAID-6呢?
你的控制器是否有多11%或20%的計(jì)算能力來計(jì)算奇偶校驗(yàn),而且還有更多的控制器帶寬來給所有的磁盤托架嗎?你需要擁有應(yīng)付RAID重建的潛在能力,且你需要想辦法讓RAID控制器運(yùn)行得比它所設(shè)計(jì)的還要快。對(duì)于所有考慮RAID-6的人,理解RAID控制器的一些設(shè)計(jì)問題有助于更好的理解你所購買的控制器是否符合你的性能需求,這一點(diǎn)十分重要。
檢驗(yàn)RAID性能
當(dāng)評(píng)估RAID控制器的時(shí)候,需要考慮兩個(gè)部分,以便確保相對(duì)于RAID-5來說它們更能夠滿足你的RAID-6的性能需求,因?yàn)閹缀跛械闹械萊AID廠商都是圍繞RAID-5的性能要求,而不是RAID-6的性能要求來設(shè)計(jì)其控制器的。這兩個(gè)部分一個(gè)是計(jì)算奇偶校驗(yàn)的處理器的性能,第二個(gè)是后端通道的性能。
處理器的性能應(yīng)該很容易衡量:
首先讓一個(gè)廠商提供一個(gè)磁盤托架或最多四個(gè)磁盤托架,在開始前,你需要知道后端連接的數(shù)目以及這些連接的性能。舉個(gè)例子,如果你有四個(gè)后端4GbFC連接,你將需要將這四個(gè)連接和光纖通道HBA以及能夠全速運(yùn)行這些HBA的一個(gè)或多個(gè)系統(tǒng)匹配起來。你需要確保前端性能(從服務(wù)器到RAID的性能),和后端性能(從RAID控制到到磁盤托架的性能)都能匹配。建立一個(gè)4+1的LUN和4+2的LUN,使用一個(gè)能夠多線程寫入裸設(shè)備的程序,例如來自此處的xdd。4+1的寫入必須和4+2的寫入相同。
現(xiàn)在對(duì)你所有的邏輯單元號(hào)進(jìn)行同樣的性能測(cè)試,并按全速運(yùn)行。假定全速有兩種方式。通過外部柱面,獲得該LUN的磁盤驅(qū)動(dòng)器的最高性能;詢問該廠商RAID到磁盤托架的最高性能是多少。取這兩個(gè)數(shù)值的最小值。重復(fù),使用8+1和8+2的邏輯單元號(hào),全速運(yùn)行。寫入性能中奇偶校驗(yàn)性能是關(guān)鍵。寫入性能必須一致。如果不一致,要么是該奇偶校驗(yàn)處理器不夠快,要么是RAID的后端性能沒有設(shè)計(jì)好,或者兩者都是。
由于高性能處理器的性價(jià)比非常好,出于處理器的原因而導(dǎo)致性能下降比較難,所以,在今時(shí)今日不太可能。另一方面,設(shè)計(jì)RAID后端是很復(fù)雜的,因此很可能它是主要原因。現(xiàn)在大部分的RAID控制器支持FC光纖連接到每個(gè)磁盤托架,而且在托架內(nèi)還可以有FC-Al,SATA 或SAS連接。第一個(gè)需要理解的事情是從RAID控制器到主機(jī)的性能比去從RAID控制器到高速緩存的性能所得的比值。中端控制器的這一比值經(jīng)常是在1:1到1:4之間,有些時(shí)候更多(控制器有更多帶寬到磁盤托架)。記住,對(duì)于RAID-6,你要使用更多的帶寬以供第二個(gè)奇偶校驗(yàn)驅(qū)動(dòng)器的寫入—-而且,許多廠商還需要讀出。
看下面例子。比如說前端有4個(gè)4GB光纖通道,而有6個(gè)通道是從高速緩存到磁盤托架(1比1.5)。
RAID設(shè)置 |
邏輯單元號(hào)數(shù)量 |
RAID控制器所要求的總帶寬(MB/秒) |
磁盤需要的總帶寬(MB/秒) |
4+1 |
4 |
1600 |
2000 |
4+2 |
4 |
1600 |
2400 |
8+1 |
4 |
1600 |
1800 |
8+2 |
4 |
1600 |
2000 |
上面所述的RAID控制器需要使用最大帶寬給4個(gè)4+2邏輯單元號(hào)。這既不好也不壞,只是說明RAID-6需要比RAID-5使用更多帶寬。一些廠商解決讀取帶寬的問題方法是不讀取所有奇偶校驗(yàn)驅(qū)動(dòng)器,因此這個(gè)問題僅限于寫入帶寬;其他廠商采取其他方法。當(dāng)然,這對(duì)于優(yōu)化輸入/輸出來說是最壞的情況,但是對(duì)IOPS來說也有同樣的概念,只不過問題從帶寬變成了IOPS尋找和延遲時(shí)間。
提前規(guī)劃
RAID-6比起RAID-5需要更多的帶寬,而且會(huì)影響到你的RAID控制器的性能。筆者所提供的寫入問題的例子不僅可能是因?yàn)閬碜灾鳈C(jī)的用戶寫入,還可能是因?yàn)榭刂破饕笾亟ㄒ粋€(gè)LUN。理解RAID控制器的后端性能并將其聯(lián)系到計(jì)劃的LUN設(shè)置中去很重要,尤其是對(duì)RAID-6。對(duì)中端產(chǎn)品來說,從高速緩存到主機(jī)的控制器性能總是低于從高速緩存到磁盤的性能,對(duì)于企業(yè)級(jí)產(chǎn)品來說,現(xiàn)在也是這種情況。
所有這些的意思就是企業(yè)在購買任何RAID控制器之前,需要理解規(guī)劃設(shè)置以及主機(jī)需要多少I/O,并為潛在的重建增加額外I/O。,由于RAID-6將比RAID-5需要更多的帶寬用于高速緩存和磁盤托架之間的數(shù)據(jù)傳輸,因此,企業(yè)必須認(rèn)真考慮RAID-6的設(shè)置。