Beschädigte Speicherabbilddatei, wenn Sie versuchen, eine vollständige Speicherabbilddatei von einem virtuellen Computer abzurufen, der in einer Clusterumgebung ausgeführt wird

Dieser Artikel bietet eine Lösung für ein Problem, bei dem eine beschädigte Speicherabbilddatei generiert wird, wenn Sie versuchen, eine vollständige Speicherabbilddatei von einem virtuellen Computer abzurufen.

Gilt für: Windows Server 2012 R2
Ursprüngliche KB-Nummer: 2913486

Symptome

Sie verfügen über einen virtuellen Computer, der in einer Clusterumgebung in Windows Server 2012 oder Windows Server 2008 R2 ausgeführt wird. Wenn Sie versuchen, eine vollständige Speicherabbilddatei vom virtuellen Computer abzurufen, wird eine beschädigte Speicherabbilddatei generiert. Während die Speicherabbilddatei geladen wird, wird möglicherweise die folgende Meldung angezeigt:


DIESE DUMPDATEI IST TEILWEISE BESCHÄDIGT.

KdDebuggerDataBlock ist nicht vorhanden oder nicht lesbar.


Fehler bei GetContextState, 0xD0000147

Programmindikator kann nicht abgerufen werden

Fehler bei GetContextState, 0xD0000147

Der aktuelle Computerkontext kann nicht abgerufen werden, NTSTATUS 0xC0000147

Darüber hinaus stellen Sie möglicherweise fest, dass das Schreiben einer vollständigen Speicherabbilddatei nicht abgeschlossen ist und dass der virtuelle Computer auf einem anderen Knoten im Cluster neu gestartet wird.

Ursache

Dieses Problem tritt auf, weil die Option Heartbeatüberwachung für den virtuellen Computer aktivieren für den virtuellen Computer ausgewählt ist. Diese Option setzt den gruppierten virtuellen Computer nach einer Minute zurück (Standardwert), und der gruppierte virtuelle Computer benötigt länger als eine Minute, um das Schreiben des Speicherabbilds abzuschließen.

Hinweis

Takte zwischen dem virtuellen Computer und Virtual Machine Manager treten alle paar Sekunden auf. Es kann bis zu einer Minute dauern, um zu erkennen, dass der virtuelle Computer ausgefallen ist, da die VM-Ressource den Heartbeat überprüft, der von Virtual Machine Manager in der isAlive-Einstiegspunktfunktion status. Standardmäßig tritt isAlive einmal pro Minute auf. Die Takte können jedoch 30 Sekunden vor dem 1-Minuten-Intervall beendet werden. In diesem Fall kann der Cluster den virtuellen Computer auf demselben Server neu starten oder ein Failover auf einen anderen Knoten ausführen.

Lösung

Um dieses Problem zu beheben, deaktivieren Sie die Option Heartbeatüberwachung für den virtuellen Computer aktivieren .

Option 1: Ändern der Einstellungen über die GUI

  1. Öffnen Sie den Failovercluster-Manager.
  2. Klicken Sie auf Rollen, und suchen Sie dann nach der VM-Ressource.
  3. Klicken Sie auf der Registerkarte Ressourcen mit der rechten Maustaste auf den virtuellen Computer.
  4. Klicken Sie auf Eigenschaften und dann auf die Registerkarte Einstellungen .
  5. Deaktivieren Sie unter Takteinstellung das Kontrollkästchen Automatische Wiederherstellung für die Überwachung der Anwendungsintegrität aktivieren .
  6. Deaktivieren Sie das Kontrollkästchen Heartbeatüberwachung für den virtuellen Computer aktivieren , und klicken Sie dann auf OK.

Option 2: Ändern der Einstellungen mithilfe von Windows PowerShell

  1. Starten Sie Windows PowerShell.

  2. Überprüfen Sie den Namen des virtuellen Computers. Geben Sie dazu den folgenden Windows PowerShell Befehl ein:

    PS C:\> Get-ClusterResource
    
  3. Überprüfen Sie, ob die Optionen Heartbeatüberwachung für den virtuellen Computer aktivieren und Automatische Wiederherstellung für die Überwachung der Anwendungsintegrität aktivieren ausgewählt sind. Geben Sie dazu den folgenden Windows PowerShell Befehl ein:

    PS C:\> Get-ClusterResource <VirtualMachineName> | Get-ClusterParameter CheckHeartbeat
    
  4. Wenn der CheckHeartbeat-Wert 1 ist, sind beide Optionen ausgewählt. Um beide Optionen abzubrechen, ändern Sie diesen Wert in 0. Geben Sie dazu den folgenden Windows PowerShell Befehl ein:

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

    Wenn Sie nur die Option Automatische Wiederherstellung für die Überwachung der Anwendungsintegrität aktivieren abbrechen möchten, sollten Sie den folgenden Windows PowerShell Befehl ausführen:

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

Weitere Informationen

Mini- und Kernelspeicherabbilddateien werden erfolgreich geschrieben. Dies liegt daran, dass die zum Schreiben dieser Dateien erforderliche Zeit den Schwellenwert von einer Minute nicht überschreitet.