Como forçar a atualização das configurações de hora e data da Internet?

5

Estou executando o Ubuntu 12.04 LTS no vmWare. Quando reinicio uma imagem suspensa, o relógio do sistema não detecta que a hora do sistema está desatualizada. Na caixa de diálogo Configurações de hora e data, selecionei "Definir hora automaticamente na Internet", mas nenhuma quantidade de cliques nas duas opções (a outra é "Definir hora manualmente") faz com que o sistema realmente "verifique a Internet" e use a hora correta. Existe uma maneira de forçar o sistema local (executando no vmWare) a mudar o horário para o "horário da internet"?

Chris Gerken
fonte
Você tem as ferramentas vmware instaladas? As ferramentas têm a capacidade de executar comandos em suspender / retomar.
Jsbillings
@jsbillings sim, sim, mas esperava uma ação simples da interface do usuário do ubuntu que eu pudesse executar. Eu também esperava que isso acontecesse automaticamente.
Chris Gerken

Respostas:

5

Instale um serviço NTP na máquina virtual:

sudo apt-get install ntp

Dessa forma, a máquina virtual (supondo que tenha acesso à Internet) definirá seu horário a partir de um servidor NTP remoto.

Se isso já estiver instalado, verifique se o serviço está sendo executado:

sudo service ntp status

Caso contrário, inicie-o:

sudo service ntp start

Por fim, você pode forçá-lo a obter o tempo do servidor com

sudo ntpdate 1.debian.pool.ntp.org
terdon
fonte
1
Isso não é tão simples: o hóspede não sabe que foi suspenso e retomado. Além disso, a instalação do NTP em um convidado da VMware é na verdade uma péssima idéia, pelo menos em determinadas configurações (que encontrei, mas não sei quão amplamente aplicável é minha experiência), porque o convidado e o host lutam para compensar a deriva e o relógio do hóspede dão errado como resultado.
Gilles
3

A configuração da hora da Internet é feita via NTP . Existem dois métodos:

  • ntpdate faz uma consulta para recuperar a hora atual de um servidor e define o relógio do computador para essa hora.
  • Um daemon ntp faz consultas regulares a um ou mais servidores e normalmente mantém o relógio local com uma precisão de alguns milissegundos ou melhor em relação aos servidores de horário.

O NTP se recusa a seguir saltos repentinos do servidor de horário: pressupõe que, se houver uma grande discrepância entre o relógio local e o servidor (o máximo é de 20 minutos, se bem me lembro), isso deve ser devido a um problema de rede ou uma configuração incorreta (por exemplo, fuso horário errado).

Quando você reinicia uma imagem suspensa, o relógio do sistema deve detectar isso (o processador virtual recebe uma interrupção do cronômetro). Se isso não estiver funcionando para você, você deve investigar isso mais profundamente, porque definir o horário da Internet não resolverá seu problema. Sua descrição do problema parece um bug no VMware ou no kernel do Linux.

Quando uma imagem suspensa é retomada, o processador vê apenas um salto no tempo, não obtém as informações de que a máquina virtual foi suspensa. Portanto, não há como executar um programa (como ntpdate) ao reiniciar. (A menos que haja uma maneira de fazer isso por meio das ferramentas VMware, eu não sei.)

O VMware (pelo menos ESX) possui seu próprio software de cronometragem. Até onde eu sei, o software de sincronização do tempo de execução, tanto no host quanto no convidado, tende a correr mal, porque cada lado compensa o mesmo desvio e você acaba com enormes flutuações. Verifique se o host está mantendo o horário certo e não execute nenhum software de sincronização de horário no convidado.

Gilles
fonte