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