Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

Verificar la integridad del archivo de la máquina virtual ESX/ESXi (2016450)

Symptoms

  • Imposibilidad de encender la máquina virtual
  • Falla el encendido de la máquina virtual
  • Se encuentra alguno de los siguientes errores:
    • No se pudo encontrar un archivo.
    • Esta operación no está permitida en el estado actual
  • El archivo <vmname>.vmdk no existe, pero el archivo <vmname-flat>.vmdk sí existe.
  • Falla la eliminación de una instantánea con el error:

    ASSERT /build/mts/release/bora-39823/bora/vmx/snapshot/snapshot_vmx.c:752
El volumen VMFS se vuelve inaccesible debido a la corrupción del sistema de archivos

Purpose

Renuncia: Este artículo es una traducción de Verifying ESX/ESXi virtual machine file integrity (1003743). Los artículos han sido traducidos en español basados en el mejor esfuerzo. Sin embargo, el contenido localizado o específico puede quedar desactualizado. Para revisar el contenido más reciente, por favor consulte el artículo en Inglés.

 
Este artículo describe los diferentes archivos que conforman una máquina virtual ejecutada en un host ESX. También proporciona información acerca de cómo puede comprometerse la integridad de dichos archivos y las diferentes maneras de resolver los problemas resultantes.

Resolution

Tipos de archivos

Antes de asegurar la integridad de los archivos de máquinas virtuales, esté al tanto de los diferentes archivos que componen una máquina virtual ejecutada en un host ESX.

Archivo VMX

El archivo VMX es el archivo de configuración principal de una máquina virtual. En este archivo, está detallado cada aspecto de su máquina virtual y cualquier hardware virtual asignado a su máquina virtual está presente aquí. El siguiente es el ejemplo de una entrada para una disquetera virtual:

floppy0.startConnected = "false"
floppy0.clientDevice = "true"

Cada vez que crea una máquina virtual nueva utilizando el Asistente de máquina virtual nueva, el archivo VMX se adjunta a cada pregunta que usted contesta relacionada al sistema operativo huésped, al tamaño de discos y a las conexiones de red.

Archivo VMXF

Este es un archivo de configuración suplementario para máquinas virtuales.

Archivos VMDK y -flat.VMDK

Los archivos <vm_name>-flat.vmdk almacenan el contenido de las unidades de disco duro actuales de las máquinas virtuales. Versiones anteriores de ESX utilizaban la extensión .dsk para los archivos de discos virtuales.

Los archivos <vm_name>.vmdk son los archivos descriptores del disco. Este archivo contiene toda la información acerca del archivo plano relacionado.

Entre otras cosas, los archivos describen el CID del archivo, el CID primario del archivo y el tipo y tamaño del archivo.

Esta información puede resultar muy útil según el tipo de problema que desea solucionar. Es muy útil sobre todo cuando quiere solucionar problemas relacionados con instantáneas.

Archivos VMSD

Este es un archivo centralizado destinado al almacenamiento de información y metadatos sobre las instantáneas de una máquina virtual.

Archivos NVRAM

Este archivo contiene el BIOS de la máquina virtual.

Archivos de registro

Los archivos vmware(-x).log mantienen un registro de las actividades principales de la máquina virtual. Si se encuentra con algún inconveniente, este archivo puede resultar muy útil en la solución de problemas.

Cambiar de nombre a una máquina virtual

Cambiar de nombre a su máquina virtual puede crear inconsistencias que pueden causar problemas.

Para cambiar de nombre correctamente una máquina virtual:

