DevAdmin Blog

Blog di Ermanno Goletto (Microsoft MVP Directory Services - MCSE - MCSA - MCITP - MCTS)
posts - 1026, comments - 598, trackbacks - 8

My Links

News

Il blog si è trasferito al seguente link:

www.devadmin.it

Avatar

Visualizza il profilo di Ermanno Goletto su LinkedIn

Follow ermannog on Twitter


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo SysAdmin.it SysAdmin.it Staff


Logo TechNet Forum TechNet Italia @ForumTechNetIt Follow TechNet Forum on Twitter


Logo MVP

Article Categories

Archives

Post Categories

Blogs

Friends

Knowledge Base

MVP Sites

Resources

Wednesday, January 22, 2014

Hyper-V shut down lento ed errore 7043

Su un sistema Windows Server 2012 R2 col ruolo Hyper-V mi capitato di rilevare un arresto particolarmente lento (più di 30 minuti).

Analizzando poi l’Event Viewer ho rilevato negli eventi di sistema il seguente errore:

Log Name: System
Source: Service Control Manager
Event ID: 7043
Task Category: None
Level: Error
Keywords: Classic
Description: The Hyper-V Virtual Machine Management service did not shut down properly after receiving a preshutdown control.

L’errore in sintesi significa che il servizio Hyper-V Virtual Machine Management (VMMS) è stato arrestato in modo forzoso allo scadere del timeout. Il servizio VMMS si occupa della della gestione delle VM, ovvero è quello che permette l’interazione della console di Hyper-V con l’hypervisor per la gestione (creazione, arresto, avvio di VM etc.).

La soluzione ufficiale Microsoft per la risoluzione degli eventi 7043 è quella di arrestare manualmente prima il servizio e poi di eseguire lo shutdown (a riguardo si veda Event ID 7043 — Service Stop Operations).

Volendo creare uno script per l’arresto si potrebbe pensare ad un vbs che richiede conferma e poi arresta prima il servizio e quindi avvia lo shutdown:

If msgbox("Confermi l'arresto del sistema?", vbYesNo OR vbQuestion OR vbDefaultButton2, "Arresto del sistema") = vbYes Then
  Set shell = CreateObject("WScript.Shell")
  shell.run("sc stop vmms", 1, true)
  shell.run("shutdown -s -t 0")
  set shell = Nothing
End If

Nel caso l’arresto del sistema debba essere possibile anche ad un utente non amministratore è possibile concedere a tale utente il privilegio per arrestare il servizio tramite una Group Policy di dominio (a riguardo si veda la KB324802 How To Configure Group Policies to Set Security for System Services in Windows Server 2003) o tramite il comando SC SDSET (a riguardo si vedano la KB91439 Best practices and guidance for writers of service discretionary access control lists e il post Set permissions on a specific service (Windows)).

Analizzando più a fondo il caso nel mio caso il problema sembra legato ad una VM che in certe situazioni non gestire correttamente lo Shutdown automatico in quanto le applicazioni/servizi che esegue probabilmente non gestiscono a loro volta correttamente l’evento di shutdown, a riguardo si vedano:

Altre possibili cause potrebbero essere servizi o applicazioni che vengono eseguiti nella parent partition, come ad esempio Antivirus o software di terze parti del produttore hardware.

posted @ Wednesday, January 22, 2014 11:49 AM | Feedback (0) | Filed Under [ Tips Virtualization ]

Powered by:
Powered By Subtext Powered By ASP.NET