服務(wù)器存儲(chǔ)故障:
某單位同友存儲(chǔ),存儲(chǔ)設(shè)備中若干磁盤組建了raid5磁盤陣列。未知原因?qū)е麓鎯?chǔ)設(shè)備崩潰無法啟動(dòng),raid5陣列上層的虛擬機(jī)全部丟失,其中存放了重要數(shù)據(jù)的3臺(tái)虛擬機(jī)需要恢復(fù)。
服務(wù)器存儲(chǔ)數(shù)據(jù)恢復(fù)過程:
1、磁盤鏡像過程就不贅述了。通過與用戶方的溝通以及對(duì)raid陣列的分析,獲悉故障存儲(chǔ)的存儲(chǔ)結(jié)構(gòu):若干物理磁盤組成一個(gè)存儲(chǔ)池,劃分了多個(gè)lun,其中需要恢復(fù)的那3臺(tái)虛擬機(jī)在lun1。
存儲(chǔ)結(jié)構(gòu):
北亞企安數(shù)據(jù)恢復(fù)——同友存儲(chǔ)數(shù)據(jù)恢復(fù)
2、嘗試對(duì)故障存儲(chǔ)中raid5陣列進(jìn)行分析重組,發(fā)現(xiàn)故該raid5陣列缺失2塊硬盤,熱備盤已經(jīng)啟用。
基于現(xiàn)在掌握的信息,可以還原當(dāng)時(shí)故障發(fā)生過程:raid5陣列中第一塊硬盤掉線后,熱備盤自動(dòng)啟動(dòng)替換掉線硬盤。當(dāng)?shù)诙K硬盤掉線后,raid5陣列處于降級(jí)狀態(tài)。當(dāng)?shù)谌龎K硬盤掉線,raid5陣列崩潰。
通常這種情況是無法通過校驗(yàn)直接獲取丟失硬盤的數(shù)據(jù),只能嘗試使用磁盤同等大小的全0鏡像進(jìn)行重組(使用全0鏡像組建的raid,文件系統(tǒng)結(jié)構(gòu)會(huì)被嚴(yán)重破壞,相當(dāng)于每個(gè)條帶都會(huì)缺失兩個(gè)塊的數(shù)據(jù),所以一般情況下不建議使用全0鏡像組建raid。)
重建raid:
北亞企安數(shù)據(jù)恢復(fù)——同友存儲(chǔ)數(shù)據(jù)恢復(fù)
3、通過重組的raid陣列提取LUN。通過對(duì)存儲(chǔ)結(jié)構(gòu)的進(jìn)一步分析,數(shù)據(jù)恢復(fù)工程師獲取到存儲(chǔ)劃分的MAP塊。解析各個(gè)LUN的數(shù)據(jù)塊指針,北亞企安數(shù)據(jù)恢復(fù)工程師編寫數(shù)據(jù)提取程序提取LUN碎片,完成碎片提取后通過拼接碎片組建出完整的LUN。
提取LUN:
北亞企安數(shù)據(jù)恢復(fù)——同友存儲(chǔ)數(shù)據(jù)恢復(fù)
4、導(dǎo)出LUN內(nèi)所有虛擬機(jī)并嘗試啟動(dòng),由于操作系統(tǒng)被破壞,虛擬機(jī)無法成功啟動(dòng)。
5、由于虛擬機(jī)無法啟動(dòng),只能對(duì)虛擬機(jī)內(nèi)的文件進(jìn)行提取,但虛擬機(jī)內(nèi)的多數(shù)文件被破壞嚴(yán)重,只有少部分文件可用,只好嘗試其他數(shù)據(jù)恢復(fù)方案。
6、本案例中需要恢復(fù)數(shù)據(jù)的虛擬機(jī)中有mysql數(shù)據(jù)庫,于是北亞企安數(shù)據(jù)恢復(fù)工程師嘗試通過利用數(shù)據(jù)庫底層存儲(chǔ)的特殊性掃描數(shù)據(jù)頁的方案來提取數(shù)據(jù)。在找到有數(shù)據(jù)庫的虛擬機(jī)后,發(fā)現(xiàn)該虛擬機(jī)啟用快照。父盤和快照文件都損壞的情況下常規(guī)合并操作無法完成,使用北亞企安自主研發(fā)的VMFS快照合并程序進(jìn)行快照合并。
北亞企安數(shù)據(jù)恢復(fù)——同友存儲(chǔ)數(shù)據(jù)恢復(fù)
7、根據(jù)mysql數(shù)據(jù)頁特征掃描數(shù)據(jù)頁并導(dǎo)出(innodb引擎的數(shù)據(jù)庫可以使用此方案,myisam引擎的數(shù)據(jù)庫無“數(shù)據(jù)頁”概念),分析系統(tǒng)表獲取各用戶表信息,根據(jù)各個(gè)表的id進(jìn)行數(shù)據(jù)頁分割。
8、因?yàn)閿?shù)據(jù)庫使用時(shí)間已久,表結(jié)構(gòu)曾多次變更,在存儲(chǔ)損壞后系統(tǒng)表中也有部分?jǐn)?shù)據(jù)丟失,記錄提取過程很不順利。
9、首先獲取最初版本數(shù)據(jù)庫各個(gè)表的表結(jié)構(gòu):合并快照前的父盤因?yàn)閷懭胼^早,使用第一塊掉線盤進(jìn)行校驗(yàn)獲取到這個(gè)文件的完整數(shù)據(jù),然后提取出其中的數(shù)據(jù)庫各個(gè)表的表結(jié)構(gòu)。用戶方提供了最新版的數(shù)據(jù)庫建表腳本。
10、分別使用兩組不同表結(jié)構(gòu)對(duì)數(shù)據(jù)記錄進(jìn)行提取,導(dǎo)入數(shù)據(jù)恢復(fù)環(huán)境中的mysql數(shù)據(jù)庫內(nèi),剔除各個(gè)表中因?yàn)楸斫Y(jié)構(gòu)變更造成的亂碼數(shù)據(jù),最后將兩組數(shù)據(jù)分別導(dǎo)出為.sql文件。
11、因?yàn)閮蓚€(gè)版本的數(shù)據(jù)庫的表結(jié)構(gòu)不同,所以聯(lián)系了用戶方的應(yīng)用工程師進(jìn)行調(diào)試,調(diào)試完成后導(dǎo)入平臺(tái),平臺(tái)調(diào)試成功,用戶方經(jīng)過檢測后認(rèn)可本次數(shù)據(jù)恢復(fù)結(jié)果。
審核編輯 黃宇
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
8958瀏覽量
85082 -
磁盤陣列
+關(guān)注
關(guān)注
0文章
45瀏覽量
14296 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
538瀏覽量
17341
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論