0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【服務(wù)器數(shù)據(jù)恢復(fù)】ESXi虛擬磁盤文件被誤刪除的數(shù)據(jù)恢復(fù)案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2023-05-25 16:19 ? 次閱讀

服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境:

IBM X系列服務(wù)器+柏科某型號存儲。服務(wù)器上部署VMware ESXi虛擬主機,存儲上存放虛擬機文件。

虛擬主機采用的Windows Server操作系統(tǒng),部署宏橋和索菲2套應(yīng)用,數(shù)據(jù)庫是SQL Server。

虛擬磁盤:數(shù)據(jù)盤(精簡模式)+ 快照數(shù)據(jù)盤。

服務(wù)器故障:

機房異常斷電導(dǎo)致服務(wù)器上某臺虛擬機無法正常啟動。管理員查看虛擬機配置文件,發(fā)現(xiàn)此虛擬機的配置文件除了磁盤文件外其他的配置文件全部丟失,xxx-flat.vmdk磁盤文件和xxx-000001-delta.vmdk快照文件還在。聯(lián)系VMware原廠工程師,VMware工程師需要新建一個虛擬機來解決故障問題,但發(fā)現(xiàn)ESXi存儲空間不足。于是管理員將故障虛擬機下的xxx-flat.vmdk磁盤文件刪除,然后VMware工程師重建了一個虛擬機并且分配了固定大小的虛擬磁盤。

服務(wù)器數(shù)據(jù)恢復(fù)過程:

1、在VMware vSphere Client上將掛載的存儲設(shè)備中的VMFS卷卸載。然后將存儲上的VMFS卷通過網(wǎng)線連接到北亞企安備份服務(wù)器上,使用工具將整個VMFS卷以扇區(qū)的方式鏡像到備份空間上。后續(xù)的數(shù)據(jù)分析和數(shù)據(jù)恢復(fù)操作均基于鏡像文件進行,避免對原始數(shù)據(jù)造成二次破壞。

2、基于鏡像文件分析VMFS卷的底層,發(fā)現(xiàn)異常斷電導(dǎo)致故障虛擬機目錄下的目錄項被破壞,但是不影響虛擬機的重要數(shù)據(jù),可以通過人工進行修復(fù)。

如果人為刪除某個文件,目錄項對應(yīng)的數(shù)據(jù)區(qū)索引也會被同時清掉,但是不會影響刪除文件的實際數(shù)據(jù)??梢愿鶕?jù)被刪除的虛擬磁盤文件中的文件系統(tǒng)以及虛擬磁盤中的文件類型在VMFS卷自由空間中進行碎片的匹配和合并這種方式來恢復(fù)刪除的虛擬磁盤文件。

但是本案例是在上述的兩個問題同時發(fā)生的情況下又新建一臺虛擬機并且分配了虛擬磁盤。

經(jīng)過分析發(fā)現(xiàn)新分配的虛擬磁盤已經(jīng)全部清零了(在創(chuàng)建虛擬磁盤的時候會選擇創(chuàng)建磁盤的類型),這個新建的虛擬機所占用的磁盤空間全部被清零。如果新分配的虛擬磁盤占用了刪除虛擬機磁盤所釋放的空間,那么此部分空間的數(shù)據(jù)是無法恢復(fù)的。

故障虛擬機的目錄項區(qū)域:

pYYBAGRvGYiADFTzAAU7mrFVkPI702.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

3、經(jīng)過北亞企安數(shù)據(jù)恢復(fù)工程師團隊的會診,最終確認(rèn)服務(wù)器數(shù)據(jù)恢復(fù)方案:

方案a、恢復(fù)刪除的VMDK文件。根據(jù)刪除虛擬磁盤文件中的文件系統(tǒng)以及虛擬磁盤中的文件類型在VMFS卷的自由空間中進行碎片匹配和合并,恢復(fù)刪除的虛擬磁盤文件。將快照文件和恢復(fù)的虛擬磁盤文件合并成一個完整的虛擬磁盤文件,然后利用文件系統(tǒng)解釋工具解釋虛擬磁盤文件中的所有文件。

方案b、恢復(fù)MSSQL數(shù)據(jù)庫文件。如果方案a實施效果不理想,可以根據(jù)SQL Server數(shù)據(jù)庫文件結(jié)構(gòu)對VMFS卷自由空間中符合SQL Server頁結(jié)構(gòu)的數(shù)據(jù)區(qū)域進行統(tǒng)計、分析和聚合,生成一個可以正常使用的.MDF格式的文件。

