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
No painel central, clique com o botão direito na máquina virtual e selecione Configurações.
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.
Obtenha uma lista de serviços de integração em execução:
Get-VMIntegrationService -VMName "DemoVM"
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
Ligar a Interface de Serviço de Convidado:
Enable-VMIntegrationService -VMName "DemoVM" -Name "Guest Service Interface"
Verifique se a Interface do Serviço convidado está habilitada:
Get-VMIntegrationService -VMName "DemoVM"
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
Abra o Gerenciador de Serviços executando
services.msc
como Administrador ou clicando duas vezes no ícone Serviços no Painel de Controle.Localize os serviços que se iniciam com o Hyper-V.
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
Para obter uma lista de serviços de integração, execute:
Get-Service -Name vmic* | FT -AutoSize
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
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.
Para descobrir se hv_utils está carregado, use este comando:
lsmod | grep hv_utils
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
Para descobrir se os daemons necessários estão em execução, use este comando.
ps -ef | grep hv
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
Para ver quais daemons estão disponíveis, execute:
compgen -c hv_
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
.
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`
Para verificar se todos os processos
hv_kvp_daemon
foram interrompidos, execute:ps -ef | hv
Para iniciar o daemon novamente, execute-o como raiz:
sudo hv_kvp_daemon
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:
Abra o Gerenciador do Hyper-V.
Conectar-se à máquina virtual. Clique com o botão direito na máquina virtual e selecione Conectar.
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.
Após a conclusão da instalação, os serviços de integração estarão disponíveis para uso.