Compartir a través de


Archivo de volcado de memoria dañado al intentar obtener un archivo de volcado de memoria completo de una máquina virtual que se ejecuta en un entorno de clúster

En este artículo se proporciona una solución a un problema por el que se genera un archivo de volcado de memoria dañado al intentar obtener un archivo de volcado de memoria completo de una máquina virtual.

Número de KB original: 2913486

Síntomas

Tiene una máquina virtual que se ejecuta en un entorno de clúster en Windows Server 2012 o Windows Server 2008 R2. Al intentar obtener un archivo de volcado de memoria completo de la máquina virtual, se genera un archivo de volcado de memoria dañado. Mientras se carga el archivo de volcado de memoria, puede recibir el siguiente mensaje:


ESTE ARCHIVO DE VOLCADO DE MEMORIA ESTÁ PARCIALMENTE DAÑADO.

KdDebuggerDataBlock no está presente o no se puede leer.


Error de GetContextState, 0xD0000147

No se puede obtener el contador del programa

Error de GetContextState, 0xD0000147

No se puede obtener el contexto actual de la máquina, NTSTATUS 0xC0000147

Además, puede observar que escribir un archivo de volcado de memoria completo no finaliza y que la máquina virtual se reinicia en otro nodo del clúster.

Causa

Este problema se produce porque la opción Habilitar la supervisión de latidos para la máquina virtual está seleccionada para la máquina virtual. Esta opción restablece la máquina virtual en clúster después de un minuto (el valor predeterminado) y la máquina virtual en clúster requiere más de un minuto para terminar de escribir el volcado de memoria.

Nota:

Los latidos entre la máquina virtual y Virtual Machine Manager se producen cada pocos segundos. Puede requerir hasta un minuto para detectar que la máquina virtual está inactiva porque el recurso de máquina virtual comprueba el estado de latido de Virtual Machine Manager en su función de punto de entrada isAlive. De forma predeterminada, isAlive se produce una vez cada minuto. Sin embargo, los latidos pueden detener 30 segundos antes del intervalo de un minuto. En este caso, el clúster puede reiniciar la máquina virtual en el mismo servidor o conmutar por error a otro nodo.

Solución

Para resolver este problema, deshabilite la opción Habilitar la supervisión de latidos para la máquina virtual.

Opción 1: Cambiar la configuración de la GUI

  1. Abra el Administrador de clústeres de conmutación por error.
  2. Haga clic en Roles y busque el recurso de máquina virtual.
  3. En la pestaña Recursos, haga clic con el botón derecho en la máquina virtual.
  4. Haga clic en Propiedadesy, a continuación, haga clic en la pestaña Configuración.
  5. En Configuración de latido, haga clic para desactivar la casilla Habilitar recuperación automática para la supervisión del estado de la aplicación.
  6. Haga clic para desactivar la casilla Habilitar la supervisión de latidos de la máquina virtual y, a continuación, haga clic en Aceptar.

Opción 2: Cambiar la configuración mediante Windows PowerShell

  1. Inicie Windows PowerShell.

  2. Compruebe el nombre de la máquina virtual. Para ello, escriba el siguiente comando de Windows PowerShell:

    PS C:\> Get-ClusterResource
    
  3. Compruebe si se selecciona habilitar la supervisión de latidos para la máquina virtual y Habilitar la recuperación automática para las opciones de supervisión del estado de la aplicación. Para ello, escriba el siguiente comando de Windows PowerShell:

    PS C:\> Get-ClusterResource <VirtualMachineName> | Get-ClusterParameter CheckHeartbeat
    
  4. Cuando el valor checkHeartbeat es 1, se seleccionan ambas opciones. Para cancelar ambas opciones, cambie este valor a 0. Para ello, escriba el siguiente comando de Windows PowerShell:

    PS C:\> Get-ClusterResource <VirtualMachineName> | Set-ClusterParameter CheckHeartbeat 0
    

    Si desea cancelar solo la opción Habilitar recuperación automática para la supervisión del estado de la aplicación, debe ejecutar el siguiente comando de Windows PowerShell:

    PS C:\> (Get-ClusterResource <Object>).EmbeddedFailureAction = 1
    

Más información

Los archivos de volcado de memoria mini y kernel se escriben correctamente. Esto ocurre porque el tiempo necesario para escribir estos archivos no supera el umbral de un minuto.