Gerenciar os Serviços de Integração do Hyper-V

Os Serviços de Integração do Hyper-V aprimoram o desempenho da máquina virtual e fornecem recursos de conveniência aproveitando a comunicação bidirecional com o host Hyper-V. Muitos desses serviços são conveniências, como cópia de arquivo convidado, enquanto outros são importantes para a funcionalidade da máquina virtual, como drivers de dispositivo sintético. Esse conjunto de serviços e drivers às vezes são chamados de componentes de integração. Você pode controlar se os serviços de conveniência individuais operam ou não para uma determinada máquina virtual. Os componentes do driver não devem ser reparados manualmente.

Para obter detalhes sobre cada serviço de integração, consulte Serviços de integração do Hyper-V.

Importante

Cada serviço que você deseja usar deve ser habilitado no host e no convidado para funcionar. Quando você habilita um serviço no host, ele começa a ser executado automaticamente no convidado. Todos os serviços de integração, exceto a Interface do Serviço convidado do Hyper-V, estão ativados por padrão em sistemas operacionais convidados do Windows. Os serviços podem ser ativados e desativados individualmente. As próximas seções mostram como.

Ativar ou desativar um serviço de integração usando o Gerenciador do Hyper-V

  1. No painel central, clique com o botão direito na máquina virtual e selecione Configurações.

  2. No painel esquerdo da janela Configurações, em Gerenciamento, selecione Serviços de Integração.

O painel Serviços de Integração lista todos os serviços de integração disponíveis no host Hyper-V e se o host habilitou a máquina virtual para usá-los.

Ativar ou desativar um serviço de integração usando o PowerShell

Para fazer isso no PowerShell, use Enable-VMIntegrationService e Disable-VMIntegrationService.

Os exemplos a seguir demonstram a ativação e desativação do serviço de integração de cópia de arquivo convidado para uma máquina virtual chamada DemoVM.

  1. Obtenha uma lista de serviços de integração em execução:

    Get-VMIntegrationService -VMName "DemoVM"
    
  2. O resultado deve ser assim:

    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. Ligar a Interface de Serviço de Convidado:

    Enable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
    
  4. Verifique se a Interface do Serviço convidado está habilitada:

    Get-VMIntegrationService -VMName "DemoVM"
    
  5. Desligar a Interface de Serviço de Convidado:

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

Verificar a versão dos serviços de integração do convidado

Alguns recursos podem não funcionar corretamente ou não funcionar se os serviços de integração do convidado não estiverem atualizados. Para obter as informações de versão do Windows, entre no sistema operacional convidado, abra um prompt de comando e execute este comando:

REG QUERY "HKLM\Software\Microsoft\Virtual Machine\Auto" /v IntegrationServicesVersion

Os sistemas operacionais convidados anteriores não terão todos os serviços disponíveis. Por exemplo, os convidados do Windows Server 2008 R2 podem não ter a Interface de Serviço convidado do Hyper-V.

Iniciar e interromper um serviço de integração de um convidado do Windows

Para que um serviço de integração seja totalmente funcional, seu serviço correspondente deve estar em execução dentro do convidado, além de ser habilitado no host. Nos convidados do Windows, cada serviço de integração é listado como um serviço padrão do Windows. Você pode usar o miniaplicativo Serviços no Painel de Controle ou no PowerShell para interromper e iniciar esses serviços.

Importante

Interromper um serviço de integração pode afetar gravemente a capacidade dos hosts de gerenciar sua máquina virtual. Para funcionar corretamente, cada serviço de integração que você deseja usar deve estar habilitado no host e no convidado. Como prática recomendada, você só deve controlar os serviços de integração do Hyper-V usando as instruções acima. O serviço correspondente no sistema operacional convidado será interrompido ou iniciado automaticamente quando você alterar seu status no Hyper-V. Se você iniciar um serviço no sistema operacional convidado, mas ele estiver desabilitado no Hyper-V, o serviço será interrompido. Se você interromper um serviço no sistema operacional convidado habilitado no Hyper-V, o Hyper-V acabará por iniciá-lo novamente. Se você desabilitar o serviço no convidado, o Hyper-V não poderá iniciá-lo.

Usar os Serviços do Windows para iniciar ou interromper um serviço de integração dentro de um convidado do Windows

  1. Abra o Gerenciador de Serviços executando services.msc como Administrador ou clicando duas vezes no ícone Serviços no Painel de Controle.

    Captura de tela que mostra o painel Serviços do Windows

  2. Localize os serviços que se iniciam com o Hyper-V.

  3. Clique com o botão direito do mouse no serviço que você deseja iniciar ou interromper. Selecione a ação desejada.

Usar o PowerShell para iniciar ou interromper um serviço de integração dentro de um convidado do Windows

  1. Para obter uma lista de serviços de integração, execute:

    Get-Service -Name vmic* | FT -AutoSize
    
  2. A saída deverá ser semelhante ao seguinte:

    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. Execute Start-Service ou Stop-Service. Por exemplo, para desativar o Windows PowerShell Direct, execute:

    Stop-Service -Name vmicvmsession
    

