1、什麼是Linux文件系統?數據庫
Linux文件系統中的文件是數據的集合,文件系統不只包含着文件中的數據並且還有文件系統的結構,全部Linux 用戶和程序看到的文件、目錄、軟鏈接及文件保護信息等都存儲在其中。Linux是一個性能穩定、功能強大、效率高的操做系統。它在功能特性方面與Unix系統類似,同時又具備多任務、多用戶、多平臺等若干特性。服務器
2、故障描述網絡
因爲用戶誤操做,將Linux文件系統誤裝入到Ocfs2文件系統的數據捲上,致使原始Ocfs2文件系統被新格式化Ext4文件系統,據對兩種文件系統格式化方式的瞭解,Ext4文件系統每隔幾百兆會寫入文件系統的原始信息的特性,用戶的數據可能受到必定程度的破壞。 工具
3、備份數據性能
一、將存儲以只讀模式映射給備份服務器。spa
二、使用dd,Winhex等專業備份工具將映射到備份服務器中的數據作所有鏡像。操作系統
三、作徹底部鏡像後,將全部存儲配置及鏈路還原至初始狀態,以後數據恢復操做均不對原始硬盤作任何操做3d
4、故障分析blog
一、分析ocfs文件系統結構索引
找到ocfs2文件系統的超級塊,經過分析超級塊得出該文件系統的一些基本結構信息,而後經過客戶給出的虛擬磁盤文件名稱,查找到虛擬磁盤文件的目錄項,繼而找到所對應的全部一級索引項和二級索引項,並利用自主開發的文件系統解析程序,對已備份的數據進行文件系統解析。ocfs2文件系統的索引項結構以下。
二、修復文件系統
修復損壞的文件系統,對原始Ocfs2文件系統作一致性檢測,並對損壞的區域進行人工修復。
5、恢復數據
一、 生成數據
利用自主開發的針對Ocfs2不完整文件系統的解析工具對已修復的Ocfs2文件系統進行解析。並根據文件系統分析的結果,編寫對應的數據提取程序,利用程序最大程度的恢復每個虛擬磁盤文件,並對恢復的每個虛擬磁盤文件進行一致性檢測。
二、 文件檢測與修復
對恢復虛擬磁盤文件進行解析,驗證虛擬磁盤文件是否有錯誤,並嘗試修復。恢復其中的用戶文件,對已恢復的用戶文件進行一致性檢測,並嘗試修復損壞的文件。
6、驗證數據
一、驗證虛擬機
針對用戶比較重要的虛擬機作驗證,發現虛擬機大多均可以開機,能夠到登錄界面。有部分虛擬機開機藍屏或開機檢測磁盤,可是進過光盤修復以後均可以啓動。
部分虛擬機開機以下:
另外發現一臺虛擬機磁盤文件恢復以後,經過解析發現該虛擬機中沒有數據,繼續對該虛擬磁盤文件進行分析,發現該文件索引項存在,可是索引結構並很少,數據量也不多,有可能存在認爲清零或修改的狀況,也可能虛擬機本來就沒有多少數據。
二、驗證數據庫
針對重點虛擬機中的數據庫作驗證,發現數據庫都正常。部分數據庫可能與應用程序對接有的必定問題,經用戶聯繫應用程序原廠的工做人員,通過修復以後,數據庫均可以正常使用。
7、移交數據
因爲時間緊迫,先使用專業工具「UFS」依次導出ocfs2中的虛擬機。而後安排工程師將R510服務器上的虛擬磁盤數據帶到用戶現場。
在現場使用網線將R510服務器接入到用戶內部的網絡當中,而後經過NFS共享,將虛擬機磁盤文件上傳到用戶的服務器上,而後經過ovm虛擬機管理工具進行虛擬機掛載。因爲虛擬機數量不是不少,大小也不是很大,比較快的完成了數據移交。
8、數據恢復總結
整個數據恢復的過程當中,對ocfs2文件結構的分析佔用了比較多的時間,根據ext4文件系統格式化的特性,Ext4文件系統每隔幾百兆會寫入文件系統的原始信息,對用戶的數據形成了很小的損壞,數據恢復完成後用戶對咱們的恢復結果表示認同。