新聞中心
聯系我們
Contact us
Contact us
- 總部電話010-51727811
- 客服熱線400 779 6696
- 更多聯系信息
服務器中的RAID技術介紹(一)
時間:2012-07-27 09:20 來源:飛客數據恢復 作者:飛客數據恢復工程師
在計算機發展的初期,“大容量”硬盤的價格還相當高,解決數據存儲安全性問題的主要方法是使用磁帶機等設備進行備份,這種方法雖然可以保證數據的安全,但查閱和備份工作都相當繁瑣。1987年,Patterson、Gibson和Katz這三位工程師在加州大學伯克利分校發表了題為《ACaseofRedundantArrayofInexpensiveDisks(廉價磁盤冗余陣列方案)》的論文,其基本思想就是將多只容量較小的、相對廉價的硬盤驅動器進行有機組合,使其性能超過一只昂貴的大硬盤。這一設計思想很快被接受,從此RAID技術得到了廣泛應用,數據存儲進入了更快速、更安全、更廉價的新時代。
磁盤陣列對于個人電腦用戶,還是比較陌生和神秘的。印象中的磁盤陣列似乎還停留在這樣的場景中:在寬闊的大廳里,林立的磁盤柜,數名表情陰郁、早早謝頂的工程師徘徊在其中,不斷從中抽出一塊塊沉重的硬盤,再插入一塊塊似乎更加沉重的硬盤……終于,隨著大容量硬盤的價格不斷降低,個人電腦的性能不斷提升,IDE-RAID作為磁盤性能改善的最廉價解決方案,開始走入一般用戶的計算機系統。
一、RAID技術規范簡介
RAID技術主要包含RAID0~RAID7等數個規范,它們的側重點各不相同,常見的規范有如下幾種:
RAID0:RAID0連續以位或字節為單位分割數據,并行讀/寫于多個磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗余,因此并不能算是真正的RAID結構。RAID0只是單純地提高性能,并沒有為數據的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數據。因此,RAID0不能應用于數據安全性要求高的場合。
RAID1:它是通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID1可以提高讀取性能。RAID1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據。
RAID0+1:也被稱為RAID10標準,實際是將RAID0和RAID1標準結合的產物,在連續地以位或字節為單位分割數據并且并行讀/寫多個磁盤的同時,為每一塊磁盤作磁盤鏡像進行冗余。它的優點是同時擁有RAID0的超凡速度和RAID1的數據高可靠性,但是CPU占用率同樣也更高,而且磁盤的利用率比較低。
RAID2:將數據條塊化地分布于不同的硬盤上,條塊單位為位或字節,并使用稱為“加重平均糾錯碼(海明碼)”的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁盤存放檢查及恢復信息,使得RAID2技術實施更復雜,因此在商業環境中很少使用。
RAID3:它同RAID2非常類似,都是將數據條塊化分布于不同的硬盤上,區別在于RAID3使用簡單的奇偶校驗,并用單塊磁盤存放奇偶校驗信息。如果一塊磁盤失效,奇偶盤及其他數據盤可以重新產生數據;如果奇偶盤失效則不影響數據使用。RAID3對于大量的連續數據可提供很好的傳輸率,但對于隨機數據來說,奇偶盤會成為寫操作的瓶頸。
RAID4:RAID4同樣也將數據條塊化并分布于不同的磁盤上,但條塊單位為塊或記錄。RAID4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID4在商業環境中也很少使用。
RAID5:RAID5不單獨指定的奇偶盤,而是在所有磁盤上交叉地存取數據及奇偶校驗信息。在RAID5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID5更適合于小數據塊和隨機讀寫的數據。RAID3與RAID5相比,最主要的區別在于RAID3每進行一次數據傳輸就需涉及到所有的陣列盤;而對于RAID5來說,大部分數據傳輸只對一塊磁盤操作,并可進行并行操作。在RAID5中有“寫損失”,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。
RAID6:與RAID5相比,RAID6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁盤同時失效也不會影響數據的使用。但RAID6需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和復雜的實施方式使得RAID6很少得到實際應用。
RAID7:這是一種新的RAID標準,其自身帶有智能化實時操作系統和用于存儲管理的軟件工具,可完全獨立于主機運行,不占用主機CPU資源。RAID7可以看作是一種存儲計算機(StorageComputer),它與其他RAID標準有明顯區別。除了以上的各種標準(如表1),我們可以如RAID0+1那樣結合多種RAID規范來構筑所需的RAID陣列,例如RAID5+3(RAID53)就是一種應用較為廣泛的陣列形式。用戶一般可以通過靈活配置磁盤陣列來獲得更加符合其要求的磁盤存儲系統。
開始時RAID方案主要針對SCSI硬盤系統,系統成本比較昂貴。1993年,HighPoint公司推出了第一款IDE-RAID控制芯片,能夠利用相對廉價的IDE硬盤來組建RAID系統,從而大大降低了RAID的“門檻”。從此,個人用戶也開始關注這項技術,因為硬盤是現代個人計算機中發展最為“緩慢”和最缺少安全性的設備,而用戶存儲在其中的數據卻常常遠超計算機的本身價格。在花費相對較少的情況下,RAID技術可以使個人用戶也享受到成倍的磁盤速度提升和更高的數據安全性,現在個人電腦市場上的IDE-RAID控制芯片主要出自HighPoint和Promise公司,此外還有一部分來自AMI公司(如表2)。
面向個人用戶的IDE-RAID芯片一般只提供了RAID0、RAID1和RAID0+1(RAID10)等RAID規范的支持,雖然它們在技術上無法與商用系統相提并論,但是對普通用戶來說其提供的速度提升和安全保證已經足夠了。隨著硬盤接口傳輸率的不斷提高,IDE-RAID芯片也不斷地更新換代,芯片市場上的主流芯片已經全部支持ATA100標準,而HighPoint公司新推出的HPT372芯片和Promise最新的PDC20276芯片,甚至已經可以支持ATA133標準的IDE硬盤。在主板廠商競爭加劇、個人電腦用戶要求逐漸提高的今天,在主板上板載RAID芯片的廠商已經不在少數,用戶完全可以不用購置RAID卡,直接組建自己的磁盤陣列,感受磁盤狂飆的速度。
二.通過硬件控制芯片實現IDERAID的方法
在RAID家族里,RAID0和RAID1在個人電腦上應用最廣泛,畢竟愿意使用4塊甚至更多的硬盤來構筑RAID0+1或其他硬盤陣列的個人用戶少之又少,因此我們在這里僅就這兩種RAID方式進行講解。我們選擇支持IDE-RAID功能的升技KT7A-RAID主板,一步一步向大家介紹IDE-RAID的安裝。升技KT7A-RAID集成的是HighPoint370芯片,支持RAID0、1、0+1。
做RAID自然少不了硬盤,RAID0和RAID1對磁盤的要求不一樣,RAID1(Mirror)磁盤鏡像一般要求兩塊(或多塊)硬盤容量一致,而RAID0(Striping)磁盤一般沒有這個要求,當然,選用容量相似性能相近甚至完全一樣的硬盤比較理想。為了方便測試,我們選用兩塊60GB的希捷酷魚Ⅳ硬盤(BarracudaATAⅣ、編號ST360021A)。系統選用Duron750MHz的CPU,2×128MB樵風金條SDRAM,耕升GeForce2Pro顯卡,應該說是比較普通的配置,我們也希望借此了解構建RAID所需的系統要求。
1.RAID0的創建
第一步
首先要備份好硬盤中的數據。很多用戶都沒有重視備份這一工作,特別是一些比較粗心的個人用戶。創建RAID對數據而言是一項比較危險的操作,稍不留神就有可能毀掉整塊硬盤的數據,我們首先介紹的RAID0更是這種情況,在創建RAID0時,所有陣列中磁盤上的數據都將被抹去,包括硬盤分區表在內。因此要先準備好一張帶Fdisk與Format命令的Windows98啟動盤,這也是這一步要注意的重要事項。
第二步
將兩塊硬盤的跳線設置為Master,分別接上升技KT7A-RAID的IDE3、IDE4口(它們由主板上的HighPoint370芯片控制)。由于RAID0會重建兩塊硬盤的分區表,我們就無需考慮硬盤連接的順序(下文中我們會看到在創建RAID1時這個順序很重要)。
第三步
對BIOS進行設置,打開ATARAIDCONTROLLER。我們在升技KT7A-RAID主板的BIOS中進入INTEGRATEDPERIPHERALS選項并開啟ATA100RAIDIDECONTROLLER。升技建議將開機順序全部改為ATA100RAID,實際我們發現這在系統安裝過程中并不可行,難道沒有分區的硬盤可以啟動嗎?因此我們仍然設置軟驅作為首選項。