複製鏈接
請複製以下鏈接發送給好友

RAID數據恢復

鎖定
RAID是Redundant Array of Independent Disk的縮寫,中文意思是獨立冗餘磁盤陣列冗餘磁盤陣列技術誕生於1987年,由美國加州大學伯克利分校提出。簡單地解釋,就是將N台硬盤通過RAID Controller(分Hardware,Software)結合成虛擬單台大容量的硬盤使用。RAID的採用為存儲系統(或者服務器的內置存儲)帶來巨大利益,其中提高傳輸速率和提供容錯功能是最大的優點。
中文名
冗餘磁盤陣列數據恢復
外文名
Redundant Array of Independent Disk
誕生時間
1987年
提出機構
由美國加州大學伯克利分校提出

RAID數據恢復技術特點

RAID數據恢復是維實的技術特色之一。通過引進國外最新RAID專用權威工具,目前能夠從底層原理進行分析重組擁有極高的成功率。針對雙循環、RAID5 ADG、RAID6等業界疑難問題,唯實已經取得很大的技術突破,並已成功恢復以下操作系統下的RAID磁盤陣列的數據WindowsNT4.0、Windows2000、Windows2003、LINUX各個廠家的各種版本、UNIX各個廠家的各種版本。
服務器往往是數據集中存儲和管理的地方,在存儲容量、存儲安全和存儲速度上都有一定的優勢,正是由於這個優勢,一個單位往往用服務器存儲極其重要的數據,一旦服務器的數據丟失給用户帶來的損失也非常慘重。
北京中關村數據恢復中心專業從事數據恢復領域的產品開發與技術服務。
北京中關村數據恢復中心自主研發RAID服務器分析程序RAID3000;同時針各種RAID技術、開盤技術Mac,Linux、Unix、Solaris,SCOUnix,Hp,Unix,SQL數據庫,oracle數據庫等技術有相當的研究。

RAID數據恢復基本知識

raid磁盤陣列(Redundant Array of Independent Disks)簡單的解釋,就是將N個硬盤透過RAID Controller (分Hardware,Software )結合成虛擬單台大容量的硬盤使用,其特色是N個硬盤同時讀取速度加快及提供容錯 性Fault Tolerant,所以RAID是當成平時主要訪問Data的Storage不是Backup Solution。
1988年美國加州大學伯克利分校的D. A. Patterson教授等首次在論文“A Case of Redundant Array of Inexpensive Disks”中提出了RAID概念[1],即廉價冗餘磁盤陣列(Redundant Array of Inexpensive Disks)。由於當時大容量磁盤比較昂貴,RAID的基本思想是將多個容量較小、相對廉價的磁盤進行有機組合,從而以較低的成本獲得與昂貴大容量磁盤相當的容量、性能、可靠性。隨着磁盤成本和價格的不斷降低,RAID可以使用大部分的磁盤,“廉價”已經毫無意義。因此,RAID諮詢委員會(RAID Advisory Board, RAB)決定用“獨立”替代“廉價”,於時RAID變成了獨立磁盤冗餘陣列(Redundant Array of Independent Disks)。但這僅僅是名稱的變化,實質內容沒有改變。
RAID這種設計思想很快被業界接納,RAID技術作為高性能、高可靠的存儲技術,已經得到了非常廣泛的應用。RAID主要利用數據條帶、鏡像和數據校驗技術來獲取高性能、可靠性、容錯能力和擴展性,根據運用或組合運用這三種技術的策略和架構,可以把RAID分為不同的等級,以滿足不同數據應用的需求。D. A. Patterson等的論文中定義了RAID1 ~ RAID5原始RAID等級,1988年以來又擴展了RAID0和RAID6。近年來,存儲廠商不斷推出諸如RAID7、RAID10/01、RAID50、RAID53、RAID100等RAID等級,但這些並無統一的標準。目前業界公認的標準是RAID0 ~ RAID5,除RAID2外的四個等級被定為工業標準,而在實際應用領域中使用最多的RAID等級是RAID0、RAID1、RAID3、RAID5、RAID6和RAID10。
從實現角度看,RAID主要分為軟RAID、硬RAID以及軟硬混合RAID三種。軟RAID所有功能均有操作系統和CPU來完成,沒有獨立的RAID控制/處理芯片和I/O處理芯片,效率自然最低。硬RAID配備了專門的RAID控制/處理芯片和I/O處理芯片以及陣列緩衝,不佔用CPU資源,但成本很高。軟硬混合RAID具備RAID控制/處理芯片,但缺乏I/O處理芯片,需要CPU和驅動程序來完成,性能和成本在軟RAID和硬RAID之間。 RAID每一個等級代表一種實現方法和技術,等級之間並無高低之分。在實際應用中,應當根據用户的數據應用特點,綜合考慮可用性、性能和成本來選擇合適的RAID等級,以及具體的實現方式。