方案c、恢復(fù)MSSQL數(shù)據(jù)庫備份文件。由于數(shù)據(jù)庫每天都在做備份。如果上述2種方案實施過后還有一些數(shù)據(jù)庫沒有恢復(fù)出來,就只能使用備份文件來恢復(fù)數(shù)據(jù)庫了。根據(jù)掌握的備份文件.bak的結(jié)構(gòu),對VMFS卷自由空間中符合SQL Server備份文件結(jié)構(gòu)的數(shù)據(jù)區(qū)域進行統(tǒng)計、分析和聚合,生成一個可以正常導(dǎo)入到SQL Server數(shù)據(jù)庫中.BAK格式的文件。

4、服務(wù)器數(shù)據(jù)恢復(fù)實施過程:

方案a實施過程:按照方案a進行底層分析,根據(jù)VMFS卷的結(jié)構(gòu)以及刪除虛擬磁盤的文件系統(tǒng)信息,在底層的自由空間中掃描符合刪除虛擬機磁盤的區(qū)域,統(tǒng)計其數(shù)量和大小是否符合刪除虛擬磁盤的大小。根據(jù)虛擬磁盤中文件系統(tǒng)的信息將這些掃描到的碎片進行排列組合,結(jié)果發(fā)現(xiàn)好多碎片缺失。重新掃描這些缺失的碎片,這些碎片確實無法找到。將掃描到的碎片按照虛擬磁盤原始的順序重組,沒有找到的碎片暫且留空。使用虛擬磁盤快照程序合并重組好的父盤和快照盤,生成一個新的虛擬磁盤。解釋虛擬磁盤中的文件系統(tǒng),因為缺失好多數(shù)據(jù),文件系統(tǒng)解釋過程中出現(xiàn)很多報錯,提示某些文件損壞。

poYBAGRvGZuAXXQdAAMzlZTDwR0299.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

解析完文件系統(tǒng)后發(fā)現(xiàn)沒有找到原始的數(shù)據(jù)庫文件,而宏橋備份和索菲備份這兩個目錄的目錄結(jié)構(gòu)正常。但是嘗試將備份導(dǎo)入到數(shù)據(jù)庫中時,數(shù)據(jù)庫導(dǎo)入程序提示報錯。

poYBAGRvGaSASHrkAARkGVosG1U875.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

poYBAGRvGaSAQOMLAAPi37rBL8M593.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

導(dǎo)入.BAK文件報錯信息:

pYYBAGRvGa-ATQB6AATuiOew6nI559.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

方案b實施過程:由于方案a中并沒有將原始的數(shù)據(jù)庫文件恢復(fù)出來,并且很多備份文件無法正常使用。因此采用方案b來恢復(fù)尚未恢復(fù)出來的數(shù)據(jù)庫文件。

根據(jù)SQL Server數(shù)據(jù)庫的結(jié)構(gòu)去自由空間中找到數(shù)據(jù)庫的開始位置。根據(jù)SQL Server數(shù)據(jù)庫的結(jié)構(gòu)特征,數(shù)據(jù)庫的第9個頁會記錄本數(shù)據(jù)庫的數(shù)據(jù)庫名。根據(jù)這個特征核對該數(shù)據(jù)庫的頭部頁是否是正在查找的。SQL Server數(shù)據(jù)庫的每個頁都會記錄數(shù)據(jù)庫頁編號和文件號,根據(jù)這些特征北亞企安數(shù)據(jù)恢復(fù)工程師編寫數(shù)據(jù)

庫掃描程序在底層掃描所有符合數(shù)據(jù)庫頁的數(shù)據(jù)碎片。將掃描出來的碎片按順序重組成一個完整MDF文件,通過MDF校驗程序檢測整個MDF文件的完整性。校檢完成后發(fā)現(xiàn)只有cl_system3.dbf和erp42_jck.dbf這2個文件沒有找到外,其余數(shù)據(jù)庫均校驗成功。

poYBAGRvGbmAXZVNAAPVrJ62ZXk522.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

cl_system3.dbf和erp42_jck.dbf因為底層有很多碎片沒有找到(可能被覆蓋),因此校驗不通過。

cl_system3.dbf文件中某個碎片丟失的區(qū)域:

poYBAGRvGeyAEhDCAAU_6gfOoDo471.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

方案c實施過程:

上述兩個方案實施后并沒有將所有的數(shù)據(jù)庫文件全部恢復(fù)出來。cl_system3.dbf和erp42_jck.dbf這2個文件因部分頁缺失,無法使用,需要采用備份來恢復(fù)這兩個數(shù)據(jù)庫文件。但是檢查完這兩個文件的備份后發(fā)現(xiàn)cl_system3.dbf由于備份機制沒有備份出來,而erp42_jck.dbf只有某個月的全部增量備份。

pYYBAGRvGfSAAvmBAAT-cUIuEL0728.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

