国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

RAID0陣列數(shù)據(jù)恢復(fù)方法研究

2018-03-03 13:12呂秀鑒
關(guān)鍵詞:數(shù)據(jù)恢復(fù)

呂秀鑒

摘要:RAID0陣列作為第一種也是最常見的一種磁盤陣列類型被大量的服務(wù)器和個人機作為提升系統(tǒng)存儲性能的一種廉價解決方式而普遍使用。但是由于RAID0陣列自身的磁盤組織方式,使得這種陣列也成為了所有RAID陣列最容易出現(xiàn)故障,且故障后數(shù)據(jù)最容易遭到破壞的一種陣列形式。本文在分析RAID0陣列組織形式的基礎(chǔ)上,提出了針對RAID0陣列數(shù)據(jù)進(jìn)行恢復(fù)重組的方法。

關(guān)鍵詞:數(shù)據(jù)恢復(fù);RAID0;冗余陣列;數(shù)據(jù)重組

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)11-0188-01

對于RAID0陣列來說,它是最早的一種RAID類型,陣列由多塊硬盤組成,通過陣列控制器讀寫數(shù)據(jù),數(shù)據(jù)被分成大小一樣的條塊,按照盤序依次均勻?qū)懭朊繅K硬盤相對應(yīng)的帶區(qū),循環(huán)往復(fù)。它可以較低的成本提供高于一般硬盤的存儲容量和數(shù)據(jù)讀寫速率。但RAID0陣列不提供冗余校驗功能,所以陣列中只要有一塊硬盤出現(xiàn)故障,即造成整個陣列數(shù)據(jù)損壞,無法完整讀出。

對于RAID0的數(shù)據(jù)恢復(fù)來說,由于陣列已經(jīng)失效,無法正常讀出,所以只能把硬盤從陣列控制器上斷開,作為單一硬盤逐個取出,排除可能存在的物理故障。然后對硬盤依次做鏡像,并對鏡像文件進(jìn)行分析,確定RAID陣列控制參數(shù):RAID組織方式、起始位置、塊大小、盤序。最后使用專業(yè)RAID數(shù)據(jù)重組工具軟件對磁盤鏡像進(jìn)行重組,嘗試讀出陣列數(shù)據(jù)。我們以一個由3塊硬盤組成的RAID0陣列為例,具體分析思路分以下幾步:

1 確認(rèn)硬盤上RAID0數(shù)據(jù)塊的起始位置扇區(qū)

我們分析RAID0數(shù)據(jù)塊的起始位置,就是要找到由多個硬盤組成的邏輯卷的起始位置。一般來說,由陣列卡組成的硬RAID陣列從每個硬盤開始位置第一個扇區(qū)即是陣列數(shù)據(jù),但由操作系統(tǒng)組建的軟RAID一般都不會從硬盤的起始位置第一個扇區(qū)開始記錄陣列數(shù)據(jù)。所以針對不同的情況,首先要分析每塊硬盤的0號扇區(qū),進(jìn)行比較。如果是硬RAID陣列硬盤的話,每塊硬盤里0號扇區(qū)的內(nèi)容是不一樣的,我們可以初步確定RAID陣列數(shù)據(jù)塊的起始位置就在每塊硬盤的0號扇區(qū);如果是軟RAID陣列硬盤的話,會發(fā)現(xiàn)每塊硬盤的0號扇區(qū)的內(nèi)容是一樣的,那么這些一樣的內(nèi)容肯定不屬于RAID陣列數(shù)據(jù),RAID0數(shù)據(jù)塊會在相對靠后的位置存在。所以起始位置判斷的依據(jù)就是磁盤分區(qū)結(jié)構(gòu)。以最常見的DOS分區(qū)結(jié)構(gòu)為例,0扇區(qū)的MBR(主引導(dǎo)記錄)和每個分區(qū)的DBR(操作系統(tǒng)引導(dǎo)記錄)都是用作分析起始位置的判斷依據(jù)。MBR和DBR這類分區(qū)結(jié)構(gòu)扇區(qū)都屬于引導(dǎo)扇區(qū),有著不同于普通扇區(qū)的結(jié)構(gòu)標(biāo)記,即扇區(qū)結(jié)束位置的第510和511字節(jié)的數(shù)據(jù)是固定組合十六進(jìn)制數(shù)據(jù)“55AA”。所以我們可以在分析階段從0扇區(qū)開始查找符合位置要求的十六進(jìn)制數(shù)值“55AA”,從而找出陣列的MBR和DBR(硬RAID只存在DBR)。