Nota: Evite espacios, paréntesis o caracteres que no sean UTF-8 al renombrar máquinas virtuales y sus archivos correspondientes.

  1. Elimine las instantáneas.
  2. Apague la máquina virtual.
  3. Si está utilizando vCenter Server, retire la máquina virtual del inventario pero no elimine los archivos del disco.
  4. Conéctese al host ESX en el cual reside la máquina virtual sobre SSH. Para obtener más información, consulte Opening a command or shell prompt (1003892).
  5. Dé de baja el registro de la máquina virtual.
    • Para ESX, ejecute el siguiente comando:

      vmware-cmd -s unregister <path to config file>

      Donde <path to config file> es la ruta hacia el archivo de configuración determinado por el comando vmware-cmd –l. Para obtener más información acerca del comando vmware-cmd –l, consulte VMware Scripting API.

      Por ejemplo:

      vmware-cmd -s unregister '/vmfs/volumes/storage1/vm1/vm1.vmx'
    • Para ESXi:
      1. Conéctese al host ESXi en el que está registrada la máquina virtual. Para obtener más información, consulte:
      2. Dé de baja el registro de la máquina virtual con los comandos CLI:

        Nota:El comando getallvms debería hacer que el vmid de la máquina virtual vuelva a estar no registrado.

        # vim-cmd vmsvc/getallvms
        # vim-cmd vmsvc/unregister vmid

        O bien dé de baja el registro de la máquina virtual desde el inventario de vCenter Server. Para dar de baja el registro, haga clic con el botón secundario en la máquina virtual y seleccione Remove from Inventory.
  6. Cambie el nombre de la carpeta, el archivo .vmx, y el archivo .vmdk (+ el archivo plano) para que coincida con el nuevo nombre:

    mv /vmfs/volumes/storage1/vm1/ /vmfs/volumes/<perhaps new storage?>/NewVM/
    cd /vmfs/volumes/<perhaps new storage?>/NewVM/
    mv vm1.vmx NewVM.vmx
    mv vm1.vmdk NewVM.vmdk
    mv vm1-flat.vmdk NewVM-flat.vmdk

    Consulte la Nota debajo para conocer un comando alternativo para cambiar el nombre del archivo VMDK: vmkfstools -E <oldName>.vmdk <newName>.vmdk
  7. Edite el archivo .vmx para que refleje el nombre del archivo descriptor nuevo.

    Ubique la línea scsi0:0.fileName . Aparece similar a:

    scsi0:0.fileName = "vm1.vmdk"

    La edición aparece similar a:

    scsi0:0.fileName = "NewVM.vmdk"
  8. Guarde el archivo y salga.

9. Edite el archivo .vmdk para que refleje el nombre del archivo plano nuevo.

Ubique la sección de la descripción extendida del archivo .vmdk. Aparece similar a:

# Extent description
RW 8388608 VMFS "vm1-flat.vmdk"

Edítelo a:

# Extent description
RW 8388608 VMFS "NewVM-flat.vmdk"

  1. Registre la máquina virtual.
    • Para un host ESX, ejecute el comando:

      vmware-cmd -s register <path to config file>

      Donde <path to config file> es la ruta hacia el archivo de configuración determinado por el comando ‘vmware-cmd –l’ .

      Por ejemplo:

      vmware-cmd -s register '/vmfs/volumes/<perhaps new storage?>/NewVM/NewVM.vmx'
    • Para un host ESXi, consulte Registering or adding a virtual machine to the inventory (1006160).
  2. Vuelva a agregar la máquina virtual al inventario vCenter Server utilizando VMware Infrastructure/vSphere Client. Para lograrlo debe buscar el almacén de datos, encontrar el archivo .vmx, hacer clic con el botón secundario y agregarlo al inventario.

Nota: Puede que también quiera cambiar de nombre a algunos archivos adicionales como .vmxf y el nombre del archivo swap. Ambos están relacionados al archivo .vmx. Si decide cambiar el nombre de alguno de estos archivos, asegúrese de actualizar el archivo .vmx mientras completa el paso 7 de las instrucciones.

Para renombrar un archivo VMDK, también puede utilizar el comando:

vmkfstools -E <oldName>.vmdk <newName>.vmdk

Este comando cambia el nombre del archivo de contenido (-flat.vmdk) y también todas las referencias dentro del archivo de metadatos (.vmdk). Asegúrese de actualizar el archivo .vmx de su máquina virtual después de completar este paso.

Archivo VMX corrompido

Los problemas con el archivo .vmx de una máquina virtual pueden impedir que se encienda dicha máquina virtual. También puede encontrarse con los siguientes errores:

  • Error al eliminar una instantánea: ASSERT /build/mts/release/bora-39823/bora/vmx/snapshot/snapshot_vmx.c:752
  • Error al intentar encender una máquina virtual: "operation not allowed in the current state"

Para obtener más información acerca de los archivos .vmx , consulte Validating the .vmx settings of a virtual machine (1003748).

Si sospecha que su archivo .vmx evita que se encienda su máquina virtual, puede reconstruir su máquina virtual con un archivo .vmx limpio.

