Tips Recover File VMDK

Diawal bulan ini ada klien yang mengalami problem salah satu Virtual Machine-nya (VM) tidak bisa start. Pesan error yang muncul adalah seperti berikut :

“Failed to start the virtual machine,
Module DiskEarly power on failed.
Cannot open the disk virtualmachine.vmdk or one of the snapshot disk it depends on.
The system cannot find the file specified
VMware ESX cannot find the virtual disk “virtualmachine.vmdk”. Verify the path is valid and try again.”

Setelah dicek di datastore ternyata file .vmdk dari VM tersebut hilang :D. Klien info file tersebut tidak ada setelah Host dimatikan karena ada perbaikan instalasi listrik. Yang ada hanya file dengan nama virtualmachine-flat.vmdk selain file lainnya (.vmx,vmsd,vmsf dan log). Dan Ukuran file virtualmachine-flat.vmdk cukup besar sesuai dengan ukuran hardisk virtual VM.

Awalnya saya berfikir cukup merename file virtualmachine-flat.vmdk menjadi virtualmachine.vmdk atau mengganti konfigurasi file .vmx-nya agar mengarah ke file virtualmachine-flat.vmdk. Ternyata cara tersebut salah kaprah 🙂

Dari membaca beberapa referensi VMDK terdiri dari dua buah file :
Pertama sebuah file yang memiliki ukuran sesuai ukuran asli virtual disk (namavm-flat.vmdk)
Kedua adalah file descriptor yang mendefinisikan ukuran dan geometry virtual disk sekaligus sebagai pointer yang mengarah ke file -flat.vmd

Tips Recover File VMDK di VMware (searchvmware.techtarget.com)

Mencoba browsing referensi artikel di internet cara recover file VMDK daari flat file, dapat artikel di KB (Knownledge Base) VMware tapi langkahnya cukup panjang dan rumit. Akhirnya dapat Tips Recover File VMDK di VMware dengan cara singkat dan mudah.

Langkah yang dilakukan, tidak perlu repot-repot recreate file vmdk dari -flat, yang perlu dilakukan cukup buat VM baru dengan spesifikasi yang sama kemudian rename atau pindah file -flat.vmdk VM baru melalui ESXi Shell. Selanjutnya copy/move file virtualmachine-flat.vmdk dan samakan nama filenya dengan file -flat.vmdk VM baru. Coba power on VM baru semestinya akan booting sesuai dengan data VM yang lama.

  1. Sebagai simulasi saya coba buat VM dengan nama Ubuntu 16.04 Prod yang file VMDKnya (Ubuntu 16.04 Prod.vmdk ) hilang.

[[email protected]:/vmfs/volumes/552e4a4a-c20799dd-6883-00110a5dda9e/Ubuntu 16.04 Prod] ls -la
total 16781328
drwxr-xr-x 1 root root 1120 Jan 4 09:17 .
drwxr-xr-t 1 root root 10080 Jan 4 09:15 ..
-rw——- 1 root root 17179869184 Jan 4 09:16 Ubuntu 16.04 Prod-flat.vmdk
-rw——- 1 root root 8684 Jan 4 09:16 Ubuntu 16.04 Prod.nvram
-rw-r–r– 1 root root 0 Jan 4 08:26 Ubuntu 16.04 Prod.vmsd
-rwxr-xr-x 1 root root 2886 Jan 4 09:16 Ubuntu 16.04 Prod.vmx
-rw-r–r– 1 root root 279010 Jan 4 09:16 vmware-1.log
-rw-r–r– 1 root root 54158 Jan 4 09:17 vmware.log

Karena file Ubuntu 16.04 Prod.vmdk tidak ada, VM tidak bisa di-Upkan. Pesan errornya seperti dibawah ini

2. Buat VM baru dengan spesifikasi yang sama seperti VM tersebut, sebagai contoh saya buat VM baru dengan nama Recover-VM

3. Akses ke SSH ESXi dan masuk ke folder VM yang baru dibuat

cd /vmfs/volumes/dssata3tb/Recover-VM/

4. Rename file asli Recover-VM-flat misalnya menjadi Recover-VM-flat.vmdk.bak

[[email protected]:/vmfs/volumes/552e4a4a-c20799dd-6883-00110a5dda9e/Recover-VM] ls -lah
total 1040
drwxr-xr-x 1 root root 840 Jan 4 09:35 .
drwxr-xr-t 1 root root 10.0K Jan 4 09:33 ..
-rw——- 1 root root 16.0G Jan 4 09:33 Recover-VM-flat.vmdk.bak
-rw——- 1 root root 476 Jan 4 09:33 Recover-VM.vmdk
-rw-r–r– 1 root root 0 Jan 4 09:33 Recover-VM.vmsd
-rwxr-xr-x 1 root root 1.8K Jan 4 09:33 Recover-VM.vmx

5. Copy/move file Ubuntu 16.04 Prod-flat.vmdk dari VM Ubuntu 16.04 Prod ke folder Recover-VM dan rename nama filenya menjadi Recover-VM-flat.vmdk

mv /vmfs/volumes/dssata3tb/Ubuntu\ 16.04\ Prod/Ubuntu\ 16.04\ Prod-flat.vmdk Recover-VM-flat.vmdk

6. Langkah terakhir coba power on VM Recover-VM, Ya semestinya akan booting sesuai data di VM Ubuntu 16.04 Prod. 🙂

Catatan :

  1. Pastikan Backup terlebih dahulu seluruh folder VM sebelum melakukan recover VM
  2. Menurut pengalaman VM recover bisa menggunakan format provisioning disk berbeda. Misal VM lama menggunakan thick dan VM baru menggunakan thin

Terima kasih, Semoga bermanfaat 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *