服務器數據恢復環境&故障:
一臺服務器上有8塊SAS硬盤,其中的7塊硬盤組建了一組RAID5陣列,另外1塊硬盤作為熱備盤使用。劃分了6個LUN,服務器上部署有oracle數據庫。
RAID5磁盤陣列中有2塊硬盤出現故障并離線,RAID5陣列癱瘓,上層LUN無法正常使用。經過硬件工程師檢測,所有硬盤(包括離線的2塊盤)均無物理故障以及壞道。
服務器數據恢復過程:
1、將服務器中所有磁盤編號標記后取出,以只讀方式將所有磁盤進行扇區級全盤鏡像。鏡像完成后將所有磁盤按照編號還原到原服務器中,后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原始磁盤數據造成二次破壞。

2、基于鏡像文件分析所有磁盤的底層數據。通過分析獲取到raid相關信息(條帶大小,磁盤順序及數據走向等),依據這些信息虛擬重組原RAID5陣列。
3、仔細分析每一塊硬盤中的數據,通過北亞企安自主開發的RAID校驗程序做校驗,將先掉線的硬盤剔除出raid。
4、服務器中的的LUN都是基于RAID的,分析LUN在RAID5陣列中的分配情況,以及LUN分配的數據塊MAP。
5、將每一個LUN的數據塊分布MAP提取出來。北亞企安數據恢復工程師針對這些信息編寫相應的程序,解析所有LUN的數據MAP,然后根據數據MAP導出所有LUN的數據。

6、分析所有導出的LUN,發現所有LUN中均包含HP-Unix的LVM邏輯卷信息。嘗試解析每個LUN中的LVM信息,發現其中一共有三套LVM:其中一個LVM中劃分了一個LV,存放OA服務器端的數據;第二個LVM中也劃分了一個LV,存放臨時備份數據;第三個LVM由剩余4個LUN組成,劃分了一個LV,存放Oracle數據庫文件。北亞企安數據恢復工程師編寫LVM解釋程序,嘗試將每個LVM中的LV都解釋出來,但解釋過程中程序報錯。
7、分析程序報錯的原因,并讓開發工程師debug程序出錯的位置,同時安排文件系統工程師檢測所有恢復出來的LUN,檢測是否會因為存儲癱瘓而導致LMV邏輯卷的信息損壞。經過檢測,發現存儲癱瘓確實導致LVM信息損壞。嘗試人工修復損壞的區域,并同步修改程序,重新解析LVM邏輯卷。
8、搭建HP-Unix環境,將解釋出來的LV卷映射到HP-Unix,并嘗試Mount文件系統,結果Mount文件系統出錯。嘗試使用“fsck –F vxfs” 命令修復vxfs文件系統,修復完成后還是不能掛載。懷疑底層vxfs文件系統的部分元數據可能被破壞。
9、分析解析出來的LV,并根據VXFS文件系統的底層結構校驗此文件系統的完整性。經過分析發現底層VXFS文件系統確實有問題,原來當存儲癱瘓的同時此文件系統正在執行IO操作,因此導致部分文件系統元文件損壞。手工修復這些損壞的元文件,直到VXFS文件系統能夠正常解析。將修復好的LV掛載到HP-Unix小機上,嘗試Mount文件系統,這回文件系統沒有報錯,成功掛載。
10、在HP-Unix機器上mount文件系統后,將所有用戶數據均備份至指定磁盤空間。
部分文件目錄截圖:

11、使用Oracle數據庫文件檢測工具“dbv”檢測每個數據庫文件的完整性,沒有發現錯誤。使用北亞企安自主研發的Oracle數據庫檢測工具進行檢測,發現部分數據庫文件和日志文件校驗不一致。安排數據庫工程師修復此類文件后再次校驗,直到所有文件校驗均完全通過。
12、將恢復出來的Oracle數據庫附加到原始生產環境的HP-Unix服務器中,嘗試啟動Oracle數據庫,Oracle數據庫啟動成功。

13、由用戶方配合,啟動Oracle數據庫和OA服務端,在本地安裝OA客戶端。通過OA客戶端對最新的數據記錄以及歷史數據記錄進行驗證,并且安排用戶方單位不同部門人員進行遠程驗證。經過多方面驗證,確認數據完整無誤。數據恢復工作完成。
審核編輯 黃宇
-
服務器
+關注
關注
13文章
9748瀏覽量
87534 -
數據恢復
+關注
關注
10文章
644瀏覽量
18076
發布評論請先 登錄
服務器數據恢復—Linux系統服務器崩潰的數據恢復案例
服務器數據恢復—如何讓ZFS文件系統數據“起死回生”?

服務器數據恢復—Lustre分布式文件系統數據恢復案例

評論