Por que o meu hóspede do Debian Hyper-V não atualiza o tempo após o host dormir?

1

Eu tenho um host físico (laptop) do Windows 10 com o Hyper-V instalado e habilitado, e estou tendo um problema onde, para uma instalação um pouco baiana do Debian 9 guest, o relógio não é atualizado após o host ser suspenso por um tempo e depois é acordar de volta novamente (eu suponho que o convidado está suspenso com o host).

Tanto quanto eu entendo, esse problema deve ser tratado trivialmente pelos serviços de integração do Hyper-V, que são ativados nas configurações da máquina virtual (todos os serviços de integração habilitados) e no guest os hv_* modules são carregados), e onde um dos serviços sincroniza o tempo e garante que ele permaneça atualizado.

Então, por que não funciona no meu caso? Eu não tenho NTP instalado e eu não quero, parcialmente no princípio (para solucionar o problema com o Hyper-V especificamente) e parcialmente porque o convidado deve trabalhar sem conexão com a Internet e serviços de host remoto. Meu host timezone está configurado para UTC explicitamente (eu vago muito com o laptop e não preciso nem quero associar estaticamente o convidado a um fuso horário específico), e use a variável TZ conforme necessário.

Eu li um monte de páginas na Microsoft e alguns artigos do Altaro que pareciam muito bem informados, mas não conseguiram me esclarecer sobre isso. Também li várias respostas em sites do Stack Exchange, em que metade recomenda o uso de NTP e a outra metade é principalmente sobre outra coisa ou simplesmente não produz o conselho desejado.

Eu entendo que talvez haja algum sinal que não seja disparado no convidado quando o host voltar a adormecer (como faria se você colocasse o convidado para dormir por meio da ACPI, por exemplo), mas não deveria isso é um problema resolvido?

O que e onde posso solucionar problemas para ter certeza de que posso fechar a tampa do laptop com segurança (colocá-lo em suspensão) e esperar voltar ao meu convidado com um registro de data e hora atualizado?

    
por amn 09.04.2018 / 20:39

1 resposta

0

Verifique isso: link

Uma correção de trabalho é desabilitar todos os outros serviços de horário e usar o chrony, em vez de configurar apenas o time de origem de hyperv do LIS ptp0.

Certifique-se de que a fonte de tempo do LIS esteja disponível em:

ls /sys/class/ptp
ptp0

cat /sys/class/ptp/ptp0/clock_name 
hyperv

Agora instale o chrony para sua distro e verifique o local de configuração, do que crie a config que corresponde ao seu ptp? localização do dispositivo.

/etc/chrony.conf:

refclock PHC /dev/ptp0 trust
makestep 1 -1

Isso permitirá que o chrony corrija o tempo de sistema através da fonte hyperv ptp0 em uma única grande etapa.

O tempo de votação pode ser reduzido para 4 segundos (potência de 2) via:

refclock PHC /dev/ptp0 trust poll 2

PS: Parece que isso é um erro / falha no hyperv / LIS.

    
por 26.04.2018 / 10:27