Gestire Hyper-V Integration Services
Hyper-V Integration Services migliora le prestazioni delle macchine virtuali e offre funzionalità utili sfruttando la comunicazione bidirezionale con l'host Hyper-V. Molti di questi servizi sono praticità, ad esempio la copia dei file guest, mentre altri sono importanti per la funzionalità della macchina virtuale, ad esempio driver di dispositivo sintetici. Questo set di servizi e driver viene talvolta definito componenti di integrazione. È possibile controllare se i singoli servizi di praticità operano per qualsiasi macchina virtuale specificata. I componenti del driver non devono essere gestiti manualmente.
Per informazioni dettagliate su ogni servizio di integrazione, vedere Hyper-V Integration Services.
Importante
Ogni servizio che si vuole usare deve essere abilitato sia nell'host che nel guest per funzionare. Quando si abilita un servizio nell'host, l'esecuzione viene avviata automaticamente nel guest. Tutti i servizi di integrazione, ad eccezione dell'interfaccia di Hyper-V Integration Services, sono attivati per impostazione predefinita nei sistemi operativi guest Windows. I servizi possono essere attivati e disattivati singolarmente. Le sezioni successive illustrano come.
Attivare o disattivare un servizio di integrazione tramite Hyper-V Manager
Nel riquadro centrale, fare clic con il pulsante destro sulla macchina virtuale e selezionare Impostazioni.
Nel riquadro sinistro della finestra Impostazioni, in Gestione selezionare Integration Services.
Nel riquadro Integration Services sono elencati tutti i servizi di integrazione disponibili nell'host Hyper-V ed è indicato se l'host ha abilitato la macchina virtuale per usarli.
Attivare o disattivare un servizio di integrazione tramite PowerShell
A tale scopo in PowerShell, usare Enable-VMIntegrationService e Disable-VMIntegrationService.
Gli esempi seguenti illustrano l'attivazione e la disattivazione del servizio di integrazione copia file guest per una macchina virtuale denominata DemoVM.
Ottenere un elenco di servizi di integrazione in esecuzione:
Get-VMIntegrationService -VMName "DemoVM"
L'output dovrebbe essere simile al seguente:
VMName Name Enabled PrimaryStatusDescription SecondaryStatusDescription ------ ---- ------- ------------------------ -------------------------- DemoVM Guest Service Interface False OK DemoVM Heartbeat True OK OK DemoVM Key-Value Pair Exchange True OK DemoVM Shutdown True OK DemoVM Time Synchronization True OK DemoVM VSS True OK
Attivare l'interfaccia del servizio guest:
Enable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
Verificare che l'interfaccia del servizio guest sia abilitata:
Get-VMIntegrationService -VMName "DemoVM"
Disattivare l'interfaccia del servizio guest:
Disable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
Verificare la versione dei servizi di integrazione del guest
Alcune funzionalità potrebbero non funzionare correttamente o affatto se i servizi di integrazione del guest non sono aggiornati. Per ottenere le informazioni sulla versione per Windows, accedere al sistema operativo guest, aprire un prompt dei comandi ed eseguire questo comando:
REG QUERY "HKLM\Software\Microsoft\Virtual Machine\Auto" /v IntegrationServicesVersion
I sistemi operativi guest precedenti non avranno tutti i servizi disponibili. Ad esempio, gli utenti guest di Windows Server 2008 R2 non possono avere l'interfaccia del servizio guest Hyper-V.
Avviare e arrestare un servizio di integrazione da un guest di Windows
Affinché un servizio di integrazione sia completamente funzionante, il servizio corrispondente deve essere in esecuzione all'interno del guest oltre a essere abilitato nell'host. Nei guest di Windows ogni servizio di integrazione è elencato come servizio Windows standard. È possibile usare l'applet Servizi nel Pannello di controllo o in PowerShell per arrestare e avviare questi servizi.
Importante
L'arresto dei servizi di integrazione può compromettere gravemente la gestione della macchina virtuale da parte degli host. Per funzionare correttamente, ogni servizio di integrazione che si vuole usare deve essere abilitato sia nell'host che nel guest. Come procedura consigliata, occorre controllare i servizi di integrazione da Hyper-V solo con le istruzioni precedenti. Il servizio corrispondente nel sistema operativo guest viene arrestato o avviato automaticamente quando si modifica lo stato in Hyper-V. Se si avvia un servizio nel sistema operativo guest ma questo è disabilitato in Hyper-V, il servizio verrà arrestato. Se si arresta un servizio nel sistema operativo guest abilitato in Hyper-V, Hyper-V lo avvierà di nuovo. Se si disabilita il servizio nel guest, Hyper-V non sarà in grado di avviarlo.
Usare Servizi Windows per avviare o arrestare un servizio di integrazione all'interno di un guest Windows
Aprire Gestione servizi eseguendo
services.msc
come amministratore o facendo doppio clic sull'icona Servizi nel Pannello di controllo.Trovare i servizi che iniziano con Hyper-V.
Fare clic con il pulsante destro del mouse sul servizio che si desidera avviare o arrestare. Selezionare l'azione desiderata.
Usare PowerShell per avviare o arrestare un servizio di integrazione all'interno di un guest Windows
Per ottenere un elenco di servizi di integrazione, eseguire:
Get-Service -Name vmic* | FT -AutoSize
L'output deve essere simile al seguente:
Status Name DisplayName ------ ---- ----------- Running vmicguestinterface Hyper-V Guest Service Interface Running vmicheartbeat Hyper-V Heartbeat Service Running vmickvpexchange Hyper-V Data Exchange Service Running vmicrdv Hyper-V Remote Desktop Virtualization Service Running vmicshutdown Hyper-V Guest Shutdown Service Running vmictimesync Hyper-V Time Synchronization Service Stopped vmicvmsession Hyper-V PowerShell Direct Service Running vmicvss Hyper-V Volume Shadow Copy Requestor
Eseguire Start-Service o Stop-Service. Ad esempio, per disattivare Windows PowerShell Direct, eseguire:
Stop-Service -Name vmicvmsession
Avviare e arrestare un servizio di integrazione da un guest di Linux
I servizi di integrazione Linux vengono in genere forniti attraverso il kernel Linux. Il driver dei servizi di integrazione Linux è denominato hv_utils.
Per scoprire se hv_utils viene caricato, usare questo comando:
lsmod | grep hv_utils
L'output deve essere simile al seguente:
Module Size Used by hv_utils 20480 0 hv_vmbus 61440 8 hv_balloon,hyperv_keyboard,hv_netvsc,hid_hyperv,hv_utils,hyperv_fb,hv_storvsc
Per verificare se i daemon necessari sono in esecuzione, usare questo comando.
ps -ef | grep hv
L'output deve essere simile al seguente:
root 236 2 0 Jul11 ? 00:00:00 [hv_vmbus_con] root 237 2 0 Jul11 ? 00:00:00 [hv_vmbus_ctl] ... root 252 2 0 Jul11 ? 00:00:00 [hv_vmbus_ctl] root 1286 1 0 Jul11 ? 00:01:11 /usr/lib/linux-tools/3.13.0-32-generic/hv_kvp_daemon root 9333 1 0 Oct12 ? 00:00:00 /usr/lib/linux-tools/3.13.0-32-generic/hv_kvp_daemon root 9365 1 0 Oct12 ? 00:00:00 /usr/lib/linux-tools/3.13.0-32-generic/hv_vss_daemon user 43774 43755 0 21:20 pts/0 00:00:00 grep --color=auto hv
Per visualizzare i daemon disponibili, eseguire:
compgen -c hv_
L'output deve essere simile al seguente:
hv_vss_daemon hv_get_dhcp_info hv_get_dns_info hv_set_ifconfig hv_kvp_daemon hv_fcopy_daemon
I daemon del servizio di integrazione che potrebbero essere elencati includono i seguenti. Se mancano, potrebbero non essere supportati nel sistema o potrebbero non essere installati. Per trovare i dettagli, vedere Macchine virtuali Linux e FreeBSD supportate per Hyper-V in Windows.
- hv_vss_daemon: questo daemon consente di creare backup delle macchine virtuali Linux in tempo reale.
- hv_kvp_daemon: questo daemon consente di impostare e ricercare le coppie chiave-valore intrinseche ed estrinseche.
- hv_fcopy_daemon: questo daemon implementa un servizio di copia file tra host e guest.
Esempi
Questi esempi illustrano l'arresto e l'avvio del daemon KVP, denominato hv_kvp_daemon
.
Usare l'ID processo (PID) per arrestare il processo del daemon. Per trovare il PID, esaminare la seconda colonna dell'output o usare
pidof
. I daemon di Hyper-V vengono eseguiti come radice, perciò è necessario disporre delle autorizzazioni radice.sudo kill -15 `pidof hv_kvp_daemon`
Per verificare che tutti i
hv_kvp_daemon
processi non siano più presenti, eseguire:ps -ef | hv
Per avviare il daemon di nuovo, eseguire il daemon come radice:
sudo hv_kvp_daemon
Per verificare che il
hv_kvp_daemon
processo sia elencato con un nuovo ID processo, eseguire:ps -ef | hv
Mantenere aggiornati i servizi di integrazione
È consigliabile mantenere aggiornati i servizi di integrazione per ottenere le migliori prestazioni e le funzionalità più recenti per le macchine virtuali. Ciò si verifica per gli utenti guest di Windows per impostazione predefinita se sono configurati per ottenere aggiornamenti importanti da Windows Update. Gli utenti guest Linux che usano i kernel correnti contengono servizi di integrazione incorporati, ma potrebbero essere disponibili aggiornamenti facoltativi. Quando si aggiorna il kernel, si riceveranno i componenti di integrazione più recenti. Per ulteriori informazioni sui guest di Linux, vedere Macchine virtuali Linux e FreeBSD supportate per Hyper-V in Windows.
Nota
Il file immagine disco Integration Services (vmguest.iso) non è incluso in Hyper-V a partire da Windows Server 2016 e Windows 10 perché non è più necessario. Windows Server 2012 e versioni precedenti richiedono il servizio di integrazione Data Exchange. Se non è possibile abilitare il servizio di integrazione Scambio di dati, i servizi di integrazione per questi guest sono disponibili dall'Area download come file cab. Le istruzioni per l'applicazione di un cab sono disponibili in questo post di blog di Microsoft TechCommunity. Se l'host Hyper-V esegue Windows Server 2012 R2 e versioni precedenti, vedere la sezione successiva per informazioni su come installare o aggiornare i servizi di integrazione.
Installare o aggiornare i servizi di integrazione per gli host Hyper-V precedenti a Windows Server 2016 e Windows 10
Nota
Non è necessario per Windows Server 2016 e Windows 10 o versione successiva.
Per gli host Hyper-V precedenti a Windows Server 2016 e Windows 10, è necessario installare o aggiornare manualmente i servizi di integrazione nei sistemi operativi guest.
Per installare o aggiornare manualmente i servizi di integrazione:
Aprire la console di gestione di Hyper-V.
Connettersi alla macchina virtuale. Fare clic con il pulsante destro del mouse sulla macchina virtuale e selezionare Connetti.
Dal menu Azione di Virtual Machine Connection selezionare Inserire disco di installazione di Integration Services. Questa azione determina il caricamento del disco di installazione nell'unità DVD virtuale. A seconda del sistema operativo guest, potrebbe essere necessario avviare l'installazione manualmente da Esplora file.
Al termine dell'installazione, i servizi di integrazione saranno disponibili per l'uso.