Tenemos un archivo huérfano *-flat.vmdk que tiene el contenido completo de un disco y queremos recuperar sus datos.
Pasos:
1.- Nos conectamos al host vSphere via SSH
2.- Navegamos hacia el datastore donde tenemos el archivo *-flat.vmdk.
3.- Hacemos un 'ls -l' del fichero para ver su tamaño
4.- Escribimos el siguiente comando:
# vmkfstools -c tamaño -a lsilogic -d thin temp.vmdk
Donde -c contiene el tamaño del archivo *-flat.vmdk
Donde -a es el controlador virtual (casi siempre es lsilogic)
Y -d crea un disco en formato thin-provisioned con el nombre que le demos (no usar el mismo nombre que el original ya que esto pisará el archivo con un disco de datos en blanco).
5.- Como resultado se crearán los ficheros temp.vmdk y temp-flat.vmdk
6.- Borramos el fichero temp-flat.vmdk que no contiene datos, está en blanco
7.- Renombramos el fichero temp.vmdk al nombre del *-flat.vmdk huérfano que tengamos (ponemos el mismo nombre pero quitando -flat)
8.- Editamos con vi el fichero *.vmdk recién renombrado
Cambiamos la siguiente línea:
# Extent description
RW 524288000 VMFS "temp-flat.vmdk"
Por:
# Extent description
RW 524288000 VMFS "nuestroarchivo-flat.vmdk"
9.- Ya podemos montar nuestro disco en cualquier VM y todos nuestros datos aparecerán.
Fuente: VMware KB: Recreating a missing virtual machine disk (VMDK) descriptor file