由于erp42_jck.dbf文件中只缺失少量的頁,可以根據(jù)缺失的頁號在增量備份中查找到缺失的頁,然后將找到的頁補到erp42_jck.dbf文件中,從而恢復(fù)一部分丟失的數(shù)據(jù)庫頁。通過上述方法補完頁后還是缺失部分頁,無法正常使用,只能通過北亞企安自主開發(fā)的數(shù)據(jù)庫解析程序?qū)rp42_jck.dbf文件中比較重要的幾十張表導(dǎo)出,并成功導(dǎo)入到新建的數(shù)據(jù)庫中。

驗證數(shù)據(jù):

在一臺服務(wù)器中搭建和原始環(huán)境一樣的數(shù)據(jù)庫環(huán)境,由用戶方通過遠程工具連接到該服務(wù)器并安裝宏橋應(yīng)用。由用戶方工程師驗證數(shù)據(jù)庫的完整性,經(jīng)過反復(fù)仔細驗證后,確認(rèn)數(shù)據(jù)庫沒有問題,上層應(yīng)用可以正常運行,數(shù)據(jù)記錄也基本沒有缺失。

數(shù)據(jù)庫成功掛載:

pYYBAGRvGfuAO5GzAAMeuhuIgkY331.png

北亞企安數(shù)據(jù)恢復(fù)——ESXi虛擬機數(shù)據(jù)恢復(fù)

服務(wù)器數(shù)據(jù)恢復(fù)總結(jié):

本案例先是斷電導(dǎo)致服務(wù)器中部分文件丟失;然后人為刪掉部分?jǐn)?shù)據(jù),又重新寫入部分?jǐn)?shù)據(jù),導(dǎo)致部分?jǐn)?shù)據(jù)被覆蓋;又因為數(shù)據(jù)庫備份機制導(dǎo)致部分?jǐn)?shù)據(jù)庫的備份不可用;所以本案例恢復(fù)難度系數(shù)很高。因為北亞企安數(shù)據(jù)恢復(fù)工程師團隊對SQL Server數(shù)據(jù)庫底層結(jié)構(gòu)有深入的研究,并且有處理類似故障類型的經(jīng)驗,

所以才能順利恢復(fù)出用戶需要的數(shù)據(jù)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)恢復(fù)

    關(guān)注

    10

    文章

    575

    瀏覽量

    17470
  • 磁盤
    +關(guān)注

    關(guān)注

    1

    文章

    379

    瀏覽量

    25209
  • 虛擬機
    +關(guān)注

    關(guān)注

    1

    文章

    917

    瀏覽量

    28221