RAID數據恢復常見故障

(1)系統不能啓動
(2)RAID信息破壞
(3)由於某塊硬盤掉線,替換後重建失敗,系統崩潰
(4)RAID信息丟失
(5)硬盤(單塊或多塊)掉線
(6)RAID卡損壞,更換後系統崩潰
(7)分區信息丟失
(8)硬盤壞道(物理、邏輯)
(9)重新配置RAID陣列信息
(10)磁盤順序出錯
(11)動態磁盤數據庫丟失或損壞
(12)LINUX、UNIX系統啓動不成功,或者分區不能mount,找不到分區
(13)rebuild中途失敗
(14)rebuild成功後,分區找不到或者系統不能啓動
(15)紅燈不停閃,或者黃燈不停閃(有的黃燈閃表示正在讀取)
(16)MBR損壞,DBR損壞
(17)磁盤單塊,或者多塊壞道

RAID數據恢復技術規範

RAID數據恢復規範介紹

冗餘磁盤陣列技術最初的研製目的是為了組合小的廉價磁盤來代替大的昂貴磁盤,以降低大批量數據存儲的費用,同時也希望採用冗餘信息的方式,使得磁盤失效時不會使對數據的訪問受損失,從而開發出一定水平的數據保護技術,並且能適當的提升數據傳輸速度
過去RAID一直是高檔服務器才有緣享用,一直作為高檔SCSI硬盤配套技術作應用。近來隨着技術的發展和產品成本的不斷下降,IDE硬盤性能有了很大提升,加之RAID芯片的普及,使得RAID也逐漸在個人電腦上得到應用。
那麼為何叫做冗餘磁盤陣列呢?冗餘的漢語意思即多餘,重複。而磁盤陣列説明不僅僅是一個磁盤,而是一組磁盤。這時你應該明白了,它是利用重複的磁盤來處理數據,使得數據的穩定性得到提高。

RAID數據恢復工作原理

RAID如何實現數據存儲的高穩定性呢?我們不妨來看一下它的工作原理。RAID按照實現原理的不同分為不同的級別,不同的級別之間工作模式是有區別的。整個的RAID結構是一些磁盤結構,通過對磁盤進行組合達到提高效率,減少錯誤的目的,不要因為這麼多名詞而被嚇壞了,它們的原理實際上十分簡單。為了便於説明,下面示意圖中的每個方塊代表一個磁盤,豎的叫塊或磁盤陣列,橫稱之為帶區。

RAID數據恢復JBOD模式

JBOD通常又稱為Span。它是在邏輯上將幾個物理磁盤一個接一個連起來, 組成一個大的邏輯磁盤。JBOD不提供容錯,該陣列的容量等於組成Span的所有磁盤的容量的總和。JBOD嚴格意義上説,不屬於RAID的範圍。不過現在很多IDE RAID控制芯片都帶這種模式,JBOD就是簡單的硬盤容量疊加,但系統處理時並沒有採用並行的方式,寫入數據的時候就是先寫的一塊硬盤,寫滿了再寫第二塊硬盤……
實際應用中最常見的是RAID0 RAID1 RAID5 和RAID10 由於在大多數場合,RAID5包含了RAID2-4的優點,所以RAID2-4基本退出市場
現在,一般認為RAID2-4只用於RAID開發研究
上面是對RAID原理的敍述,而我們Pcfans最關心的是RAID的應用。我們日常使用IDE硬盤,而且很容易買到IDE RAID卡和集成RAID芯片的主板。所以跟我們最貼近的是IDE RAID。限於應用級別很低,IDE RAID多數只支持RAID 0,RAID 1,RAID 0+1,JBOD模式.

