Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce una soluzione a un problema a causa del quale viene generato un file di dump della memoria danneggiato quando si tenta di ottenere un file di dump di memoria completo da una macchina virtuale.
Numero KB originale: 2913486
Sintomi
Si dispone di una macchina virtuale in esecuzione in un ambiente cluster in Windows Server 2012 o Windows Server 2008 R2. Quando si tenta di ottenere un file di dump completo della memoria dalla macchina virtuale, viene generato un file di dump della memoria danneggiato. Durante il caricamento del file di dump della memoria, è possibile che venga visualizzato il messaggio seguente:
QUESTO FILE DI DUMP È PARZIALMENTE DANNEGGIATO.
KdDebuggerDataBlock non è presente o illeggibile.
GetContextState non riuscito, 0xD0000147
Impossibile ottenere il contatore del programma
GetContextState non riuscito, 0xD0000147
Impossibile ottenere il contesto del computer corrente, NTSTATUS 0xC0000147
Inoltre, è possibile notare che la scrittura di un file di dump completo della memoria non viene completata e che la macchina virtuale viene riavviata in un altro nodo del cluster.
Causa
Questo problema si verifica perché l'opzione Abilita il monitoraggio heartbeat per la macchina virtuale è selezionata per la macchina virtuale. Questa opzione reimposta la macchina virtuale in cluster dopo un minuto (il valore predefinito) e la macchina virtuale in cluster richiede più tempo di un minuto per completare la scrittura del dump della memoria.
Note
Gli heartbeat tra la macchina virtuale e Virtual Machine Manager si verificano ogni pochi secondi. Può richiedere fino a un minuto per rilevare che la macchina virtuale è inattiva perché la risorsa macchina virtuale controlla lo stato di heartbeat da Virtual Machine Manager nella funzione del punto di ingresso isAlive. Per impostazione predefinita, isAlive si verifica una volta ogni minuto. Tuttavia, gli heartbeat possono arrestare 30 secondi prima dell'intervallo di un minuto. In questo caso, il cluster può riavviare la macchina virtuale nello stesso server o eseguirne il failover in un altro nodo.
Risoluzione
Per risolvere questo problema, disabilitare l'opzione Abilita monitoraggio heartbeat per la macchina virtuale.
Opzione 1: Modificare le impostazioni dall'interfaccia utente grafica
- Aprire Gestione cluster di failover.
- Fare clic su Ruoli e quindi trovare la risorsa macchina virtuale.
- Nella scheda Risorse fare clic con il pulsante destro del mouse sulla macchina virtuale.
- Fare clic su Proprietà e quindi sulla scheda Impostazioni .
- In Impostazione heartbeat fare clic per deselezionare la casella di controllo Abilita ripristino automatico per il monitoraggio dell'integrità dell'applicazione.
- Fare clic per deselezionare la casella di controllo Abilita monitoraggio heartbeat per la macchina virtuale e quindi fare clic su OK.
Opzione 2: Modificare le impostazioni usando Windows PowerShell
Avviare Windows PowerShell.
Controllare il nome della macchina virtuale. A tale scopo, digitare il comando di Windows PowerShell seguente:
PS C:\> Get-ClusterResourceVerificare se sono selezionate le opzioni Abilita monitoraggio heartbeat per la macchina virtuale e Abilita ripristino automatico per il monitoraggio dell'integrità delle applicazioni. A tale scopo, digitare il comando di Windows PowerShell seguente:
PS C:\> Get-ClusterResource <VirtualMachineName> | Get-ClusterParameter CheckHeartbeatQuando il valore CheckHeartbeat è 1, vengono selezionate entrambe le opzioni. Per annullare entrambe le opzioni, impostare questo valore su 0. A tale scopo, digitare il comando di Windows PowerShell seguente:
PS C:\> Get-ClusterResource <VirtualMachineName> | Set-ClusterParameter CheckHeartbeat 0Se si vuole annullare solo l'opzione Abilita ripristino automatico per il monitoraggio dell'integrità dell'applicazione, è necessario eseguire il comando di Windows PowerShell seguente:
PS C:\> (Get-ClusterResource <Object>).EmbeddedFailureAction = 1
Ulteriori informazioni
I file di dump della memoria mini e kernel vengono scritti correttamente. Ciò si verifica perché il tempo necessario per scrivere questi file non supera la soglia di un minuto.