Condividi tramite


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 comodità, ad esempio la copia dei file guest, mentre altri sono importanti per la funzionalità della macchina virtuale, ad esempio i driver di dispositivi 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 driver non sono destinati a essere manutenuti 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 dimostrano come attivare e disattivare il servizio di integrazione per la copia file ospite su 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 per ospiti:

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

    Get-VMIntegrationService -VMName "DemoVM"
    
  5. Disattivare l'interfaccia del servizio ospiti:

    Disable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
    

Verificare la versione dei servizi di integrazione del guest

Alcune funzionalità potrebbero non funzionare correttamente o 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

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, è consigliabile controllare solo i servizi di integrazione da Hyper-V usando le istruzioni riportate in questo articolo. Il servizio corrispondente nel sistema operativo guest si arresta o viene avviato automaticamente quando si modifica lo stato in Hyper-V. Se si avvia un servizio nel sistema operativo guest ma è disabilitato in Hyper-V, il servizio si arresta. Se si arresta un servizio nel sistema operativo guest abilitato in Hyper-V, Hyper-V lo avvia nuovamente. Se si disabilita il servizio nel guest, Hyper-V non è 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.

    Screenshot che mostra il riquadro Servizi Windows

  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 utente root, perciò è necessario disporre dei permessi di root.

    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 eseguire di nuovo il demone, eseguire il demone come utente root.

    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.

Installare o aggiornare i servizi di integrazione per gli host Hyper-V precedenti a Windows Server 2016 e Windows 10

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.