RAID數據恢復RAID中主要三個關鍵概念和技術

鏡像(Mirroring)、數據條帶(Data Stripping)和數據校驗(Data parity)[3][4][5]。鏡像,將數據複製到多個磁盤,一方面可以提高可靠性,另一方面可併發從兩個或多個副本讀取數據來提高讀性能。顯而易見,鏡像的寫性能要稍低,確保數據正確地寫到多個磁盤需要更多的時間消耗。數據條帶,將數據分片保存在多個不同的磁盤,多個數據分片共同組成一個完整數據副本,這與鏡像的多個副本是不同的,它通常用於性能考慮。數據條帶具有更高的併發粒度,當訪問數據時,可以同時對位於不同磁盤上數據進行讀寫操作,從而獲得非常可觀的I/O性能提升。數據校驗,利用冗餘數據進行數據錯誤檢測和修復,冗餘數據通常採用海明碼、異或操作等算法來計算獲得。利用校驗功能,可以很大程度上提高磁盤陣列的可靠性、魯棒性和容錯能力。不過,數據校驗需要從多處讀取數據並進行計算和對比,會影響系統性能。不同等級的RAID採用一個或多個以上的三種技術,來獲得不同的數據可靠性、可用性和I/O性能。至於設計何種RAID(甚至新的等級或類型)或採用何種模式的RAID,需要在深入理解系統需求的前提下進行合理選擇,綜合評估可靠性、性能和成本來進行折中的選擇。
RAID思想從提出後就廣泛被業界所接納,存儲工業界投入了大量的時間和財力來研究和開發相關產品。而且,隨着處理器、內存、計算機接口等技術的不斷髮展,RAID不斷地發展和革新,在計算機存儲領域得到了廣泛的應用,從高端系統逐漸延伸到普通的中低端系統。RAID技術如此流行,源於其具有顯著的特徵和優勢,基本可以滿足大部分的數據存儲需求。總體説來,RAID主要優勢有如下幾點:
(1) 大容量
這是RAID的一個顯然優勢,它擴大了磁盤的容量,由多個磁盤組成的RAID系統具有海量的存儲空間。現在單個磁盤的容量就可以到1TB以上,這樣RAID的存儲容量就可以達到PB級,大多數的存儲需求都可以滿足。一般來説,RAID可用容量要小於所有成員磁盤的總容量。不同等級的RAID算法需要一定的冗餘開銷,具體容量開銷與採用算法相關。如果已知RAID算法和容量,可以計算出RAID的可用容量。通常,RAID容量利用率在50% ~ 90%之間。
(2) 高性能
RAID的高性能受益於數據條帶化技術。單個磁盤的I/O性能受到接口、帶寬等計算機技術的限制,性能往往很有限,容易成為系統性能的瓶頸。通過數據條帶化,RAID將數據I/O分散到各個成員磁盤上,從而獲得比單個磁盤成倍增長的聚合I/O性能。
(3) 可靠性
可用性和可靠性是RAID的另一個重要特徵。從理論上講,由多個磁盤組成的RAID系統在可靠性方面應該比單個磁盤要差。這裏有個隱含假定:單個磁盤故障將導致整個RAID不可用。RAID採用鏡像和數據校驗等數據冗餘技術,打破了這個假定。鏡像是最為原始的冗餘技術,把某組磁盤驅動器上的數據完全複製到另一組磁盤驅動器上,保證總有數據副本可用。比起鏡像50%的冗餘開銷,數據校驗要小很多,它利用校驗冗餘信息對數據進行校驗和糾錯。RAID冗餘技術大幅提升數據可用性和可靠性,保證了若干磁盤出錯時,不會導致數據的丟失,不影響系統的連續運行。
(4) 可管理性
實際上,RAID是一種虛擬化技術,它對多個物理磁盤驅動器虛擬成一個大容量的邏輯驅動器。對於外部主機系統來説,RAID是一個單一的、快速可靠的大容量磁盤驅動器。這樣,用户就可以在這個虛擬驅動器上來組織和存儲應用系統數據。從用户應用角度看,可使存儲系統簡單易用,管理也很便利。由於RAID內部完成了大量的存儲管理工作,管理員只需要管理單個虛擬驅動器,可以節省大量的管理工作。RAID可以動態增減磁盤驅動器,可自動進行數據校驗和數據重建,這些都可以大大簡化管理工作。

