RAID數據恢復

RAID數據恢復

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

基本介紹

  • 中文名冗餘磁碟陣列數據恢復
  • 外文名:Redundant Array of Independent Disk
  • 誕生時間:1987年
  • 提出機構:由美國加州大學伯克利分校提出
技術特點,基本知識,常見故障,技術規範,規範介紹,工作原理,JBOD模式,RAID中主要三個關鍵概念和技術,標準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磁碟陣列(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等級,以及具體的實現方式。

常見故障

(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一直是高檔伺服器才有緣享用,一直作為高檔SCSI硬碟配套技術作套用。近來隨著技術的發展和產品成本的不斷下降,IDE硬碟性能有了很大提升,加之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中主要三個關鍵概念和技術

鏡像(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等級

SNIA、Berkeley等組織機構把RAID0 、RAID1、RAID2、RAID3、 RAID4、RAID5、RAID6七個等級定為標準的RAID等級,這也被業界和學術界所公認。標準等級是最基本的RAID配置集合,單獨或綜合利用數據條帶、鏡像和數據校驗技術。標準RAID可以組合,即RAID組合等級,滿足對性能、安全性、可靠性要求更高的存儲套用需求。
軟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等級。

相關詞條

熱門詞條

聯絡我們