Iniciar e interromper um serviço de integração de um convidado do Linux

Os serviços de integração do Linux geralmente são fornecidos por meio do kernel do Linux. O driver dos serviços de integração do Linux é chamado de hv_utils.

  1. Para descobrir se hv_utils está carregado, use este comando:

    lsmod | grep hv_utils
    
  2. A saída deverá ser semelhante ao seguinte:

    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. Para descobrir se os daemons necessários estão em execução, use este comando.

    ps -ef | grep hv
    
  4. A saída deverá ser semelhante ao seguinte:

    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. Para ver quais daemons estão disponíveis, execute:

    compgen -c hv_
    
  6. A saída deverá ser semelhante ao seguinte:

    hv_vss_daemon
    hv_get_dhcp_info
    hv_get_dns_info
    hv_set_ifconfig
    hv_kvp_daemon
    hv_fcopy_daemon
    

    Os daemons do serviço de integração que podem ser listados incluem o seguinte. Se houver algum ausente, talvez eles não sejam compatíveis com seu sistema ou talvez não estejam instalados. Para saber detalhes, confira Máquinas virtuais compatíveis do Linux e do FreeBSD para o Hyper-V no Windows.

    • hv_vss_daemon: esse daemon é necessário para criar backups de máquina virtual Linux em tempo real.
    • hv_kvp_daemon: esse daemon permite definir e consultar os pares chave-valor intrínsecos e extrínsecos.
    • hv_fcopy_daemon: esse daemon implementa um serviço de cópia de arquivos entre o host e o convidado.

Exemplos

Esses exemplos demonstram como interromper e iniciar o daemon KVP, chamado hv_kvp_daemon.

  1. Use a ID do processo (PID) para interromper o processo do daemon. Para localizar o PID, examine a segunda coluna da saída ou use pidof. Daemons do Hyper-V são executados como raiz, portanto, é necessário possuir permissões de raiz.

    sudo kill -15 `pidof hv_kvp_daemon`
    
  2. Para verificar se todos os processos hv_kvp_daemon foram interrompidos, execute:

    ps -ef | hv
    
  3. Para iniciar o daemon novamente, execute-o como raiz:

    sudo hv_kvp_daemon
    
  4. Para verificar se o processo hv_kvp_daemon está listado com uma nova ID de processo, execute:

    ps -ef | hv
    

Manter os serviços de integração atualizados

Recomendamos que você mantenha os serviços de integração atualizados para obter o melhor desempenho e os recursos mais recentes para suas máquinas virtuais. Isso acontece para convidados do Windows por padrão se eles estiverem configurados para obter atualizações importantes do Windows Update. Os convidados do Linux que usam kernels atuais contêm serviços de integração internos, mas pode haver atualizações opcionais disponíveis. Você receberá os componentes de integração mais recentes ao atualizar o kernel. Para obter mais informações sobre convidados do Linux, consulte Máquinas virtuais compatíveis com Linux e FreeBSD para Hyper-V no Windows.

Observação

O arquivo de imagem Disco dos Serviços de Integração (vmguest.iso) não está incluído no Hyper-V a partir do Windows Server 2016 e Windows 10 porque ele não é mais necessário. Windows Server 2012 e mais antigos exigem o serviço de integração do Data Exchange. Se o serviço de integração do Data Exchange não puder ser habilitado, os serviços de integração para esses convidados estarão disponíveis no Centro de Download como um arquivo de gabinete (cab). As instruções para aplicar um cab estão disponíveis nesta postagem no blog do Microsoft TechCommunity. Se o host Hyper-V estiver executando o Windows Server 2012 R2 ou mais antigo, consulte a próxima seção para saber como instalar ou atualizar os serviços de integração.

Instalar ou atualizar serviços de integração para hosts Hyper-V anteriores a Windows Server 2016 e Windows 10

Observação

Isso não é necessário para o Windows Server 2016 e Windows 10 ou mais recentes.

Para hosts Hyper-V anteriores a Windows Server 2016 e Windows 10, você precisará instalar ou atualizar manualmente os serviços de integração nos sistemas operacionais convidados.

Para instalar ou atualizar manualmente os serviços de integração:

  1. Abra o Gerenciador do Hyper-V.

  2. Conectar-se à máquina virtual. Clique com o botão direito na máquina virtual e selecione Conectar.

  3. No menu Ação de Conexão de Máquina Virtual, selecione Inserir Disco de Instalação dos Serviços de Integração. Essa ação carrega o disco de instalação na unidade de DVD virtual. Dependendo do sistema operacional convidado, talvez seja necessário iniciar a instalação manualmente do Explorador de Arquivos.

  4. Após a conclusão da instalação, os serviços de integração estarão disponíveis para uso.