Por que meu convidado do Debian Hyper-V não atualiza o tempo depois que o host sai do modo de suspensão?

Por que meu convidado do Debian Hyper-V não atualiza o tempo depois que o host sai do modo de suspensão?

Eu tenho um host físico (laptop) do Windows 10 com Hyper-V instalado e habilitado e estou tendo um problema onde, para uma instalação de convidado do Debian 9 bastante básica, o relógio não é atualizado depois que o host é colocado em suspensão por um tempo e em seguida, é ativado novamente (presumo que o convidado esteja suspenso com o host).

Pelo que entendi, esse problema deve ser resolvido trivialmente pelos serviços de integração do Hyper-V, quesãohabilitado tanto nas configurações da máquina virtual (todos os serviços de integração habilitados) quanto no convidado (todos os hv_*módulos são carregados), e onde um dos serviços sincroniza o horário e garante que ele permaneça atualizado.

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

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

Entendo que talvez haja algum sinal que não seja acionado no convidado quando o host voltar do sono (como aconteceria se você colocasse o convidado para dormir por meio da ACPI, por exemplo), mas isso não deveria ser um problema resolvido?

O que e onde posso solucionar o problema para garantir que posso fechar a tampa do laptop com segurança (colocando-o no modo de suspensão) e esperar voltar ao meu convidado com um carimbo de data/hora atualizado?

Responder1

Verifique isto:https://github.com/clearlinux/distribution/issues/39

Uma solução funcional é desabilitar todos os outros serviços de horário e usar o chrony, em vez de configurar apenas o LIS hyperv timesource ptp0.

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

ls /sys/class/ptp
ptp0

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

Agora instale o chrony para sua distro e verifique o local da configuração, depois crie a configuração 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 horário do sistema por meio da fonte hyperv ptp0 em uma única grande etapa.

O tempo de pesquisa pode ser reduzido para 4 segundos (potência de 2) através de:

refclock PHC /dev/ptp0 trust poll 2

PS: Parece que isso é um bug/descuido no hyperv/LIS.

informação relacionada