RAID數據恢復標準RAID等級

SNIA、Berkeley等組織機構把RAID0 、RAID1、RAID2、RAID3、 RAID4、RAID5、RAID6七個等級定為標準的RAID等級,這也被業界和學術界所公認。標準等級是最基本的RAID配置集合,單獨或綜合利用數據條帶、鏡像和數據校驗技術。標準RAID可以組合,即RAID組合等級,滿足對性能、安全性、可靠性要求更高的存儲應用需求。 [1] 
軟RAID :
軟RAID沒有專用的控制芯片和I/O芯片,完全由操作系統和CPU來實現所的RAID的功能。現代操作系統基本上都提供軟RAID支持,通過在磁盤設備驅動程序上添加一個軟件層,提供一個物理驅動器與邏輯驅動器之間的抽象層。目前,操作系統支持的最常見的RAID等級有RAID0、RAID1、RAID10、RAID01和RAID5等。比如,Windows Server支持RAID0、RAID1和RAID5三種等級,Linux支持RAID0、RAID1、RAID4、RAID5、RAID6等,Mac OS X Server、FreeBSD、NetBSD、OpenBSD、Solaris等操作系統也都支持相應的RAID等級。
軟RAID的配置管理和數據恢復都比較簡單,但是RAID所有任務的處理完全由CPU來完成,如計算校驗值,所以執行效率比較低下,這種方式需要消耗大量的運算資源,支持RAID模式較少,很難廣泛應用。 軟RAID由操作系統來實現,因此係統所在分區不能作為RAID的邏輯成員磁盤,軟RAID不能保護系統盤D。對於部分操作系統而言,RAID的配置信息保存在系統信息中,而不是單獨以文件形式保存在磁盤上。這樣當系統意外崩潰而需要重新安裝時,RAID信息就會丟失。另外,磁盤的容錯技術並不等於完全支持在線更換、熱插拔或熱交換,能否支持錯誤磁盤的熱交換與操作系統實現相關,有的操作系統熱交換。
硬RAID :
硬RAID擁有自己的RAID控制處理與I/O處理芯片,甚至還有陣列緩衝,對CPU的佔用率和整體性能是三類實現中最優的,但實現成本也最高的。硬RAID通常都支持熱交換技術,在系統運行下更換故障磁盤。
硬RAID包含RAID卡和主板上集成的RAID芯片,服務器平台多采用RAID卡。RAID卡由RAID核心處理芯片(RAID卡上的CPU)、端口、緩存和電池4部分組成。其中,端口是指RAID卡支持的磁盤接口類型,如IDE/ATA、SCSI、SATA、SAS、FC等接口。 5.3軟硬混合RAID 軟RAID性能欠佳,而且不能保護系統分區,因此很難應用於桌面系統。而硬RAID成本非常昂貴,不同RAID相互獨立,不具互操作性。因此,人們採取軟件與硬件結合的方式來實現RAID,從而獲得在性能和成本上的一個折中,即較高的性價比。
這種RAID雖然採用了處理控制芯片,但是為了節省成本,芯片往往比較廉價且處理能力較弱,RAID的任務處理大部分還是通過固件驅動程序由CPU來完成。 6 RAID應用選擇 RAID等級的選擇主要有三個因素,即數據可用性、I/O性能和成本。
目前,在實際應用中常見的主流RAID等級是RAID0,RAID1,RAID3,RAID5,RAID6和RAID10,它們之間的技術對比情況如表1所示。如果不要求可用性,選擇RAID0以獲得高性能。如果可用性和性能是重要的,而成本不是一個主要因素,則根據磁盤數量選擇RAID1。如果可用性,成本和性能都同樣重要,則根據一般的數據傳輸和磁盤數量選擇RAID3或RAID5。在實際應用中,應當根據用户的數據應用特點和具體情況,綜合考慮可用性、性能和成本來選擇合適的RAID等級。
參考資料
  • 1.    劉偉.數據恢復技術深度揭秘:電子工業出版社,2010.5