收藏 人收藏

    評論

    相關(guān)推薦

    服務(wù)器數(shù)據(jù)恢復(fù)—LINUX系統(tǒng)刪除/格式化的數(shù)據(jù)恢復(fù)可行性分析

    Linux操作系統(tǒng)是世界上流行的操作系統(tǒng)之一,廣泛用于服務(wù)器、個人電腦、移動設(shè)備和嵌入式系統(tǒng)。Linux系統(tǒng)下數(shù)據(jù)誤刪除或者誤格式化的問
    的頭像 發(fā)表于 12-06 13:52 ?143次閱讀

    使用lsof實現(xiàn)對linux文件誤刪除恢復(fù)練習(xí)

    本文記錄使用lsof實現(xiàn)對linux文件誤刪除恢復(fù)練習(xí)。題目如下: 1.確保當(dāng)前nginx進程運行中 2.刪除日志文件,rm -f /va
    的頭像 發(fā)表于 11-24 11:14 ?193次閱讀
    使用lsof實現(xiàn)對linux<b class='flag-5'>文件</b>的<b class='flag-5'>誤刪除</b><b class='flag-5'>恢復(fù)</b>練習(xí)

    服務(wù)器數(shù)據(jù)恢復(fù)—EVA存儲誤刪除VDISK的數(shù)據(jù)恢復(fù)案例

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境: 某單位有一臺EVA某型號存儲主機+2個擴展柜,共12個FATA磁盤+10個FC磁盤,LUN數(shù)量不確定,操作系統(tǒng)為
    的頭像 發(fā)表于 11-05 14:39 ?191次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—EVA存儲<b class='flag-5'>誤刪除</b>VDISK的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—EXT3文件系統(tǒng)下誤刪除數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 郵件服務(wù)器中有一組由8塊盤組成的RAID5陣列, 上層是Linux操作系統(tǒng)+EXT3文件系統(tǒng)。
    的頭像 發(fā)表于 10-23 15:11 ?173次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—EXT3<b class='flag-5'>文件</b>系統(tǒng)下<b class='flag-5'>誤刪除數(shù)據(jù)</b>的<b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—意外斷電導(dǎo)致虛擬虛擬磁盤損壞的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 一臺服務(wù)器中有一組由4塊STAT硬盤通過RAID卡組建的RAID10陣列,上層是XenServer虛擬化平臺,
    的頭像 發(fā)表于 09-10 17:25 ?366次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—意外斷電導(dǎo)致<b class='flag-5'>虛擬</b>機<b class='flag-5'>虛擬</b><b class='flag-5'>磁盤</b>損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    NetApp數(shù)據(jù)恢復(fù)—NetApp存儲誤刪除數(shù)據(jù)恢復(fù)案例

    某公司一臺NetApp存儲,該存儲中有24塊磁盤。 工作人員誤刪除了NetApp存儲中一個文件夾,文件夾中有非常重要的數(shù)據(jù)。
    的頭像 發(fā)表于 08-12 13:35 ?279次閱讀
    NetApp<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—NetApp存儲<b class='flag-5'>誤刪除</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    虛擬數(shù)據(jù)恢復(fù)—KVM虛擬誤刪除數(shù)據(jù)恢復(fù)案例

    虛擬數(shù)據(jù)恢復(fù)環(huán)境: Linux操作系統(tǒng)服務(wù)器,EXT4文件系統(tǒng)。服務(wù)器中有數(shù)臺KVM
    的頭像 發(fā)表于 08-07 13:33 ?470次閱讀
    <b class='flag-5'>虛擬</b>機<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—KVM<b class='flag-5'>虛擬</b>機<b class='flag-5'>被</b><b class='flag-5'>誤刪除</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)—Oracle刪除數(shù)據(jù)不用怕!這些數(shù)據(jù)恢復(fù)方法了解一下

    相信有很多oracle數(shù)據(jù)庫用戶都遇到過在操作Oracle數(shù)據(jù)庫時誤刪除某些重要數(shù)據(jù)的情況,這個時候如果數(shù)據(jù)庫沒有備份且
    的頭像 發(fā)表于 07-19 16:40 ?534次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致虛擬機配置文件丟失的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 某品牌X3850系列服務(wù)器(用于VMware虛擬主機)+某品牌RD220i系列存儲(用于存放
    的頭像 發(fā)表于 06-28 16:34 ?364次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—異常斷電導(dǎo)致<b class='flag-5'>虛擬</b>機配置<b class='flag-5'>文件</b>丟失的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)誤刪除KVM虛擬機的數(shù)據(jù)恢復(fù)案例

    1臺服務(wù)器,Linux操作系統(tǒng)+EXT4文件系統(tǒng),部署了數(shù)臺KVM虛擬機,每臺虛擬機包含一個qcow2格式的磁盤
    的頭像 發(fā)表于 06-17 15:10 ?366次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>誤刪除</b>KVM<b class='flag-5'>虛擬</b>機的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—EMC Isilon存儲中虛擬數(shù)據(jù)恢復(fù)案例

    、AS、TS類型的視頻文件等。需要恢復(fù)數(shù)據(jù)虛擬機通過NFS協(xié)議共享到ESX主機,視頻文件通過CIFS協(xié)議共享給虛擬機(WEB
    的頭像 發(fā)表于 06-13 13:38 ?402次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—EMC Isilon存儲中<b class='flag-5'>虛擬</b>機<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—KVM虛擬機raw格式磁盤文件數(shù)據(jù)恢復(fù)案例

    : 工作人員操作失誤刪除服務(wù)器上的3臺KVM虛擬機,虛擬機中運行數(shù)據(jù)庫,需恢復(fù)
    的頭像 發(fā)表于 05-17 13:33 ?453次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—KVM<b class='flag-5'>虛擬</b>機raw格式<b class='flag-5'>磁盤</b><b class='flag-5'>文件數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    虛擬數(shù)據(jù)恢復(fù)—EXT4文件系統(tǒng)下KVM虛擬數(shù)據(jù)恢復(fù)案例

    文件和一個raw格式的磁盤文件,用戶需要恢復(fù)數(shù)據(jù)是raw格式的磁盤
    的頭像 發(fā)表于 04-17 14:22 ?384次閱讀
    <b class='flag-5'>虛擬</b>機<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—EXT4<b class='flag-5'>文件</b>系統(tǒng)下KVM<b class='flag-5'>虛擬</b>機<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—分享幾個服務(wù)器數(shù)據(jù)恢復(fù)的案例

    服務(wù)器數(shù)據(jù)恢復(fù)案例之服務(wù)器raid6中3個磁盤離線導(dǎo)致陣列崩潰的數(shù)據(jù)
    的頭像 發(fā)表于 03-04 13:21 ?1166次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)-異常斷電導(dǎo)致服務(wù)器故障的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: dell某型號服務(wù)器中有一組通過raid卡組建的raid10,該raid陣列中一共有4塊磁盤。上層部署XenServ
    的頭像 發(fā)表于 02-28 15:15 ?855次閱讀
    <b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>-異常斷電導(dǎo)致<b class='flag-5'>服務(wù)器</b>故障的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例