Gestire le macchine virtuali Hyper-V Integration Services

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

Hyper-V Integration Services le prestazioni della macchina virtuale e offrono funzionalità utili sfruttando la comunicazione bidirezionale con l'host Hyper-V. Molti di questi servizi sono praticità, ad esempio la copia di file guest, mentre altri sono importanti per le funzionalità della macchina virtuale, ad esempio i driver di dispositivo sintetici. Questo set di servizi e driver viene talvolta definito componenti di integrazione. È possibile controllare se i singoli servizi pratici funzionano per una determinata macchina virtuale. I componenti del driver non devono essere utilizzati manualmente.

Per informazioni dettagliate su ogni servizio di integrazione, vedere Hyper-V Integration Services.

Importante

Per funzionare, ogni servizio che si vuole usare deve essere abilitato sia nell'host che nel guest. Tutti i servizi di integrazione Interfaccia servizio guest Hyper-V sono disponibili per impostazione predefinita Windows sistemi operativi guest. I servizi possono essere attivati e disattivati singolarmente. Le sezioni successive illustrano come fare.

Attivare o disattivare un servizio di integrazione tramite la console di gestione di Hyper-V

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

  2. Nel riquadro sinistro della finestra Impostazioni, in Gestioneselezionare Integration Services.

Il Integration Services di integrazione elenca tutti i servizi di integrazione disponibili nell'host Hyper-V e indica se l'host ha abilitato la macchina virtuale per usarli.

Attivare o disattivare un servizio di integrazione con PowerShell

A tale scopo in PowerShell, usare Enable-VMIntegrationService e Disable-VMIntegrationService.

Gli esempi seguenti illustrano come attivare e disattivare il servizio di integrazione della copia di file guest per una macchina virtuale denominata DemoVM.

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

    Get-VMIntegrationService -VMName "DemoVM"
    
  2. L'output sarà 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. Disattiva interfaccia del servizio guest:

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

Controllo della versione dei servizi di integrazione del guest

Alcune funzionalità potrebbero non funzionare correttamente o affatto se i servizi di integrazione del guest non sono correnti. Per ottenere le informazioni sulla versione 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, i Windows Server 2008 R2 non possono avere il Interfaccia servizio guest Hyper-V.

Avviare e arrestare un servizio di integrazione da un Windows guest

Per garantire il funzionamento completo di un servizio di integrazione, è necessario che il servizio corrispondente sia in esecuzione all'interno del guest oltre ad essere abilitato nell'host. In Windows guest, ogni servizio di integrazione è elencato come servizio Windows standard. È possibile usare l'applet Servizi in Pannello di controllo o PowerShell per arrestare e avviare questi servizi.

Importante

L'arresto di un servizio di integrazione può influire negativamente sulla capacità dell'host di gestire la macchina virtuale. 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 precedenti. Il servizio corrispondente nel sistema operativo guest verrà 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 verrà interrotta. Se si arresta un servizio nel sistema operativo guest abilitato in Hyper-V, Hyper-V lo riattiva. Se si disabilita il servizio nel guest, Hyper-V non sarà in grado di avviarlo.

Usare Windows Services per avviare o arrestare un servizio di integrazione all'interno di un Windows guest

  1. Aprire Gestione servizi eseguendo services.msc come amministratore o facendo doppio clic sull'icona Servizi nella 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 vuole avviare o arrestare. Selezionare l'azione desiderata.

Usare PowerShell per avviare o arrestare un servizio di integrazione all'interno di un Windows guest

  1. Per ottenere un elenco dei 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 oStop-Service. Ad esempio, per disattivare Windows PowerShell Direct, eseguire:

    Stop-Service -Name vmicvmsession
    

Avviare e arrestare un servizio di integrazione da un guest Linux

I servizi di integrazione Linux vengono in genere forniti attraverso il kernel Linux. Il driver di Integration Services per Linux è denominato hv_utils.

  1. Per determinare se hv_utils è 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 quanto segue. Se mancano, potrebbero non essere supportati nel sistema o potrebbero non essere installati. Per informazioni dettagliate, vedere Supported Linux and FreeBSD virtual machines for Hyper-V on Windows(Macchine virtuali Linux e FreeBSD supportate per Hyper-V Windows).

    • hv_vss_daemon:questo daemon è necessario per creare backup di macchine virtuali Linux in tempo reale.
    • hv_kvp_daemon:questo daemon consente l'impostazione e l'esecuzione di query su coppie di valori di chiave intrinseche ed estrisiche.
    • hv_fcopy_daemon: questo daemon implementa un servizio di copia di file tra l'host e il guest.

Esempio

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 Hyper-V vengono eseguiti come radice, quindi sono necessarie le autorizzazioni radice.

    sudo kill -15 `pidof hv_kvp_daemon`
    
  2. Per verificare che tutti hv_kvp_daemon i processi non siano più presenti, eseguire:

    ps -ef | hv
    
  3. Per avviare di nuovo il daemon, 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. Questa situazione si verifica Windows guest per impostazione predefinita se sono impostati per ottenere aggiornamenti importanti da Windows Update. I guest Linux che usano 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 altre informazioni sui guest Linux, vedere Supported Linux and FreeBSD virtual machines for Hyper-V on Windows (Macchinevirtuali Linux e FreeBSD supportate per Hyper-V Windows).

Nota

Il file di immagine Integration Services disco (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 Exchange dati. Se il servizio di integrazione Exchange non può essere abilitato, i servizi di integrazione per questi guest sono disponibili nell'Area download come file CAB. Le istruzioni per l'applicazione di un taxi 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 Windows Server 2016 e Windows 10

Nota

Questa operazione non è necessaria per Windows Server 2016 e Windows 10 o versioni più nuove.

Per gli host Hyper-V precedenti 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 Connessione.

  3. Dal menu Azione di Connessione macchina virtuale selezionare Inserisci Integration Services disco di installazione. 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 dal Esplora file.

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