磁盤陣列的規(guī)格最重要就在速度,也就是CPU的種類。我們知道SCSI的演變是由SCSI 2 (Narrow, 8 bits, 10MB/s), SCSI 3 (Wide, 16bits, 20MB/s), Ultra Wide (16bits, 40MB/s), Ultra 2 (Ultra Ultra Wide, 80MB/s), Ultra 3 (Ultra Ultra Ultra Wide, 160MB/s),在由SCSI到Serial I/O,也就是所謂的 Fibre Channel (FC-AL, Fibre Channel - Arbitration Loop, 100 ?C 200MB/s), SSA (Serial Storage Architecture, 80 ?C 160 MB/s), 在過去使用 Ultra Wide SCSI, 40MB/s 的磁盤陣列時,對CPU的要求不須太快,因為SCSI本身也不是很快,但是當SCSI演變到Ultra 2, 80MB/s時,對CPU的要求就非常關(guān)鍵。一般的CPU, (如 586)就必須改為高速的RISC CPU, (如 Intel RISC CPU, i960RD 32bits, i960RN 64 bits),不但是RISC CPU, 甚至于還分 32bits, 64 bits RISC CPU 的差異。586 與 RISC CPU 的差異可想而知 ! 這是由磁盤陣列的觀點出發(fā)來看的。 由服務器的角度來看 服務器的結(jié)構(gòu)已由傳統(tǒng)的 I/O 結(jié)構(gòu)改為 I2O ( Intelligent I/O, 簡稱 I2O ) 的結(jié)構(gòu),其目的就是為了減少服務器CPU的負擔,才會將系統(tǒng)的 I/O 與服務器CPU負載分開。Intel 因此提出 I2O 的架構(gòu),I2O 也是由一顆 RISC CPU ( i960RD 或I960RN ) 來負責 I/O 的工作。試想想若服務器內(nèi)都已是由 RISC i960 CPU 來負責 I/O,結(jié)果磁盤陣列上卻仍是用 586 CPU,速度會快嗎 ? 由操作系統(tǒng)的角度來看 ? SCO OpenServer 5.0 32 bits ? MicroSoft Windows NT 32 bits ? SCO Unixware 7.x 64 bits ? MicroSoft Windows NT 2000 32 bit 64 bits ? SUN Solaris 64 bits ……..其他操作系統(tǒng) 在操作系統(tǒng)都已由 32 bits 轉(zhuǎn)到 64 bits,磁盤陣列上的CPU 必須是 Intel i960 RISC CPU才能滿足速度的要求。586 CPU 是無法滿足的 ! 磁盤陣列的功能 使用磁盤陣列的好處,在于數(shù)據(jù)的安全、存取的速度及超大的存儲容量。如何確保數(shù)據(jù)的安全,則取決于磁盤陣列的設(shè)計與品質(zhì)。其中幾個功能是必須考慮的:是否有環(huán)境監(jiān)控器針對溫度、電壓、電源、散熱風扇、硬盤狀態(tài)等進行監(jiān)控。磁盤陣列內(nèi)的硬盤連接方式是用SCA-II整體后背板還是只是用SCSI線連的?在SCA-II整體后背板上是否有隔絕芯片以防硬盤在熱插拔時所產(chǎn)生的高/低電壓,使系統(tǒng)電壓回流,造成系統(tǒng)的不穩(wěn)定,產(chǎn)生數(shù)據(jù)丟失的情形。我們一定要重視這個問題,因為在磁盤陣列內(nèi)很多硬盤都是共用這同一SCSI總線!一個硬盤熱插拔,可不能引響其它的硬盤!甚幺是熱插拔或帶電插拔?硬盤有分熱插拔硬盤,80針的硬盤是熱插拔硬盤,68針的不是熱插拔硬盤,有沒有熱插拔,在電路上的設(shè)計差異就在于有沒有保護線路的設(shè)計,同樣的硬盤拖架也是一樣有分真的熱插拔及假的熱插拔的區(qū)別。 磁盤陣列內(nèi)的硬盤是否有順序的要求?也就是說硬盤可否不按次序地插回陣列中,數(shù)據(jù)仍能正常的存?很多人認為不是很重要,不太會發(fā)生,但是可能會發(fā)生的,我們就要防止它發(fā)生。假如您用六個硬盤做陣列,在最出初始化時,此六個硬盤是有順序放置在磁盤陣列內(nèi),分為第一、第二…到第六個硬盤,是有順序的,如果您買的磁盤陣列是有順序的要求,則您要注意了:有一天您將硬盤取出,做清潔時一定要以原來的擺放順序插回磁盤陣列中,否則您的數(shù)據(jù)可能因硬盤順序與原來的不苻,磁盤陣列上的控制器不認而數(shù)據(jù)丟失!因為您的硬盤的SCSI ID號亂掉所致。現(xiàn)在的磁盤陣列產(chǎn)品都已有這種不要求硬盤有順序的功能,為了防止上述的事件發(fā)生,都是不要求硬盤有順序的。 我們?yōu)槭茬坌枰疟P陣列 目前人們逐漸認識了磁盤陣列技術(shù)。磁盤陣列技術(shù)可以詳細地劃分為若干個級別0-5 RAID技術(shù),并且又發(fā)展了所謂的 RAID Level 10, 30, 50的新的級別,本章節(jié)都會一一介紹。RAID是廉價冗余磁盤陣列(Redundant Array of Inexpensive Disk)的簡稱。用RAID的好處簡單的說就是:安全性高,速度快,數(shù)據(jù)容量超大 某些級別的RAID技術(shù)可以把速度提高到單個硬盤驅(qū)動器的400%。磁盤陣列把多個硬盤驅(qū)動器連接在一起協(xié)同工作,大大提高了速度,同時把硬盤系統(tǒng)的可靠性提高到接近無錯的境界。這些“容錯”系統(tǒng)速度極快,同時可靠性極高。 本節(jié)將討論這些新技術(shù),以及不同級別RAID的優(yōu)缺點。我們并不想涉及那些關(guān)鍵性的技術(shù)細節(jié)問題,而是將磁盤陣列和RAID技術(shù)介紹給對它們尚不熟悉的人們。相信這將幫助你選用合適的RAID技術(shù)。 RAID級別的定義 下表提供了6級RAID的簡單定義,本書其后部分將對各級RAID進行更詳盡的描述。 *對于單一容量昂貴硬盤(SLED)的性能提高 硬盤數(shù)據(jù)跨盤(Spanning) 數(shù)據(jù)跨盤技術(shù)使多個硬盤像一個硬盤那樣工作,這使用戶通過組合已有的資源或增加一些資源來廉價地突破現(xiàn)有的硬盤空間限制。 圖2所示為4個300兆字節(jié)的硬盤驅(qū)動器連結(jié)在一起,構(gòu)成一個SCSI系統(tǒng)。用戶只看到一個有1200兆字節(jié)的C盤,而不是看到C, D, E, F, 4個300兆字節(jié)的硬盤。在這樣的環(huán)境中,系統(tǒng)管理員不必擔心某個硬盤上會發(fā)生硬盤安全檢空間不夠的情況。因為現(xiàn)在1200兆字節(jié)的容量全在一個卷(Volume)上(例如硬盤C上)。系統(tǒng)管理員可以安全地建立所需要的任何層次的文件系統(tǒng),而不需要在多個單獨硬盤環(huán)境的限制下,計劃他的文件系統(tǒng)。 硬盤數(shù)據(jù)跨盤本身并不是RAID,它不能改善硬盤的可靠性和速度。但是它有這樣的好處,即多個小型廉價硬盤可以根據(jù)需要增加到硬盤子系統(tǒng)上。 磁盤陣列分類 硬盤分段(Disk Striping, RAID 0) 硬盤分段的方法把數(shù)據(jù)寫到多個硬盤,而不是只寫到一個盤上,這也叫作RAID O,在磁盤陣列子系統(tǒng)中,數(shù)據(jù)按系統(tǒng)規(guī)定的“段”(Segment)為單位依次寫入多個硬盤,例如數(shù)據(jù)段1寫入硬盤0,段2寫入硬盤1,段3寫入硬盤2等等。當數(shù)據(jù)寫完最后一個硬盤時,它就重新從盤0的下一可用段開始寫入,寫數(shù)據(jù)的全過程按此重復直至數(shù)據(jù)寫完。 段由塊組成,而塊又由字節(jié)組成。因此,當段的大小為4個塊,而塊又由256個字節(jié)組成時,依字節(jié)大小計算,段的大小等于1024個字節(jié)。第1~1024字節(jié)寫入盤0,第1025~2048字節(jié)寫盤1等。假如我們的硬盤子系統(tǒng)有5個硬盤,我們要寫20,000個字節(jié),則數(shù)據(jù)將如圖3那樣存儲。 總之,由于硬盤分段的方法,是把數(shù)據(jù)立即寫入(讀出)多個硬盤,因此它的速度比較快。實際上,數(shù)據(jù)的傳輸是順序的,但多個讀(或?qū)懀┎僮鲃t可以相互重迭進行。這就是說,正當段1在寫入驅(qū)動器0時,段2寫入驅(qū)動器1的操作也開始了;而當段2尚在寫盤驅(qū)動器1時,段3數(shù)據(jù)已送驅(qū)動器2;如此類推,在同一時刻有幾個盤(即使不是所有的盤)在同時寫數(shù)據(jù)。因為數(shù)據(jù)送入盤驅(qū)動器的速度要遠大于寫入物理盤的速度。因此只要根據(jù)這個特點編制出控制軟件,就能實現(xiàn)上述數(shù)據(jù)同時寫盤的操作。 遺憾的是RAID 0不是提供冗余的數(shù)據(jù),這是非常危險的。因為必須保證整個硬盤子系統(tǒng)都正常工作,計算器才能正常工作,例如,假使一個文件的段1(在驅(qū)動器0),段2(在驅(qū)動器1),段3(在驅(qū)動器2),則只要驅(qū)動器0, 1, 2中有一個產(chǎn)生故障,就會引起問題;如果驅(qū)動器1故障,則我們只能從驅(qū)動器物理地取得段1和段3的數(shù)據(jù)。幸運的是可以找到一個解決辦法,這就是硬盤分段和數(shù)據(jù)冗余。下面一小節(jié)將討論這個問題。 硬盤鏡像(RAID 1) 硬盤鏡像(RAID 1)是容錯磁盤陣列技術(shù)最傳統(tǒng)的一種形式,在工業(yè)界中相對地最被了解,它最重要的優(yōu)點是百分之百的數(shù)據(jù)冗余。RAID 0通過簡單地將一個盤上的所有數(shù)據(jù)拷貝到第二個盤上(或等價的存儲設(shè)備上)來實現(xiàn)數(shù)據(jù)冗余,這種方法雖然簡單且實現(xiàn)起來相對較容易,但它的缺點是要比單個無冗余硬盤貴一倍,因為必須購買另一個硬盤用作第一個硬盤的鏡像。 硬盤鏡像最簡單的形式,是通過把二個硬盤連結(jié)在一個控制器上來實現(xiàn)的。圖4說明了硬盤鏡像。數(shù)據(jù)寫在某一硬盤上時,它同時被寫在相應的鏡像盤上。當一個盤驅(qū)動器發(fā)生故障,計算器系統(tǒng)仍能正常工作,因為它可以在剩下的那塊好盤上操作數(shù)據(jù)。 因為二個盤互為鏡像,哪個盤出故障都無關(guān)緊要,二是盤在任何時間都包含相同的數(shù)據(jù),任何一個都可以當作工作盤。在硬盤鏡像這個簡單的RAID方式中,仍能采用一些優(yōu)化速度的方法,例如平衡讀請求負荷。當多個用戶同時請求得到數(shù)據(jù)時,可以將讀數(shù)據(jù)的請示分散到二個硬盤中去,使讀負荷平均地分布在二個硬盤上。這種方法可觀地提高了讀數(shù)據(jù)的性能,因為二個硬盤在同一時刻讀取不同的數(shù)據(jù)片。但是硬盤鏡像不能改善寫數(shù)據(jù)的性能。被“鏡像”的硬盤也可被鏡像到其它存儲設(shè)備上,例如可擦寫光盤驅(qū)動器,雖然以光盤作鏡像盤沒有用硬盤的速度快,但這種方法比沒有使用鏡像盤畢竟減少了丟失數(shù)據(jù)的危險性。 總之,鏡像系統(tǒng)容錯性能非常好,并可以提高讀數(shù)據(jù)的速度;它的缺點是需要雙份硬盤,因此價格較高。 硬盤分段和數(shù)據(jù)冗余(RAID2~5) 硬盤分段改善了硬盤子系統(tǒng)的性能,因為向硬盤讀寫數(shù)據(jù)的速度與硬盤子系統(tǒng)中硬盤數(shù)目成正比地增加,但它的缺點是硬盤子系統(tǒng)中任一硬盤的故障都會導致整個計算器系統(tǒng)失敗。整個分段的硬盤子系統(tǒng)部能作鏡像,如果已經(jīng)用了4個硬盤進行分段,我們可以再增加4個分段的硬盤作為原來4個硬盤的鏡像。很明顯這是昂貴的(雖然可能比鏡像一個昂貴的大硬盤來得便宜)。可以不用鏡像而用其它數(shù)據(jù)冗余的方法來提供高容錯性能?梢赃x擇一神奇偶碼模式來實現(xiàn)上述方法,可以外加一個專作奇偶校驗用的硬盤(如在RAID 3中),或者可把奇偶校驗數(shù)據(jù)分散分布在磁盤陣列的全部硬盤中。分布式奇偶校驗數(shù)據(jù)(RAID 5)的例子示于圖5中。 不管用何種級別的RAID,磁盤陣列總是用異或(XOR)操作來產(chǎn)生奇偶數(shù)據(jù),當子系統(tǒng)中有一個硬盤發(fā)生故障時,也是用異或操作重建數(shù)據(jù)。下列簡單分析了XOR是怎樣工作的。 硬盤 A B C 奇偶盤 (A, B, C 異或的結(jié)果) 數(shù)據(jù) 1 0 1 0 首先記住在XOR操作中,2個數(shù)異或的結(jié)果是真(即“1”)時,這二個數(shù)中有且一個數(shù)為1(另一個為0)。我們假設(shè)A, B, C中B盤故障,此時可將A, C和奇偶數(shù)據(jù)XOR起來,得到B盤失去的數(shù)據(jù)0;同樣如C盤故障,我們可將A, B盤和奇偶盤的數(shù)據(jù)XOR,得到C盤原先的數(shù)據(jù)1。 如果推廣到7個盤的硬盤子系統(tǒng): 硬盤 A B C D E F 奇偶位 數(shù)據(jù) 0 0 0 1 0 1 0 如果丟失B盤數(shù)據(jù),我們可以XOR A, C, D, E, F和奇偶位來得到失去的B盤數(shù)據(jù)0。而XOR A, B, C, D, E, F和奇偶位可恢復D盤的數(shù)據(jù)1。 采用專用的奇偶校驗盤(如上所述,即RAID 3),當同時產(chǎn)生多個寫操作時,每次操作都要對奇偶盤進行寫入。這將產(chǎn)生I/O瓶頸效應。 RAID 5把奇偶位信息分散分布在硬盤子系統(tǒng)的所有硬盤上(而不是使用專用的校驗盤0,這就改善了上述RAID 3中的奇偶盤瓶頸效應。圖5說明了RAID 5的一種配置,圖中奇偶信息散布在子系統(tǒng)的每個硬盤上。利用每個硬盤的一部分來組成校驗盤,寫入硬盤的奇偶位信息將較均勻地分布在所有硬盤上。所以某個用戶可能把它的一個數(shù)據(jù)段寫在硬盤A,而將奇偶信息寫在硬盤B,第二個用戶可能把數(shù)據(jù)寫在硬盤C,而奇偶信息寫在硬盤D。從這里也可看出RAID 5的性能會得到提高。 這種方法將提高硬盤子系統(tǒng)的事務處理速度。所謂事務處理,是指處理從許多不同用戶來的多個硬盤I/O操作,由于可能同時有很多用戶與硬盤打交道,迅速向硬盤寫入數(shù)據(jù),有時幾乎是同時進行的,這種情況下,用分布式奇偶盤的方式比起用專用奇偶盤,瓶頸效應發(fā)生的可能性要小。 對硬盤操作來說,RAID 5的寫性能比不上直接硬盤分段(指沒有校驗信息的RAID 0)。因為產(chǎn)生或存儲奇偶碼需要一些額外操作。例如,在修改一個硬盤上的數(shù)據(jù)時,其它盤上對應段的數(shù)據(jù)(即使是無關(guān)的數(shù)據(jù))也要讀入主機,以便產(chǎn)生必要的奇偶信息。奇偶段產(chǎn)生后(這要花一些時間),我們要將更新的數(shù)據(jù)段和奇偶段寫入硬盤,這通常稱為讀-修改-寫策略。因此,雖然RAID 5比RAID 0優(yōu)越,但就寫性能來說,RAID 5不如RAID 0。 鏡像技術(shù)(RAID 1)和數(shù)據(jù)奇偶位分段(RAID 5)用于上述的硬盤子系統(tǒng)中時,都產(chǎn)生冗余信息。但在RAID 1中,所有數(shù)據(jù)都被復制到第二個相同的硬盤上。在RAID 5,數(shù)據(jù)的XOR碼而不是數(shù)據(jù)本身被復制,因此可以用數(shù)據(jù)的非常緊湊的表現(xiàn)方式,來恢復由于某一硬盤故障而丟失的數(shù)據(jù)。 采用RAID 5時,對于5個硬盤的數(shù)組,有大約20%的硬盤空間用于存放奇偶碼,而十個硬盤的數(shù)組只有約10%的空間存放奇偶碼。在可用空間總的格式化空間的意義上來說,硬盤系統(tǒng)中的硬盤越多該系統(tǒng)就越省錢。 總之,RAID 5把硬盤分段和奇偶冗余技術(shù)的優(yōu)點結(jié)合在一起,這樣的硬盤子系統(tǒng)特別適合于事務處理環(huán)境,例如民航售票處,汽車出租站,銷售系統(tǒng)的終端,等等。在某些場合,可優(yōu)先考慮RAID 1(在那些寫數(shù)據(jù)比讀數(shù)據(jù)更頻繁的情況)。但許多情況,RAID 5提供了將高性能,低價格和數(shù)據(jù)安全性綜合在一起的解決辦法。 RAID Level 10 硬盤故障恢復 鏡像和RAID提供了從硬盤故障中恢復數(shù)據(jù)的新方法。因為數(shù)據(jù)的所有部分都是有冗余的,數(shù)據(jù)有效性很高(即使在硬盤發(fā)生故障時)。另一重要優(yōu)點是,恢復數(shù)據(jù)的工作不用立即進行,因為系統(tǒng)可以在一個硬盤有故障的情況下正常工作,當然在這種情況下,剩下的系統(tǒng)就不再有容錯性能。要避免丟失數(shù)據(jù)就必須在第二個硬盤故障前恢復數(shù)據(jù)。更換故障硬盤后,要進行數(shù)據(jù)恢復。在鏡像系統(tǒng)中“鏡像” 盤上有一個數(shù)據(jù)備份,因此故障硬盤(主硬盤或鏡像硬盤)通過簡單的硬盤到硬盤的拷貝操作就能重建數(shù)據(jù),如圖6所示。這個拷貝操作比從磁帶上恢復數(shù)據(jù)要快得多。 RAID 5硬盤子系統(tǒng)中,故障硬盤通過無故障硬盤上存放的糾錯(奇偶)碼信息來重建數(shù)據(jù)。正常盤上的數(shù)據(jù)(包括奇偶信息部分)被讀出,并計算出故障盤丟失的那些數(shù)據(jù),然后寫入新替換的盤。這個過程示于圖7,它比從磁帶上恢復數(shù)據(jù)要快不少。 設(shè)計靈活的磁盤陣列可以重新配置,替換盤的地址不一定和故障盤的地址相同,見圖8。這種靈活性使安裝過程變得更為簡單。備用盤甚至可以在硬盤故障前預先連在系統(tǒng)上。在那種情況下,它就成了隨時可用的備份盤。這種盤通常稱為“熱備份”。 可靠性和可用性 這二個名詞雖然相互關(guān)連,事實上卻代表了硬盤故障的二個不同的方面,可靠性指的是硬盤在給定條件下發(fā)生故障的概率。可用性指的是硬盤在某種用途中可能用的時間。利用這二個名詞,我們可以看到磁盤陣列是怎樣把我們的硬盤系統(tǒng)可靠性提高到接近百分之百的程度的。 磁盤陣列可以改善硬盤系統(tǒng)的可靠性。因為某一硬盤中的數(shù)據(jù)可以從其它硬盤的數(shù)據(jù)中重新產(chǎn)生出來(例如RAID 5),所以很少會有機會使整個硬盤系統(tǒng)失效。硬盤子系統(tǒng)的可靠性因而大大改善了。 我們還必須考慮系統(tǒng)的可用性。單一硬盤系統(tǒng)的可用性比沒有數(shù)據(jù)冗余的磁盤陣列要好,而冗余磁盤陣列的可用性比單個硬盤的好得多。這是因為冗余磁盤陣列允許單個硬盤出錯,而繼續(xù)正常工作。此外,一個硬盤故障后的系統(tǒng)恢復時間也大大縮短(與從磁帶恢復數(shù)據(jù)相比)。最后,因為發(fā)生故障時,硬盤上的數(shù)據(jù)是故障當時的數(shù)據(jù),替后的硬盤也將包含故障時的數(shù)據(jù)(舉例說,前天晚上的備份數(shù)據(jù))。要得到完全的容錯性能,計算器硬盤子系統(tǒng)的其它部件也必須有冗余例如提供二個電源,或者配備雙份硬盤控制器。沒有其它部件的冗余,即使有非?煽康挠脖P子系統(tǒng),還是不能完全防止計算機系統(tǒng)的失效。 最佳化的容錯系統(tǒng) 如先前所述,直接分段的子系統(tǒng)(RAID 0)可以大大提高讀寫速度(相對單個硬盤),因為數(shù)據(jù)分散在多個硬盤,硬盤操作可以同時進行。 把二個直接分段的硬盤子系統(tǒng)組成鏡像,可以有效地構(gòu)成全冗余的快速硬盤子系統(tǒng)。這樣的子系統(tǒng),其硬盤操作甚至比直接分段的硬盤子系統(tǒng)還快,因為該系統(tǒng)能同時執(zhí)行二個讀操作(每個硬盤一個讀操作),而寫操作的速度則與非鏡像直接分段子系統(tǒng)幾乎一樣,因為把數(shù)據(jù)同時寫入二個硬盤只需花費很少的額外開銷。 通過我們前面所述的概念,例如雙工:(雙控制器,雙電源等),可以進一步改善有關(guān)冗余方面的問題。雙控制器還使我們得到更高的數(shù)據(jù)傳輸速度,因為控制器成為子系統(tǒng)性能瓶頸的可能性更小了。 磁盤陣列技術(shù)術(shù)語 硬盤鏡像(Disk Mirroring):硬盤鏡像最簡單的形式是,一個主機控制器帶二個互為鏡像的硬盤。數(shù)據(jù)同時寫入二個硬盤,二個硬盤上的數(shù)據(jù)完全相同,因此一個硬盤故障時,另一個硬盤可提供數(shù)據(jù)。 硬盤數(shù)據(jù)跨盤(Disk Spanning):利用這種技術(shù),幾個硬盤看上去像是一個大硬盤;這個虛擬盤可以把數(shù)據(jù)跨盤存儲在不同的物理盤上,用戶不需關(guān)心哪個盤上存有他需要的數(shù)據(jù)。 硬盤數(shù)據(jù)分段(Disk Striping):數(shù)據(jù)分散存儲在幾個盤上。數(shù)據(jù)的第一段放在盤0,第2段放在盤1,……直至達到硬盤鏈中的最后一個盤,然后下一個邏輯段將放在硬盤0,再下一個邏輯段放在盤1,如此循環(huán)直至完成寫操作。 雙控(Duplexing):這里指的是用二個控制器來驅(qū)動一個硬盤子系統(tǒng)。一個控制器發(fā)生故障,另一個控制器馬上控制硬盤操作。此外,如果編寫恰當?shù)目刂破鬈浖,可實現(xiàn)不同的硬盤驅(qū)動器同時工作。 容錯(Fault Tolerant):具有容錯功能的機器有抗故障的能力。例如RAID 1鏡像系統(tǒng)是容錯的,鏡像盤中的一個出故障,硬盤子系統(tǒng)仍能正常工作。 主機控制器(Host Adapter):這里指的是使主機和外設(shè)進行數(shù)據(jù)交換的控制部件(如SCSI控制器)。 熱修復(Hot Fix):指用一個硬盤熱備份來替換發(fā)生的故障的硬盤。要注意故障盤并不是真正地被物理替換了。用作熱備份的盤被加載上故障盤原來的數(shù)據(jù),然后系統(tǒng)恢復工作。 熱補(Hot Patch):具有硬盤熱備份,可隨時替換故障盤的系統(tǒng)。 熱備份(Hot Spare):與CPU系統(tǒng)電連接的硬盤,它能替換下系統(tǒng)中的故障盤。與冷備份的區(qū)別是,冷備份盤平時與機器不相連接,硬盤故障時才換下故障盤。 平均數(shù)據(jù)丟失時間(MTBDL-Mean Time Between Data Loss):發(fā)生數(shù)據(jù)丟失的事件間的平均時間。 平均無故障工作時間(MTBF-Mean Time Between Failure或MTIF):設(shè)備平均無故障運行時間。 廉價冗余磁盤陣列(RAID-Redundant Array of Inexpensive Drives):一種將多個廉價硬盤組合成快速,有容錯功能的硬盤子系統(tǒng)的技術(shù)。 系統(tǒng)重建(Reconstruction or Rebuild):一個硬盤發(fā)生故障后,從其它正確的硬盤數(shù)據(jù)和奇偶信息恢復故障盤數(shù)據(jù)的過程。 恢復時間(Reconstruction Time):為故障盤重建數(shù)據(jù)所需要的時間。 單個大容量硬盤(SLED-Singe Expensive Drive)。 傳輸速率(Transfer Rate):指在不同條件下存取數(shù)據(jù)的速度。 虛擬盤(Virtual Disk):與虛擬存儲器類似,虛擬盤是一個概念盤,用戶不必關(guān)心他的數(shù)據(jù)寫在哪個物理盤上。虛擬盤一般跨越幾個物理盤,但用戶看到的只是一個盤。 在計算機發(fā)展的初期,“大容量”硬盤的價格還相當高,解決數(shù)據(jù)存儲安全性問題的主要方法是使用磁帶機等設(shè)備進行備份,這種方法雖然可以保證數(shù)據(jù)的安全,但查閱和備份工作都相當繁瑣。 1987年, Patterson、Gibson和Katz這三位工程師在加州大學伯克利分校發(fā)表了題為《A Case of Redundant Array of Inexpensive Disks(廉價磁盤冗余陣列方案)》的論文,其基本思想就是將多只容量較小的、相對廉價的硬盤驅(qū)動器進行有機組合,使其性能超過一只昂貴的大硬盤。這一設(shè)計思想很快被接受,從此RAID技術(shù)得到了廣泛應用,數(shù)據(jù)存儲進入了更快速、更安全、更廉價的新時代。
磁盤陣列對于個人電腦用戶,還是比較陌生和神秘的。印象中的磁盤陣列似乎還停留在這樣的場景中:在寬闊的大廳里,林立的磁盤柜,數(shù)名表情陰郁、早早謝頂?shù)墓こ處熍腔苍谄渲,不斷從中抽出一塊塊沉重的硬盤,再插入一塊塊似乎更加沉重的硬盤……終于,隨著大容量硬盤的價格不斷降低,個人電腦的性能不斷提升,IDE-RAID作為磁盤性能改善的最廉價解決方案,開始走入一般用戶的計算機系統(tǒng)。 一、RAID技術(shù)規(guī)范簡介
RAID技術(shù)主要包含RAID 0~RAID 7等數(shù)個規(guī)范,它們的側(cè)重點各不相同,常見的規(guī)范有如下幾種: RAID 0:RAID 0連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),并行讀/寫于多個磁盤上,因此具有很高的數(shù)據(jù)傳輸率,但它沒有數(shù)據(jù)冗余,因此并不能算是真正的RAID結(jié)構(gòu)。RAID 0只是單純地提高性能,并沒有為數(shù)據(jù)的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數(shù)據(jù)。因此,RAID 0不能應用于數(shù)據(jù)安全性要求高的場合。
RAID 1:它是通過磁盤數(shù)據(jù)鏡像實現(xiàn)數(shù)據(jù)冗余,在成對的獨立磁盤上產(chǎn)生互 為備份的數(shù)據(jù)。當原始數(shù)據(jù)繁忙時,可直接從鏡像拷貝中讀取數(shù)據(jù),因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數(shù)據(jù)安全性和可用性。當一個磁盤失效時,系統(tǒng)可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數(shù)據(jù)。
RAID 0+1: 也被稱為RAID 10標準,實際是將RAID 0和RAID 1標準結(jié)合的產(chǎn)物,在連續(xù)地以位或字節(jié)為單位分割數(shù)據(jù)并且并行讀/寫多個磁盤的同時,為每一塊磁盤作磁盤鏡像進行冗余。它的優(yōu)點是同時擁有RAID 0的超凡速度和RAID 1的數(shù)據(jù)高可靠性,但是CPU占用率同樣也更高,而且磁盤的利用率比較低。
RAID 2:將數(shù)據(jù)條塊化地分布于不同的硬盤上,條塊單位為位或字節(jié),并使用稱為“加重平均糾錯碼(海明碼)”的編碼技術(shù)來提供錯誤檢查及恢復。這種編碼技術(shù)需要多個磁盤存放檢查及恢復信息,使得RAID 2技術(shù)實施更復雜,因此在商業(yè)環(huán)境中很少使用。
RAID 3:它同RAID 2非常類似,都是將數(shù)據(jù)條塊化分布于不同的硬盤上,區(qū)別在于RAID 3使用簡單的奇偶校驗,并用單塊磁盤存放奇偶校驗信息。如果一塊磁盤失效,奇偶盤及其他數(shù)據(jù)盤可以重新產(chǎn)生數(shù)據(jù);如果奇偶盤失效則不影響數(shù)據(jù)使用。RAID 3對于大量的連續(xù)數(shù)據(jù)可提供很好的傳輸率,但對于隨機數(shù)據(jù)來說,奇偶盤會成為寫操作的瓶頸。
RAID 4:RAID 4同樣也將數(shù)據(jù)條塊化并分布于不同的磁盤上,但條塊單位為塊或記錄。RAID 4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID 4在商業(yè)環(huán)境中也很少使用。
RAID 5:RAID 5不單獨指定的奇偶盤,而是在所有磁盤上交*地存取數(shù)據(jù)及奇偶校驗信息。在RAID 5上,讀/寫指針可同時對陣列設(shè)備進行操作,提供了更高的數(shù)據(jù)流量。RAID 5更適合于小數(shù)據(jù)塊和隨機讀寫的數(shù)據(jù)。RAID 3與RAID 5相比,最主要的區(qū)別在于RAID 3每進行一次數(shù)據(jù)傳輸就需涉及到所有的陣列盤;而對于RAID 5來說,大部分數(shù)據(jù)傳輸只對一塊磁盤操作,并可進行并行操作。在RAID 5中有“寫損失”,即每一次寫操作將產(chǎn)生四個實際的讀/寫操作,其中兩次讀舊的數(shù)據(jù)及奇偶信息,兩次寫新的數(shù)據(jù)及奇偶信息。
RAID 6:與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統(tǒng)使用不同的算法,數(shù)據(jù)的可靠性非常高,即使兩塊磁盤同時失效也不會影響數(shù)據(jù)的使用。但RAID 6需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID 5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和復雜的實施方式使得RAID 6很少得到實際應用。
RAID 7:這是一種新的RAID標準,其自身帶有智能化實時操作系統(tǒng)和用于存儲管理的軟件工具,可完全獨立于主機運行,不占用主機CPU資源。RAID 7可以看作是一種存儲計算機(Storage Computer),它與其他RAID標準有明顯區(qū)別。除了以上的各種標準(如表1),我們可以如RAID 0+1那樣結(jié)合多種RAID規(guī)范來構(gòu)筑所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種應用較為廣泛的陣列形式。用戶一般可以通過靈活配置磁盤陣列來獲得更加符合其要求的磁盤存儲系統(tǒng)。
開始時RAID方案主要針對SCSI硬盤系統(tǒng),系統(tǒng)成本比較昂貴。1993年,HighPoint公司推出了第一款I(lǐng)DE-RAID控制芯片,能夠利用相對廉價的IDE硬盤來組建RAID系統(tǒng),從而大大降低了RAID的“門檻”。從此,個人用戶也開始關(guān)注這項技術(shù),因為硬盤是現(xiàn)代個人計算機中發(fā)展最為“緩慢”和最缺少安全性的設(shè)備,而用戶存儲在其中的數(shù)據(jù)卻常常遠超計算機的本身價格。在花費相對較少的情況下,RAID技術(shù)可以使個人用戶也享受到成倍的磁盤速度提升和更高的數(shù)據(jù)安全性,現(xiàn)在個人電腦市場上的IDE-RAID控制芯片主要出自HighPoint和Promise公司,此外還有一部分來自AMI公司(如表2)。
面向個人用戶的IDE-RAID芯片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID規(guī)范的支持,雖然它們在技術(shù)上無法與商用系統(tǒng)相提并論,但是對普通用戶來說其提供的速度提升和安全保證已經(jīng)足夠了。隨著硬盤接口傳輸率的不斷提高,IDE-RAID芯片也不斷地更新?lián)Q代,芯片市場上的主流芯片已經(jīng)全部支持ATA 100標準,而HighPoint公司新推出的HPT 372芯片和Promise最新的PDC20276芯片,甚至已經(jīng)可以支持ATA 133標準的IDE硬盤。在主板廠商競爭加劇、個人電腦用戶要求逐漸提高的今天,在主板上板載RAID芯片的廠商已經(jīng)不在少數(shù),用戶完全可以不用購置RAID卡,直接組建自己的磁盤陣列,感受磁盤狂飆的速度。
二.通過硬件控制芯片實現(xiàn)IDE RAID的方法
在RAID家族里,RAID 0和RAID 1在個人電腦上應用最廣泛,畢竟愿意使用4塊甚至更多的硬盤來構(gòu)筑RAID 0+1或其他硬盤陣列的個人用戶少之又少,因此我們在這里僅就這兩種RAID方式進行講解。我們選擇支持IDE-RAID功能的升技KT7A-R AID主板,一步一步向大家介紹IDE-RAID的安裝。升技KT7A-RAID集成的是HighPoint 370芯片,支持RAID 0、1、0+1。
做RAID自然少不了硬盤,RAID 0和RAID 1對磁盤的要求不一樣,RAID 1(Mirror)磁盤鏡像一般要求兩塊(或多塊)硬盤容量一致,而RAID 0(Striping)磁盤一般沒有這個要求,當然,選用容量相似性能相近甚至完全一樣的硬盤比較理想。為了方便測試,我們選用兩塊60GB的希捷酷魚Ⅳ硬盤(Barracuda ATA Ⅳ、編號ST360021A)。系統(tǒng)選用Duron 750MHz的CPU,2×128MB樵風金條SDRAM,耕升GeForce2 Pro顯卡,應該說是比較普通的配置,我們也希望借此了解構(gòu)建RAID所需的系統(tǒng)要求!1.RAID 0的創(chuàng)建
第一步
首先要備份好硬盤中的數(shù)據(jù)。很多用戶都沒有重視備份這一工作,特別是一些比較粗心的個人用戶。創(chuàng)建RAID對數(shù)據(jù)而言是一項比較危險的操作,稍不留神就有可能毀掉整塊硬盤的數(shù)據(jù),我們首先介紹的RAID 0更是這種情況,在創(chuàng)建RAID 0時,所有陣列中磁盤上的數(shù)據(jù)都將被抹去,包括硬盤分區(qū)表在內(nèi)。因此要先準備好一張帶Fdisk與format命令的Windows 98啟動盤,這也是這一步要注意的重要事項。
第二步
將兩塊硬盤的跳線設(shè)置為Master,分別接上升技KT7A-RAID的IDE3、IDE4口(它們由主板上的HighPoint370芯片控制)。由于RAID 0會重建兩塊硬盤的分區(qū)表,我們就無需考慮硬盤連接的順序(下文中我們會看到在創(chuàng)建RAID 1時這個順序很重要)。
第三步
對BIOS進行設(shè)置,打開ATA RAID CONTROLLER。我們在升技KT7A-RAID主板的BIOS中進入INTEGRATED PERIPHERALS選項并開啟ATA100 RAID IDE CONTROLLER。升技建議將開機順序全部改為ATA 100 RAID,實際我們發(fā)現(xiàn)這在系統(tǒng)安裝過程中并不可行,難道沒有分區(qū)的硬盤可以啟動嗎?因此我們?nèi)匀辉O(shè)置軟驅(qū)作為首選項。
第四步
接下來的設(shè)置步驟是創(chuàng)建RAID 0的核心內(nèi)容,我們以圖解方式向大家詳細介紹:
1.系統(tǒng)BIOS設(shè)置完成以后重啟電腦,開機檢測時將不會再報告發(fā)現(xiàn)硬盤。
2.磁盤的管理將由HighPoint 370芯片接管。
3.下面是非常關(guān)鍵的HighPoint 370 BIOS設(shè)置,在HighPoint 370磁盤掃描界面同時按下“Ctrl”和“H”。
4.進入HighPoint 370 BIOS設(shè)置界面后第一個要做的工作就是選擇“Create RAID”創(chuàng)建RAID。
5.在“Array Mode(陣列模式)”中進行RAID模式選擇,這里能夠看到RAID 0、RAID 1、RAID 0+1和Span的選項,在此我們選擇了RAID 0項。
6.RAID模式選擇完成會自動退出到上一級菜單進行“Disk Drives(磁盤驅(qū)動器)”選擇,一般來說直接回車就行了。
7.下一項設(shè)置是條帶單位大小,缺省值為64kB,沒有特殊要求可以不予理睬。8.接著是“Start Create(開始創(chuàng)建)”的選項,在你按下“Y”之前,請認真想想是否還有重要的數(shù)據(jù)留在硬盤上,這是你最后的機會!一旦開始創(chuàng)建RAID,硬盤上的所有數(shù)據(jù)都會被清除。
9.創(chuàng)建完成以后是指定BOOT啟動盤,任選一個吧。
按“Esc”鍵退出,當然少不了按下“Y”來確認一下。
HighPoint 370 BIOS沒有提供類似“Exit Without Save”的功能,修改設(shè)置后是不可逆
編輯:北京信誠IT保姆 http://www.aboverow.cn
|