在服務(wù)器陣列中,采用NTFS文件系統(tǒng)的比較多。如果我們通過查找“55AA”的方法直接在陣列中某塊硬盤的0號扇區(qū)找到了NTFS文件系統(tǒng)的 DBR的話,基本上就可以判斷陣列數(shù)據(jù)起始位置就是每塊硬盤的0號扇區(qū)了。如果沒有,而是在0號扇區(qū)或稍后的位置找到了MBR,則要分析MBR中所標(biāo)出的DPT分區(qū)表信息。我們可以從DPT分區(qū)表項中讀出分區(qū)類型和分區(qū)開始位置等重要信息,以當(dāng)前圖中偏移地址0x01c2處取值為“42”,代表當(dāng)前分區(qū)為活動分區(qū)類型;偏移地址0x01c6處取值為0x0000003F,代表當(dāng)前分區(qū)的起始位置偏移地址為63扇區(qū)。我們從發(fā)現(xiàn)MBR的0號扇區(qū)位置開始加上這個參數(shù)63,就可以在硬盤上找到DBR的位置,也就是陣列數(shù)據(jù)起始的位置扇區(qū)號是0+63=63號扇區(qū)。

2 分析RAID數(shù)據(jù)塊的大小

由于數(shù)據(jù)在RAID0陣列上是以數(shù)據(jù)塊的方式均勻分布存儲在每一塊硬盤上,所以我們在重組陣列數(shù)據(jù)時,確定數(shù)據(jù)塊的大小是非常必要的。一般我們通過由陣列構(gòu)造的 NTFS卷中的一個重要存儲結(jié)構(gòu)元文件$MFT(主文件表)來進(jìn)行判斷。$MFT中的文件記錄項以兩個扇區(qū)為一個文件記錄的存儲單位,我們可以通過分別在每個硬盤上查找文件記錄項的開始標(biāo)記十六進(jìn)制數(shù)值“46494c45”來定位$MFT文件記錄的位置。在相同的扇區(qū)地址上分別比較不同硬盤上文件記錄中記錄號之間的差值,就可以推算出在一個數(shù)據(jù)塊內(nèi)包含的文件記錄個數(shù),進(jìn)而推算出數(shù)據(jù)塊的大小。例如我們分別在每塊硬盤的41791號扇區(qū)處找到了$MFT文件記錄,則我們可以查看到文件記錄號分別為0x000000c0,0x00000080,0x00000100,十進(jìn)制的數(shù)值分別為192,128,256。通過計算這三個數(shù)字間的等差值,我們可以推算出每個數(shù)據(jù)塊存儲了64個文件記錄,每個文件記錄占用2個扇區(qū)的存儲空間,就是每個數(shù)據(jù)塊一共有64×2=128個扇區(qū)。

3 確認(rèn)硬盤盤序

盤序關(guān)乎著組成陣列的所有硬盤的讀寫順序,是重組RAID0陣列數(shù)據(jù)的另一個關(guān)鍵參數(shù)。盤序的判斷思路分為兩步,首先通過查找起始位置扇區(qū)的操作,我們可以判斷由陣列構(gòu)造的 NTFS卷中DBR的位置,那么存儲著DBR扇區(qū)的這塊硬盤就是NTFS卷的第一個扇區(qū),也是陣列起始位置,也就是第一塊被RAID0讀寫的硬盤,它是陣列中的第一塊盤。其次通過判斷數(shù)據(jù)塊大小的操作,我們可以找到每個硬盤在相同扇區(qū)位置上文件記錄號的差異,以上例中我們分別在每塊硬盤的41791號扇區(qū)處找到的$MFT文件記錄號分別為192,128,256,(128﹤192﹤256)則可以判斷第②塊盤為1號盤,第①塊盤為2號盤,第③塊盤為3號盤。至此每塊硬盤的盤序得以確定。

