利用-flat.vmdk檔案恢復ESXI虛擬機器的vmdk檔案
在vSphere上,一次重啟虛擬伺服器時出現啟動不了,提示找不到vmdk虛擬磁碟檔案
檢視這臺虛擬伺服器的摘要資訊,對比datastore上其他可用的虛擬機器,發現損壞的伺服器上確實缺少一個vmdk磁碟檔案,但是可以看見一個50G的xxx-flat.vmdk檔案;而正常的伺服器只有xxx.vmdk,沒有xxx-flat.vmdk,關機之後兩個檔案都存在,而且真實的磁碟容量從vmdk轉移到了xxx-flat.vmdk。
虛擬主機在執行的時候,實際在使用的是xxx-flat.vmdk,然而xxx.vmdk是可以同時被刪除的,才導致了問題。
這裡需要說明,虛擬機器的每個磁碟驅動器都包含了一對.vmdk檔案。一個是文字檔案,包含了關於虛擬硬碟的描述資料;另外一個是磁碟的實際內容。例如,一個名為examplevm的虛擬機器連線有一個硬碟。這個磁碟由如下兩個檔案構成:一個小於 1KB 的examplevm.vmdk描述檔案和一個10GB大小的examplevm- flat.vmdk平面(資料)檔案,該檔案包含虛擬機器的實際資料,而這些資料又是以二進位制的形式存放在物理磁碟上,examplevm.vmdk描述檔案就是描述這種對映關係的。.
1) 用ssh登入vsphere主機,查詢xxx-flat.vmdk檔案所在的位置以及目錄,並記錄檔案的大小
~ # find / -name "新建虛擬機器-flat.vmdk" /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器/新建虛擬機器-flat.vmdk ~ # ls -l /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器/新建虛擬機器-flat.vmdk -rw------- 1 root root 53687091200 Apr 16 09:13 /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器/新建虛擬機器-flat.vmdk
注意,ESXi5預設沒有開啟ssh,需要透過vsphere client登入伺服器,【配置】【安全配置檔案】【服務-屬性】手動開啟。
2) 重新命名xxx-flat.vmdk檔案
~# cd /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器/ /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器_1 # mv 新建虛擬機器-flat.vmdk tmp_新建虛擬機器-flat.vmdk /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器 # ls -la drwxr-xr-x 1 root root 1680 Apr 21 05:47 . drwxr-xr-t 1 root root 2660 Apr 18 03:16 .. -rw-r--r-- 1 root root 102076 Apr 18 10:05 vmware.log -rw------- 1 root root 96468992 Apr 18 05:43 vmx-新建虛擬機器-578288005-1.vswp -rw------- 1 root root 2147483648 Apr 18 05:43 新建虛擬機器-2277f985.vswp -rw------- 1 root root 53687091200 Apr 21 05:47 新建虛擬機器-flat.vmdk -rw------- 1 root root 8684 Apr 21 05:47 新建虛擬機器.nvram -rw------- 1 root root 503 Apr 18 05:44 新建虛擬機器.vmdk -rw-r--r-- 1 root root 0 Apr 16 09:13 新建虛擬機器.vmsd -rwxr-xr-- 1 root root 3690 Apr 18 05:43 新建虛擬機器.vmx -rw------- 1 root root 0 Apr 18 05:43 新建虛擬機器.vmx.lck -rwxr-xr-- 1 root root 3690 Apr 18 05:43 新建虛擬機器.vmx~
3) 在虛擬機器目錄下建立xxx.vmdk檔案,大小要和xxx-flat.vmdk一樣大
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器 # vmkfstools -c 53687091200 -a lsilogic 新建虛擬機器.vmdk Create: 100% done. /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器 # ls -la *vmdk -rw------- 1 root root 53687091200 Apr 21 05:49 新建虛擬機器-flat.vmdk -rw------- 1 root root 503 Apr 18 05:44 新建虛擬機器.vmdk
4) 將原來的(tmp_)xxx-flat.vmdk覆蓋掉剛建立的同樣大小的xxx-flat.vmdk
/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虛擬機器 # mv tmp_新建虛擬機器-flat.vmdk 新建虛擬機器-flat.vmdk
重新命名操作很快完成,啟動虛擬機器既可以恢復。(改完名後新建虛擬機器-flat.vmdk檔案就不見了)
相比重新建立一個同名虛擬機器,然後mv原來的xxx-flat.vmdk硬碟檔案到新的虛擬機器,更節省時間;此外也無需再次配置網路卡地址。
xxx.vmdk本身是一個不到1k的文字檔案,透過vi編輯檢視可知真正存放資料的是xxx-flat.vmdk磁碟檔案,所以只要這個檔案還存在,就可以恢復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2653305/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 虛擬機器vmdk檔案刪除後如何恢復資料虛擬機
- 【虛擬機器資料恢復】誤刪除VMware虛擬機器vmdk檔案的資料恢復案例虛擬機資料恢復
- 【伺服器資料恢復】VMware虛擬機器磁碟檔案恢復案例伺服器資料恢復虛擬機
- 【虛擬機器資料恢復】Hyper-V虛擬化檔案丟失的資料恢復案例虛擬機資料恢復
- 【虛擬機器資料恢復】VMware ESXi誤刪除虛擬機器的資料恢復案例虛擬機資料恢復
- 【虛擬機器資料恢復】ESXI虛擬機器被誤還原快照的資料恢復案例虛擬機資料恢復
- vmdk虛擬機器轉換為OVF模板,匯入esxi虛擬機
- 誤刪除ESXi虛擬機器資料恢復虛擬機資料恢復
- 【伺服器資料恢復】ESXi虛擬機器資料恢復案例伺服器資料恢復虛擬機
- 【伺服器資料恢復】VMware esxi虛擬機器資料恢復案例伺服器資料恢復虛擬機
- 利用備份的控制檔案恢復
- 【虛擬機器資料恢復】FreeNAS+ESXi資料恢復案例虛擬機資料恢復
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 利用歸檔來做資料檔案的恢復
- Apache虛擬機器的配置檔案解說Apache虛擬機
- vmware虛擬機器與主機檔案共享虛擬機
- 【伺服器資料恢復】虛擬機器檔案丟失導致Hyper-V癱瘓的資料恢復伺服器資料恢復虛擬機
- Java虛擬機器——類檔案結構Java虛擬機
- 控制檔案恢復—從trace檔案中恢復
- 虛擬機器的檔案怎麼複製出來 如何把虛擬機器上的檔案拷到電腦上虛擬機
- 虛擬機器和windows主機中的檔案共享虛擬機Windows
- 備份與恢復--利用備份的控制檔案恢復
- 比較虛擬機器檔案系統的效能虛擬機
- JVM虛擬機器Class類檔案研究分析JVM虛擬機
- Eq PS6100儲存不可用恢復虛擬機器檔案成功案例虛擬機
- 控制檔案快照和rman利用快照恢復
- 【伺服器資料恢復】異常斷電導致虛擬機器檔案丟失不能啟動的資料恢復案例伺服器資料恢復虛擬機
- 【伺服器資料恢復】Hyper-V虛擬機器檔案丟失導致服務癱瘓的資料恢復案例伺服器資料恢復虛擬機
- CHK檔案的恢復
- 虛擬機器與主機互傳檔案方法分享虛擬機
- 同名檔案替換怎麼恢復,恢復同名檔案
- 檔案替換後怎麼恢復,恢復被覆蓋的檔案
- word怎麼恢復儲存前的檔案,word檔案恢復
- Java虛擬機器,類檔案結構深度解析Java虛擬機
- Java虛擬機器之Class類檔案結構Java虛擬機
- windows如何傳檔案到linux虛擬機器WindowsLinux虛擬機
- 虛擬機器直接讀本地磁碟中檔案虛擬機
- 恢復SPFILE檔案