hv-kvp-daemon falha no Ubuntu 16.04 no Hyper-V

0

Estou tentando automatizar a implantação de VMs do Ubuntu 16.04 no Hyper-V com o packer e o preseed. No meu arquivo preseed eu instalo todas as dependências necessárias:

d-i preseed/late_command string in-target apt-get install -y --install-recommends linux-virtual-lts-xenial linux-tools-virtual-lts-xenial linux-cloud-tools-virtual-lts-xenial;

A instalação é concluída sem mais problemas e, após a reinicialização, o serviço está em execução:

root@ubunt-xenial:~# systemctl status hv-kvp-daemon.service
 ● hv-kvp-daemon.service - Hyper-V KVP Protocol Daemon
 Loaded: loaded (/lib/systemd/system/hv-kvp-daemon.service; enabled; vendor preset: enabled)
 Active: active (running) since Mon 2018-01-15 13:32:34 UTC 12s ago
 Main PID: 567 (hv_kvp_daemon)
 CGroup: /system.slice/hv-kvp-daemon.service
         └─567 /usr/lib/linux-tools/4.4.0-109-generic/hv_kvp_daemon -n

 Jan 15 13:32:34 ubuntu-xenial systemd[1]: Started Hyper-V KVP Protocol Daemon
 Jan 15 13:32:34 ubuntu-xenial KVP[567]: KVP starting: pid is: 567
 Jan 15 13:32:34 ubuntu-xenial KVP[567]: KVP LIC Version: 3.1

Mas, para que o empacotador seja concluído, o hipervisor deve conseguir ver o endereço IP do convidado. Mas de alguma forma, o Hyper-V relata "sem contato":

D:\packer> Get-VMIntegrationService 'ubuntu-xenial'
[...]
ubuntu-xenial  Key-Value Pair Exchange True   No Contact

Quando volto à VM, vejo que o serviço está sendo executado inicialmente, mas falha:

 root@ubunt-xenial:~# journalctl
 [...]
 Jan 15 13:33:36 ubuntu-xenial kernel: hv_balloon: Received INFO_TYPE_MAX_PAGE_CNT
 Jan 15 13:33:36 ubuntu-xenial kernel: hv_balloon: Data Size is 8
 Jan 15 13:34:26 ubuntu-xenial KVP[567]: read failed; error:9 Bad file descriptor
 Jan 15 13:34:26 ubuntu-xenial systemd[1]: hv-kvp-daemon.service: Main process exited, code=exited, status=1/FAILURE
 Jan 15 13:34:26 ubuntu-xenial systemd[1]: hv-kvp-daemon.service: Unit entered failed state.
 Jan 15 13:34:26 ubuntu-xenial systemd[1]: hv-kvp-daemon.service: Failed with result 'exit-code'.

Quando eu reinicio o serviço manualmente com 'systemctl restart hv-kvp-daemon.serv ice' ele aparece, mas falha novamente depois de um tempo. A única opção para iniciar corretamente o daemon é desligar a máquina e ligá-la novamente (a reinicialização não não funciona, eu tenho que iniciá-la manualmente).

Para uma criação automatizada, preciso que este serviço seja executado, alguma idéia sobre como consertar isso?

tl; dr: o hv-kvp-daemon aparece, falha após ~ 1min e só volta a funcionar depois de reiniciá-lo manualmente.

    
por DrDre 15.01.2018 / 14:47

1 resposta

1

Tem certeza de que a máquina foi configurada com o "Data Exchange" ativado?

A opção pode ser encontrada no Gerenciador do Hyper-V. Clique com o botão direito na máquina, selecione "Configurações ..." - > "Serviços de Gerenciamento / Integração". Certifique-se de que existe uma marca de seleção próxima a pelo menos "Data Exchange".

    
por GuyPaddock 03.04.2018 / 22:04