4 重組RAID0陣列數(shù)據(jù)

在確定了起始位置在63號扇區(qū)、塊大小為64KB、盤序為②①③,這幾個參數(shù)之后,我們可以利用一些專用軟件來將這幾塊硬盤的鏡像進(jìn)行重組,建立虛擬RAID卷,嘗試讀出陣列數(shù)據(jù)。常用的工具軟件有WinHex,R-Studio等,我們以WinHex為例,選擇Specialist菜單中的Reconstruct RAID System工具項,在彈出的窗口中按照盤序依次將鏡像文件載入窗口列表;設(shè)置Header size in sectors(起始扇區(qū))取值為63;選擇RAID類型為Level0;設(shè)置Stripe size in sectors(塊大小)取值為128扇區(qū);然后點擊確認(rèn)按鈕,即可看到重組之后的虛擬RAID卷,并導(dǎo)出分區(qū)數(shù)據(jù)。

RAID0陣列作為一種常見的磁盤陣列組織方式,在日常應(yīng)用中由于硬件故障或操作者處理不當(dāng)?shù)纫蛩?,極容易出現(xiàn)陣列的失效、數(shù)據(jù)無法讀出。作為數(shù)據(jù)恢復(fù)技術(shù)的初學(xué)者,可能接觸磁盤陣列恢復(fù)業(yè)務(wù)的機會不是很多,不過只要我們依據(jù)上述恢復(fù)步驟,認(rèn)真分析,不斷嘗試,總是可以將用戶的數(shù)據(jù)恢復(fù)回來的。

在基于工作過程的數(shù)據(jù)恢復(fù)技術(shù)課程改革與研究中,我們向行業(yè)專家、企業(yè)一線數(shù)據(jù)恢復(fù)從業(yè)者求教;對數(shù)據(jù)恢復(fù)工程師實施職業(yè)分析;圍繞工作任務(wù)的需要進(jìn)行了課程教學(xué)內(nèi)容的選擇,在傳統(tǒng)軟件恢復(fù)方法的教學(xué)內(nèi)容基礎(chǔ)之上,增加了磁盤陣列數(shù)據(jù)重組和數(shù)據(jù)提取等實際生產(chǎn)中經(jīng)常遇到的典型工作場景,以期促進(jìn)學(xué)生職業(yè)興趣發(fā)展和能力的拓展以及就業(yè)后能很快適應(yīng)工作的需要。

參考文獻(xiàn)

[1]武春嶺,何倩.數(shù)據(jù)恢復(fù)技術(shù)[M].高等教育出版社,2016(7).

Research on RAID0 Data Recovery Method

LV Xiu-jian

(Shi Jia Zhuang University of Applied Technology,Shijiazhuang Hebei? 050081)

Abstract:RAID0, as the first and most common type redundant arrays of disks, is widely used by a large number of servers and personal computers as a cheap solution to improve the storage performance of the system. However, due to the RAID 0 's own disk organization, RAID 0? has become the most vulnerable to failure of all RAID , and the data is most vulnerable to damage after failure. Based on the analysis of RAID0 organization form, this paper proposes a method of recovery and reorganization for RAID0 data.

Key words:data recovery;RAID0;redundant arrays;data reorganization

猜你喜歡
數(shù)據(jù)恢復(fù)
Windows下數(shù)據(jù)恢復(fù)的一點認(rèn)識
服務(wù)器數(shù)據(jù)備份和恢復(fù)研究
穆棱市| 湖南省| 台北市| 肃宁县| 大庆市| 元氏县| 江达县| 县级市| 会昌县| 肃宁县| 彭州市| 浦城县| 石嘴山市| 麻栗坡县| 玉环县| 化州市| 大同市| 泰和县| 阜阳市| 长宁县| 武山县| 武胜县| 许昌县| 苗栗市| 三河市| 宁强县| 巴中市| 全南县| 海兴县| 华蓥市| 福清市| 新密市| 山阴县| 揭阳市| 威宁| 仪征市| 永平县| 泊头市| 合肥市| 集贤县| 太和县|