第六章 RAID原理
6.1.RAID簡介
RAID是由美國加州大學伯克利分校的D.A.Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的縮寫,直譯為“廉價冗餘磁碟陣列”,也簡稱為“磁碟陣列”。後來RAID中的字母I被改作了Independent,RAID就成了“獨立冗餘磁碟陣列”,但這只是名稱的變化,實質性的內容並沒有改變。可以把RAID理解成一種使用磁碟機的方法,就是指用兩個以上的物理硬碟進行協作,邏輯上作為一個磁碟機來使用,但能提供資料冗余容錯協同工作能力,以此來全面提升磁片子系統的性能。一般情況下,組成的邏輯磁碟機的容量要小於各個磁碟機容量的總和。RAID的具體實現可以靠硬體也可以靠軟體,WindowsNT作業系統就提供軟體RAID功能。
早期RAID一般是在SCSI磁碟機上實現的,SCSI適配器保證每個SCSI通道隨時都是暢通的,在同一時刻每個SCSI磁碟機都能自由地向主機傳輸資料,不會出現像IDE
磁碟機爭用設備通道的現象。因為IDE磁碟機的性能發揮受限於IDE介面(單個IDE介面只能接兩個磁碟機,傳輸速率也不夠高)。IDE通道最多只能接4個磁碟機,在同一時刻只能有一個磁碟機能夠傳輸資料,而且IDE通道上一般還接有光碟機,光碟機引起的延遲會嚴重影響系統速度。
為確保網路系統可靠地保存資料,使系統正常運行,磁碟陣列已成為高可靠性網路系統解決方案中不可缺少的存放裝置。磁碟陣列由磁碟陣列控制器及若干性能近似的、按一定要求排列的硬碟組成。該類設備具有高速度、大容量、安全可靠等特點,通過冗餘糾錯技術、鏡像資料或資料分割及同位等技術來保證設備及資料可靠,並實現容錯要求,是一種具
有較高容錯能力的智慧化磁片集合,具有較高的安全性和可靠性。RAID在現代網路系統中作為大量記憶體,廣泛應用於磁片伺服器中。
現在,由於IDE硬碟性能的突飛猛進以及價格的不斷下降,IDERAID技術已經趨於成熟。RAID技術經過不斷的發展,現在已擁有了從RAID 0到RAID 6共七種基本的RAID級別。另外,還有一些基本RAID級別的組合形式,如RAID 10(RAID 0與RAID 1的組合),RAID 50(RAID 0與RAID 5的組合)等。不同的RAID級別代表著不同的存儲性能、資料安全性和存儲成本。它們的比較見下表。
6.2.RAID的優點
a. 成本低,功耗小,傳輸速率高。在RAID中,可以讓很多磁碟機同時傳輸資料,而這些磁碟機在邏輯上又是一個磁碟機,所以使用RAID可以達到單個磁片驅動器幾倍、幾十倍甚至上百倍的速率。這也是RAID最初想要解決的問題。因為當時CPU的速度增長很快,而磁碟機的資料傳輸速率無法大幅提高,所以需要有一種方案解決二者之間的矛盾,最後RAID成功了。
b. 可以提供容錯功能。這是使用RAID的第二個原因,因為普通磁碟機無法提供容錯功能,如果不包括寫在磁片上的CRC(迴圈冗餘校驗)碼的話。RAID和容錯是建立在每個磁碟機的硬體容錯功能之上的,所以它提供更高的安全性。
c. RAID與傳統的大直徑磁碟機相比,與可靠性與價格都很高的專用硬碟相比,在同樣的容量下,價格要低許多,性能與可靠性卻不比它們差,這正是RAID風行的原因。
6.3.RAID的產生原因
三個原因
a存取(access)速度,I/O速度
b防止資料因磁片的故障而失落(容錯,可靠性)
容錯:raid 1 2 3 4 5
可靠性:磁碟陣列受歡迎的主要原因;
MTTF: 平均故障前工作時間,
MTTR: 平均維修時間
MTBF: 平均故障間隔時間
平均故障間隔時間=平均故障前工作時間+平均維修時間
c及如何有效的利用磁碟空間,而大容量磁片的價格非常昂貴,利用率的問題N-1/N等
6.4.RAID的分類
6.4.1.RAID0級
要實現RAID0必須要有兩個以上硬碟驅動器,RAID0實現了帶區組,資料並不是保存在一個硬碟上,而是分成資料塊保存在不同驅動器上。因為將資料分佈在不同驅動器上,所以資料吞吐率大大提高,驅動器的負載也比較平衡。如果剛好所需要的資料在不同的驅動器上效率最好。它不需要計算校驗碼,實現容易。它的缺點是它沒有資料差錯控制,如果一個驅動器中的資料發生錯誤,即使其它盤上的資料正確也無濟於事了。不應該將它用於對資料穩定性要求高的場合。如果用戶進行圖像(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID0比較合適。同時,RAID可以提高資料傳輸速率,比如所需讀取的檔分佈在兩個硬碟上,這兩個硬碟可以同時讀取。那麼原來讀取同樣檔的時間被縮短為1/2。
圖6-1
我們在使用RAID 0或“串列集合”時,還必須注意以下要點:
a. 陣列容量大小永遠等於陣列硬碟數乘以陣列中最小硬碟的容量;
b. 陣列的資料傳輸速率永遠等於陣列硬碟數乘以陣列中最低速硬碟的資料傳輸速率;
c. RAID 0陣列的存取時間和最低速硬碟的存取時間相同,如果使用完全相同的硬碟,則會等於或稍高於陣列中的硬碟的存取時間;
d. 如果該陣列中有任何一塊硬碟損壞,則所有資料都將損壞,一般用在對資料安全要求不高,但對速度要求很高的場合。
6.4.2.RAID1級
對於使用這種RAID1結構的設備來說,RAID控制器必須能夠同時對兩個盤進行讀操作和對兩個鏡象盤進行寫操作。通過下面的結構圖您也可以看到必須有兩個驅動器。因為是鏡象結構在一組盤出現問題時,可以使用鏡象,提高系統的容錯能力。它比較容易設計和實現。每讀一次盤只能讀出一塊資料,也就是說資料區塊轉送速率與單獨的盤的讀取速率相同。因為RAID1的校驗十分完備,因此對系統的處理能力有很大的影響,通常的RAID功能由軟體實現,而這樣的實現方法在伺服器負載比較重的時候會大大影響伺服器效率。
當您的系統需要極高的可靠性時,如進行資料統計,那麼使用RAID1比較合適。而且RAID1技術支持“熱替換”,即不斷電的情況下對故障磁片進行更換,更換完畢只要從鏡像盤上恢復資料即可。當主硬碟損壞時,鏡像硬碟就可以代替主硬碟工作。鏡像硬碟相當於一個備份盤,可想而知,這種硬碟模式的安全性是非常高的,但帶來的後果是硬碟容量利用率很低,只有50%,是所有RAID級別中最低的。
圖6-2
6.4.3.RAID Level 0+1
這是一種Dual Level RAID,也有人稱之為RAID Level 10,它是“零加一”,即兩組按一定的分割區域,連貫成不同的兩塊大容量的陣列硬碟,互相為“鏡像”。在每次寫入資料時,磁碟陣列控制器會將資料同時寫入兩組“大容量陣列硬碟組”內。就像是由RAID O和RAID l組合而成。其原理如下圖6-3所示。同RAID Level 1一樣,雖然其硬碟使用率只有50%,但它卻是具有最高效率的劃分方式。不過它需要4個一樣的硬碟,所以說真正的“安全性”和“速度”是建立在成本之上的。
RAID 0+1特別適用于既有大量資料需要存取,同時又對資料安全性要求十分嚴格的領域,如銀行、金融、商業超市、倉儲庫房、各種檔案管理等。
圖6-3
6.3.4.RAID2級
從概念上講,RAID 2 同RAID 3類似, 兩者都是將資料條塊化分佈於不同的硬碟上, 條塊單位為位元或位元組。然而RAID 2 使用一定的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁片存放檢查及恢復資訊,使得RAID 2技術實施更複雜。因此,在商業環境中很少使用。下圖左邊的各個磁片上是資料的各個位元,由一個資料不同的位元運算得到的海明校驗碼可以保存另一組磁片上,具體情況請見下圖。由於海明碼的特點,它可以在資料發生錯誤的情況下將錯誤校正,以保證輸出的正確。它的資料傳送速率相當高,如果希望達到比較理想的速度,那最好提高保存校驗碼ECC碼的硬碟,對於控制器的設計來說,它又比RAID3,4或5要簡單。沒有免費的午餐,這裡也一樣,要利用海明碼,必須要付出資料冗餘的代價。輸出資料的速率與驅動器組中速度最慢的相等。
海明碼編碼:0010――101 A6A5A4A3----A2A1A0
A2=A6+A5+A4
A1=A6+A5+A3
A0=A6+A4+A3
6.4.5.RAID 3
這種校驗碼與RAID2不同,只能查錯不能糾錯。它訪問資料時一次處理一個帶區,這樣可以提高讀取和寫入速度。校驗碼在寫入資料時產生並保存在另一個磁片上。需要實現時使用者必須要有三個以上的驅動器,寫入速率與讀出速率都很高,因為校驗位比較少,因此計算時間相對而言比較少。用軟體實現RAID控制將是十分困難的,控制器的實現也不是很容易。它主要用於圖形(包括動畫)等要求吞吐率比較高的場合。不同於RAID 2,RAID 3使用單塊磁片存放同位資訊。如果一塊磁片失效,奇偶盤及其他資料盤可以重新產生資料。 如果奇偶盤失效,則不影響資料使用。RAID 3對於大量的連續資料可提供很好的傳輸率,但對於亂數據,奇偶盤會成為寫操作的瓶頸。
圖6-4
6.4.6.RAID4
RAID4和RAID3很象,不同的是,它對資料的訪問是按資料塊進行的,也就是按磁片進行的,每次是一個盤。它的特點的RAID3也挺象,控制器的設計難度要大許多,而且訪問資料的效率不怎麼好。
6.4.7.RAID-30
RAID-30也稱專用奇偶位陣列條帶。象RAID 0一樣,跨磁片抽取資料;象RAID-3一樣,使用專用奇偶位。RAID-30提供容錯能力,並支援更大的卷尺寸。象RAID-10一樣,RAID-30也提供高可靠性,因為即使有兩個物理磁碟機失效(每個陣列中一個),資料仍然可用。
RAID-30最小要求有6個驅動器,而且只能由HP NetRaid磁碟陣列控制器實現。它最適合非交互的應用程式,如視頻流、圖形和圖像處理等。這些應用程式連續處理大型檔,而且要求高可用性和高速度。
6.4.8.RAID 5:分散式同位的獨立磁片結構
從它的示意圖上可以看到,它的同位碼存在於所有磁片上,其中的p0代表第0帶區的同位值,其它的意思也相同。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。因為同位碼在不同的磁片上,所以提高了可靠性。但是它對資料傳輸的並行性解決不好,而且控制器的設計也相當困難。RAID 3 與RAID 5相比,重要的區別在於RAID 3每進行一次資料傳輸,需涉及到所有的陣列盤。而對於RAID 5來說,大部分資料傳輸只對一塊磁片操作,可進行平行作業。在RAID 5中有“寫損失”,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。
全新的資料:完全劃分的寫
更新資料:讀――修正――寫
6.4.9.RAID 50
RAID 50也被稱為分佈奇偶位陣列條帶,RAID 50其實就是RAID O與RAID 5的組合。
它像RAID 0一樣,跨磁片存取資料;又像RAID 5一樣,使用分散式奇偶位。RAID 50可提供較高的資料可靠性,優秀的整體性能,並支援更大的卷尺寸。像RAID 10和RAID-30一樣,即使兩個物理磁片發生故障(每個陣列中一個),也不會有資料丟失。RAID 50最少需要六個驅動器,而且只能通過HPNetRaid磁碟陣列控制器實現。它最適合需要高可靠性存儲、高讀取速度、高資料傳輸性能的應用。這些應用包括交易處理和有許多用戶存取小檔的辦公應用程式。
6.4.10.RAID6: 帶有兩種分佈存儲的同位碼的獨立磁片結構
名字很長,但是如果看到圖,大家立刻會明白是為什麼,請注意p0代表第0帶區的同位值,而pA代表資料塊A的同位值。它是對RAID5的擴展,主要是用於要求資料絕對不能出錯的場合。當然了,由於引入了第二種同位值,所以需要N+2個磁片,同時對控制器的設計變得十分複雜,寫入速度也不好,用於計算同位值和驗證資料正確性所花費的時間比較多,造成了不必須的負載。我想除了軍隊沒有人用得起這種東西。
6.4.11.RAID 7: 優化的高速資料傳送磁片結構
RAID7所有的I/O傳送均是同步進行的,可以分別控制,這樣提高了系統的並行性,提高系統訪問資料的速度;每個磁片都帶有高速緩衝記憶體,即時操作系統可以使用任何即時操作晶片,達到不同即時系統的需要。允許使用SNMP協定進行管理和監視,可以對校驗區指定獨立的傳送通道以提高效率。可以連接多台主機,因為加入高速緩衝記憶體,當多使用者訪問系統時,存取時間幾乎接近於0。由於採用並行結構,因此資料訪問效率大大提高。需要注意的是它引入了一個高速緩衝記憶體,這有利有弊,因為一旦系統斷電,在高速緩衝記憶體內的資料就會全部丟失,因此需要和UPS一起工作。當然了,這麼快的東西,價格也非常昂貴。
6.4.12 RAID10:高可靠性與高效磁片結構
這種結構無非是一個帶區結構加一個鏡象結構,因為兩種結構各有優缺點,因此可以相互補充,達到既高效又高速還可以的目的。大家可以結合兩種結構的優點和缺點來理解這種新結構。這種新結構的價格高,可擴充性不好。主要用於容易不大,但要求速度和差錯控制的資料庫中。
6.4.13 RAID53:高效資料傳送磁片結構
越到後面的結構就是對前面結構的一種重複和再利用,這種結構就是RAID3和帶區結構的統一,因此它速度比較快,也有容錯功能。但價格十分高,不易於實現。這是因為所有的資料必須經過帶區和按位元存儲兩種方法,在考慮到效率的情況下,要求這些磁片同步真是不容易。
下面是常用的幾種RAID性能的比較。
我們能夠用得上的IDE RAID
上面是對RAID原理的敘述,而我們Pcfans最關心的是RAID的應用。我們日常使用IDE硬碟,而且很容易買到IDE RAID卡和集成RAID晶片的主機板。所以跟我們最貼近的是IDE RAID。限於應用級別很低,IDE RAID多數隻支持RAID 0,RAID 1,RAID 0+1,JBOD模式。
通過對各種RAID模型的比較,可以看出:使用哪種RAID實現方式,要綜合考慮讀寫性能、資料傳輸率、可靠性以及造價等多種因素,沒有哪一種模型是十全十美的。例如:RAIDO的資料傳輸率和讀寫性能都是最高的,同時造價也很低,但由於它僅使用了資料劃分的思想,而沒有資料冗餘,因此不具備資料恢復能力,因而可靠性差。RAID I資料傳輸率、讀寫性能和可靠性都較高,但其實現造價卻是非常昂貴。
RAID5和RAID5以可以接受的造價,在獲得較高的可靠性的同時,又保持了令人滿意的資料傳輸率和讀寫性能,因此得到了廣泛的應用。RAID5使用一個單獨的磁片來存儲校驗資訊,校驗盤容易成為系統的瓶頸。RAID5主要適用於對資料傳輸率要求較高的應用程式。而RAID5的資料和校驗都是分佈存儲在各個盤上,克服了校驗盤成為瓶頸的缺點。RAID5適用於交易處理或其它I/0請求頻繁的應用程式。
6.5.RAID的應用
當前的PC機,整個系統的速度瓶頸主要是在硬碟。雖然不斷有Ultra DMA66、DMA100、DMA133等快速的標準推出,但收效不大。在PC中,磁片速度慢一些並不是太嚴重的事情。
但在伺服器中,這是不允許的,伺服器必須能回應來自四面八方的服務請求,這些請求大多與磁片上的資料有關,所以伺服器的磁片子系統必須要有很高的輸入輸出速率。為了資料的安全,還要有一定的容錯功能。RAID提供了這些功能,所以RAID被廣泛地應用在伺服器體系中。
RAID提供的容錯功能是自動實現的(由RAID硬體或是RAID軟體來做)。它對應用程式是透明的,即無需應用程式為容錯做半點工作。要得到最高的安全性和最快的恢復速度,可以使用RAID 1(鏡像);要在容量、容錯和性能上取折衷可以使用RAID 5。在大多數資料庫伺服器中,作業系統和資料庫管理系統所在的磁碟機是RAID 1,資料庫的資料檔案則存放在RAID 5的磁碟機上。
有時我們看某些名牌伺服器的配置單,發現其CPU並不是很快,記憶體也算不上是很大,顯卡更不是最好,但價格絕對不菲。是不是伺服器系統都是暴利產品呢?當然不是。伺服器的配置與一般的家用PC的著重點不在一處。除去更高的穩定性外,冗余與容錯是一大特點,如雙電源、帶電池備份的磁片高速緩衝器、熱插拔硬碟、熱插拔PCI插槽等。另一個特點就是巨大的磁片輸送量。這主要歸功於RAID。舉一個例子來說,一台使用了SCSI RAID的奔騰166與一台IDE硬碟的PⅢ Copermine 800都用做檔案伺服器,奔騰166會比PⅢ的交易處理能力高上幾十倍甚至上百倍,因為PⅢ處理器的運算能力根本用不上,反倒是奔騰166的RAID起了作用。
就目前來說,在PC機中使用磁片RAID模式還比較少,RAID現在主要應用在伺服器上,但就像任何高端技術一樣,RAID也在向PC機上轉移。也許所有的PC機都用上了SCSI磁碟機的RAID的那一天,才是PC機真正的“出頭之日”,終於不再只是“P”(個人)C(電腦)了。
要使用磁片RAID主要有兩種方式,第一種就是RAID介面卡,通過RAID介面卡就可以實現硬碟的RAID功能。現在RAID介面卡比較多,它們的價格差距也比較大。有$1400的Promise Fast Trak 100,也有價格非常低的天揚ATA100R。其實這些RAID介面卡最主要的部份就是RAID控制晶片,現在主要有Promise、AMI、HighPoint這幾家公司的RAID控制晶片。目前市場上已有多家公司出產了基於這些RAID控制晶片的介面卡,其中包括Promise、AMI、天揚、Iwill及、Abit等RAID介面卡。
RAID介面卡從介面方式看分為SCSI介面卡和IDE介面卡。SCSI介面卡在資料傳輸方面要比IDE介面卡快,但它在價格上比IDE介面卡高很多。使用專門的RAID介面卡來實現磁片RAID的方法主要用在伺服器系統中,這樣的伺服器系統更安全,系統容錯性更高。這種方法在PC機中相對就很少使用,畢竟RAID介面卡價格太高,並且它還要佔用一個外接插槽。個人使用磁片RAID主要是用RAID 0、 RAID 1或RAID 0+1工作模式。PATA和SATA介面的RAID卡分別如圖6-5、圖6-6所示。
圖6-5 IDE介面的RAID卡,可接2個硬碟
圖6-6 SATA介面的RAID卡可接4個硬碟
第二種方式就是直接在主機板上集成RAID控制晶片,讓主機板能直接實現磁片RAID。這種方式成本比專用的RAID介面卡低很多,它就可以用在PC機方面了。現在在主機板上集成RAID控制晶片的主機板已經有很多了。升技ABIT KT7 RAID主機板集成了HighPoint公司的HighPoint370控制晶片,這款主機板通過實現磁片RAID而使它的磁片子系統的性能得到了極大的提高。另外,艾威KV200-R主機板也集成了AMI公司的RAID控制晶片。其它的主機板也有很多集成類似的RAID控制晶片的產品,從而提高主機板的磁片系統性能。
在使用RAID功能時,要注意RAID介面有專門的RAID介面,它不同於一般的IDE介面,但在資料線的連接方面同一般的IDE介面相同。在電腦剛啟動後,可以根據顯示器畫面上的提示來進入磁片RAID模式的功能編輯介面。如果設置成功,在用Fdisk分區時,就會發現連接成RAID的多個硬碟已經合併為一個硬碟,使用者就可以像使用一個硬碟一樣來使用磁組。必須注意的是:創建RAID時會破壞原有的資料,請大家預先備份。具體的RAID安裝,資料很多,說明也很詳細,請自行研究。
6.6.RAID使用的基本思想
RAID技術使用了兩個最基本的思想:
1.資料冗餘(Data Redundancy)即不僅保存使用者的資料,還保存校驗資料。當發生硬碟故障時,校驗資料可以恢復損壞盤上的資料,從而提高使用者資料的可用性。
2.資料劃分(Data Striping)這一思想使得I/0負載可以平均地分配到各個磁片,從而提高v0存取速度。
這兩種思想都是由控制軟體來實現的,並且相互獨立,磁碟陣列可只實現其中的一種。但更多情況下,RAID往往把兩種思想結合起來,從而既能獲得較高的資料可靠性,同時又能保證較快的I/0存取速度。
6.6.1.數據冗餘
資料冗餘是指使用部分磁碟空間來存儲使用者資料的備份。最簡單的冗餘數據形式就是RAID 1的鏡像資料。在鏡像磁碟陣列中,對於寫請求,控制軟體要執行兩次寫盤— 一次寫資料盤,一次寫鏡像盤。而對於讀請求,控制軟體選擇其中一個盤讀取資料。有些軟體為了提高性能,會選擇負載較輕的盤來實現讀訪問。鏡像磁碟陣列的缺點是:實現成本相對較高。為保存和維護一個磁片的資料量,使用者不得不購買、維護和管理兩塊硬碟。
RAID3、 4、 5使用另一種形式的冗餘數據,稱作校驗資料。校驗RAID並不是完全備份每個資料塊,每個校驗塊是由一組資料塊經過計算得到的。有了校驗塊,任何一個資料塊可由組裡的其它資料塊計算得到。
校驗資料通常取相應使用者資料進行按位元異或的結果。不論陣列有多少塊盤構成,校驗資料都只佔用一個磁碟空間.因此由許多盤組成的大型校驗RAID,其冗餘數據所占空間的比例卻很小。例如,由11塊盤組成的校驗RAID,使用者資料佔用10個磁碟空間,校驗的開銷只有10%。既然只用一個校驗盤就可以保護任意多個使用者資料盤,那麼是不是使用越多的資料盤,就能達到越高的磁碟空間利用率呢?實際上並不是這麼簡單。
大型校驗RAID的缺點:
同位只能在一個盤發生故障時恢復資料。當RAID裡同時有兩塊盤發生故障時,就會丟失資料。陣列使用的盤數越多,兩塊盤同時失效的概率就越大,從而導致整個陣列的崩潰。這時,丟失的不僅是失效盤上的資料,所有盤上的資料都變得無法訪問。因此陣列規模越大,失效盤帶來的損失也越大。
大型校驗RAID寫性能較差。當應用程式要對一個資料塊進行寫操作時,要先讀該塊的資料,與校驗塊進行計算,其結果再與要寫入的資料做異或計算,最後寫入新資料和新校驗。在這段時間裡,控制軟體需要保持一些永久性的log標誌,以防更新操作中的系統故障。可見寫資料操作有延遲,而且陣列越大,寫延遲越大。
當有故障發生時,要更換損壞的磁片,而且新的磁片上的內容必須與其它盤同步,以保證所有校驗資料與使用者資料的一致性。這種同步需要讀所有盤上的資料或校驗資訊,通過計算得到替換盤的內容。可見陣列裡的磁片個數越多,同步的時間開銷也越大。而恢復資料的時間越長,陣列發生第二次故障的危險性越大。事實表明,RAID系統使用四至六塊磁片比較合適。
6.6.2.資料劃分
磁片子系統設計者採用資料劃分來提高系統的UO性能。要瞭解資料劃分的作用,首先要知道幾乎所有的110訪問頻繁的應用程式都可以歸為以下兩大類型:
. I/O請求為主的應用程式:這種應用程式主要進行一些交易處理,如:使用關係型數據庫來管理資料。它們的v0請求傾向於訪問少量的、位址隨機分佈的資料。這些應用一般由許多併發執行的執行緒構成,因而許多v0請求不必等待前面請求的完成。
. 資料交換為主的應用程式:這種應用程式要在主存與外部存放裝置之間傳輸很長的順序的資料流程。科學/工程計算、圖形處理和多媒體應用多屬於這種類型。其I/0請求的資料量大,而且有時為減少CPU閒置時間,資料會提前給出。Striping技術把每個磁片的存儲空間劃分成一個個stripe,其大小可以是小到一個磁區(512位元組),大到幾百萬位元組,並且是迴圈順序地交叉存儲的。Stripe的大小則是由應用環境的1/0類型決定的。
現在大多數的作業系統都支援多個磁片的並行1/0操作。但是,為了提高磁片子系統的資料輸送量,1/0負載必須均衡分配到所有磁片上,使每個磁片盡可能地保持忙碌。在沒有使用striping技術的多磁片系統中,磁片的UO負載很不均衡:有些磁片上的資料經常被訪問,而有的磁片幾乎很少被訪問。
使用striping技術,檔按stripe大小劃分後,分佈到各個磁片上,使得在負載較重時,所有磁片能保持忙碌。這樣多個磁片可以並行地執行不同的UO操作,因而在同樣時間裡,磁碟陣列完成的1/0運算元增加了。
6.7.RAID恢復技術
6.7.1.RAID類型的判斷
1. 根據容量:
C+D+E=TOTAL:RAID0,JBOD
C+D+E= TOTAL -1:RAID5,RAID4,RAID3等
C+D+E= TOTAL -2:RAID5,RAID4,RAID3等加熱備,RAID5E,RAID5EE等
容量只有一半:RAID1,RAID5E/EE等
2. 根據盤數:
2塊: RAID0,RAID1
3塊: RAID0,RAID1,RAID2/3/4/5
4塊:RAID0,RAID1,RAID2/3/4/5,RAID2/3/4/5加一塊熱備,RAID5E/EE
3.查看客戶RAID卡的現在設置以及可能的功能。
6.7.2.RAID5的局限性及使用範圍
由於是對多個磁片進行寫操作,讀寫比例對RAID5的v0性能影響較大。RAID5在有一個磁片失效時,陣列仍能繼續工作,因為失效資料可由其它磁片上的資料通過異或而重新得到。而這種可靠性的代價是每次寫請求時要同時更新資料塊和校驗塊,從而增加了磁碟陣列系統的工作負載。因此,RAID5通常與Cache, WriteLogging相結合來改善寫性能,其寫性能往往能提高很多。
如果應用程式要訪問的磁片位址是隨機分佈的,UO請求則有可能均勻地分佈各個磁片上,從而使負載達到均衡。對唯讀或讀請求占大多數的應用,RAID5可達到接近RAIDO的性能。事實上,對於給定的資料存儲量,RAID5的讀性能應該會比RAIDO更好一些,因為存儲同樣容量的使用者資料,RAID5比RAIDO要多使用一個磁片,因而其讀數據的並行度更高。
由於各個磁片相互獨立,RAID5更適合於I/O請求頻繁而資料交換不多的應用程式。RAID5被認為是一種綜合性能很好的RAID形式,它兼具讀寫速度較快、容錯能力好,磁片利用率較高的優點,而且價格也並不昂貴,可以說具有理想的性價比。但RAID5也並非適用於一切場合。它通常用於進行交易處理以及滿足一些“一般性”的應用,如:關係型數據庫、企業資源計畫或者其它一些商業系統。而對於寫任務比較密集的應用,RAID 1或者RAIDO+1應該是更合適的選擇(雖然硬體開銷會十分昂貴),因為RAID5的性能在這種應用環境下會有明顯下降。
6.7.3.RAID 5的重組實現資料恢復
(1).RAID重組工具是:RAIDFix。它的操作介面如下:
(2).使用起來也很簡單,在磁片個數處填上驅動器的數量,在磁片X選擇需要重組的RAID磁片或鏡像檔。填入RAID的開始磁區,條帶的塊大小,選擇奇偶旋轉,然後點打開磁片.選擇目標磁片,點開始,重組開始。要注意的是重組檔的大小是原RAID5的大小,所以要選擇合適的分區存放重組後的鏡像文件。
(3).重組之後,同樣用飛客的FDR等工具提取。
轉自:http://bbs.intohard.com/index.php
0 意見: