Gestire Hyper-V Integration Services

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 11. Windows 10

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

  1. Nel riquadro centrale, fare clic con il pulsante destro sulla macchina virtuale e selezionare Impostazioni.

  2. 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.

  1. Ottenere un elenco di servizi di integrazione in esecuzione:

    Get-VMIntegrationService -VMName "DemoVM"
    
  2. 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
    
  3. Attivare l'interfaccia del servizio guest:

    Enable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
    
  4. Verificare che l'interfaccia del servizio guest sia abilitata:

    Get-VMIntegrationService -VMName "DemoVM"
    
  5. 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

  1. Aprire Gestione servizi eseguendo services.msc come amministratore o facendo doppio clic sull'icona Servizi nel Pannello di controllo.

    Screen shot that shows the Windows Services pane

  2. Trovare i servizi che iniziano con Hyper-V.

  3. 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

  1. Per ottenere un elenco di servizi di integrazione, eseguire:

    Get-Service -Name vmic* | FT -AutoSize
    
  2. 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
    
  3. 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.

  1. Per scoprire se hv_utils viene caricato, usare questo comando:

    lsmod | grep hv_utils
    
  2. 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
    
  3. Per verificare se i daemon necessari sono in esecuzione, usare questo comando.

    ps -ef | grep hv
    
  4. 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
    
  5. Per visualizzare i daemon disponibili, eseguire:

    compgen -c hv_
    
  6. 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.

  1. 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`
    
  2. Per verificare che tutti i hv_kvp_daemon processi non siano più presenti, eseguire:

    ps -ef | hv
    
  3. Per avviare il daemon di nuovo, eseguire il daemon come radice:

    sudo hv_kvp_daemon
    
  4. 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:

  1. Aprire la console di gestione di Hyper-V.

  2. Connettersi alla macchina virtuale. Fare clic con il pulsante destro del mouse sulla macchina virtuale e selezionare Connetti.

  3. 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.

  4. Al termine dell'installazione, i servizi di integrazione saranno disponibili per l'uso.