Para reconstruir una máquina virtual:

  1. Conéctese a vCenter Server en su host ESX directamente con vSphere Client.
  2. Retire la máquina virtual del inventario.
  3. Haga clic con el botón secundario en su host ESX y seleccione New Virtual Machine.
  4. Elija la opción Custom.
  5. Cree la máquina virtual con la misma configuración que tenía antes de la migración.
  6. Cuando llegue a la sección de Seleccionar un disco, elija Use an existing virtual disk y apunte a los archivos originales .vmdk.
  7. Finalice la creación de la máquina virtual.
  8. Encienda la máquina virtual.

Si su archivo .vmx se ha corrompido o si se perdió el contenido, también puede reconstruir el archivo .vmx si todavía tiene el archivo vmware.log de la última vez que se encendió correctamente.

Al ver el archivo de registro de la máquina virtual, busque la sección '--- CONFIGURATION'. Los archivos .vmx se encuentran debajo.

Puede copiar este texto en un editor de texto para crear un archivo de configuración operativa.

Nota: No utilice un editor que inserte un formateo que ESX no entienda (como Wordpad). Si es posible, complete la edición en el host ESX.


Las entradas en el archivo de registro aparecen similares a:

Feb 28 18:11:47.799: vmx| DICT config.version = 8
Feb 28 18:11:47.799: vmx| DICT virtualHW.version = 4
Feb 28 18:11:47.799: vmx| DICT floppy0.present = TRUE

Elimine la sección anterior así queda:

config.version = 8
virtualHW.version = 4
floppy0.present = TRUE

Guárdelo con el mismo nombre que el archivo corrompido y reemplace la versión corrompida.

Archivo VMDK corrompido

Los problemas con el archivo VMDK de una máquina virtual pueden evitar que se encienda dicha máquina virtual.Puede encontrarse con el siguiente error:

Failed to power on a file was not found

Esto puede ocurrir cuando se pierden los archivos descriptores (.vmdk ) del disco virtual VMFS3. No hay archivos <vmname>.vmdk. Solo existen archivos <vmname-flat>.vmdk.

También puede encontrarse con este error si la sección de la descripción extendida del archivo .vmdk es incorrecta. Los archivos de registros muestran mensajes similares a:

Unable to find file

The system cannot find the file specified.

Para obtener más información acerca de recrear un archivo descriptor perdido, consulte Recreating a missing VMDK (header) file (1002511).

Corrupción de VMFS

Cuando un volumen de VMFS se vuelve inaccesible debido a la corrupción del sistema de archivos, tal vez pueda migrar sus máquinas virtuales en funcionamiento fuera del sistema de archivos. Apague las máquinas virtuales inaccesibles.

Nota: Este proceso funciona si los bloques de discos utilizados para los discos virtuales no han sido corrompidos y si el sistema operativo utilizado es Microsoft Windows.

Para migrar su máquina virtual:

  1. Asegúrese de tener suficiente espacio en el disco en otro volumen VMFS para clonar la máquina virtual.
  2. Conéctese a la máquina virtual utilizando un escritorio remoto.
  3. Descargue e instale el convertidor VMware dentro de la máquina virtual.

    También puede descargarlo en su computadora portátil, computadora de escritorio o en otra máquina virtual siempre que tenga acceso a la red tanto en la de origen como en la de destino.
  4. Ejecute Converter y seleccione Physical Machine y Local Machine.
  5. Elija un servidor host ESX como destino y seleccione un VMFS sano.
  6. Siga los pasos del asistente y espere que se complete el proceso.

Nota: No apague ni reinicie la máquina virtual. Si se apaga, la máquina virtual no puede volver a encenderse ya que los archivos se volvieron inaccesibles.

Si el sistema operativo no es Microsoft Windows, puede utilizar las herramientas del sistema nativo para copiar la imagen completa en una red compartida.

Por ejemplo, en Linux:


# dd if=/dev/sda of=/mnt/nfs/sda.dd.gz bs=1024k

Debe crear una máquina virtual nueva y encenderla desde el CD en el modo rescate de Linux y restablecer la imagen:


# dd if=/mnt/nfs/sda.dd of=/dev/sda bs=1024k

Nota: Este método crea solamente imágenes que concuerdan con errores.

Información adicional

Para obtener información relacionada a la solución de problemas, consulte Troubleshooting import and export failures in VMware vCenter Lab Manager (1006333).

Tags

Español; Espanol; Spanish

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 2 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 2 Ratings
Actions
KB: