Vmware 恢復flat.vmdk和delta.vmdk


背景:

一次客戶現場突然掉電,導致虛擬機文件夾里面的文件丟失,只剩余-flat.vmdk和-delta.vmdk文件,其他文件全部丟失,文件格式原本為"文件"格式。新建虛擬機無法直接使用此文件夾里面的文件。

知識普及:

xx-delta.vmdk是快照磁盤數據文件

xx-flat.vmdk是磁盤數據文件

-flat.vmdk文件:這是個默認的大型虛擬磁盤數據文件,創建於你添加虛擬硬盤驅動到虛擬機時,而不是RDM。當使用厚磁盤時,這個文件的大小相當於你創建虛擬硬盤驅動時所指定的大小。

-delta.vmdk文件:這些虛擬磁盤數據文件只用於創建虛擬機快照時。當創建了快照,對原始flat.vmdk的所有寫入都停止,並變成只讀;然后這些對虛擬磁盤的更改將寫入delta文件。這些文件的初始大小是16MB,然后隨着對虛擬機虛擬硬盤的更改需要而以16MB的速度增長。因為這些文件是虛擬磁盤所作更改的位圖,一個單一delta.vmdk文件不能超過原始flat.vmdk文件的大小。每為虛擬機創建一個快照就會生成一個delta文件,並且它們的文件名以數字遞增(如myvm-000001-delta.vmdk和myvm-000002-delta.vmdk)。當快照融合到原始–flat.vmdk文件后再刪除時,這些文件將自動刪除。

解決方法:共分為兩個大步驟

第一步:恢復磁盤文件

1、SSH登錄到ESX主機的控制台界面;(具體不會看另一篇文檔)

2、切換到問題磁盤所在目錄:

df -h

cd /vmfs/volumes/xxxxvolume/xxxx

3、確認當前虛擬磁盤所用的SCSI控制器(有就查看,沒有就算了)

less *.vmx,查找到類似scsi1.virtualDev="lsilogic"的內容

4、查看需要修復文件的大小(必須一致!必須一致!必須一致!):

ls -ltr

會顯示如下類似信息

-rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdk

5、執行vmkfstools命令創建一個新磁盤:

vmkfstools -c 4294967296 -a lsilogic xxx.vmdk

-c:磁盤大小

-a:磁盤控制器類型(BusLogic 或者 LSILogic)

-d:磁盤類型

第二步:恢復快照文件

1.系統正常啟動以后,開始執行快照。

2.查看自己的xx-delta.vmdk文件,有幾個就創建幾個快照,用來替換。

3.全部替換完成后,轉到最新的快照。啟動系統就好了。

一套組合拳完畢,打完收工。然而。。。藍屏!!!

不知道我的系統老舊還是什么原因,恢復后顯示藍屏,無法進入系統,最后通過PE進入系統,把數據拷貝下來了,重新搭建就行了。

謝謝兩位前輩指點:

參考文獻:https://blog.51cto.com/liyanxin/1395713

參考文獻:https://blog.51cto.com/hujizhou/1138850


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM