desvio do tempo do host VMware

10

Como garantir que os hosts linux, rodando em VMware Infrastructure 3 ou VMware 3 esxi permaneçam em sincronia com o servidor ntp. Eu descobri que um convidado linux rodando sob esx ou esxi tem uma tendência a ter o relógio no futuro.

Como garantir que o tempo permaneça em sincronia com o servidor de horário? Eu tenho que implantar ferramentas vmware no host linux? e depois sincronizar o host para o servidor ntp, o convidado com o host e com o servidor ntp?

    
por biosFF 09.06.2009 / 17:18

10 respostas

6

Esse é um problema que eu encontrei e às vezes os desvios são tão grandes que o serviço ntp se recusou a sincronizar.

Descobri que, se você instalar as ferramentas vmware no guest, ele sincronizará automaticamente seu horário com o horário do host.

    
por 09.06.2009 / 17:25
9

Resposta curta: parâmetros apropriados do kernel e configuração do ntpd

Long Answer: a VMware tem um documento de práticas recomendadas que é muito bom link

Observe que isso é um pouco contrário a algumas das informações neste segmento. Por exemplo, é especificamente recomendado que não use o recurso timesync do vmware-tools.

    
por 09.06.2009 / 20:09
4

Sim, instalar o vmware-tools para a ferramenta de sincronização do relógio é importante, mas pode não ser suficiente.

O que funcionou para mim é adicionar o parâmetro de inicialização do kernel:

clock=pit notsc

Isso define o clocksource para algo que o vmware mantém atualizado e desativa o contador de sincronização de tempo.

Talvez não relacionado, mas em kernels recentes o suficiente eu também adiciono:

divider=10

que reduz significativamente a utilização da CPU do hóspede.

Ambos são úteis, com ou sem a instalação de ferramentas VMware, e ajudam a manter os relógios mais próximos em sincronia (em vez de uma luta constante entre um relógio que roda rapidamente e o serviço de sincronização de relógio das ferramentas vmware).

    
por 09.06.2009 / 17:52
3

Sim, você precisa instalar o vmware-tools no cliente da VM. Em seguida, você pode definir a caixa "sincronizar o horário do convidado com o host" na tela Opções da VM.

    
por 09.06.2009 / 17:27
1

Existe uma resposta que já está selecionada (e é a melhor resposta, já que as ferramentas vmware oferecem muitas outras vantagens), mas outra opção é também executar comandos ntpdate regulares no cron. Isso corrige seu relógio, mas não gerencia a deriva do relógio, mas funciona em um aperto.

    
por 09.06.2009 / 18:10
1

Cuidado com o ntpdate ou rdate, geralmente não é uma boa idéia mudar o tempo da maneira mais difícil, já que muitos aplicativos de servidor dependem de um tempo contínuo.

Por exemplo, o Dovecot apenas sairá se detectar uma grande mudança de horário.

    
por 09.06.2009 / 18:26
1

Se você estiver usando um kernel "tickless" (2.6.22+ é por padrão IIRC) nos convidados, então o desvio do relógio é mais fácil de gerenciar. Descobri que usar o NTP é mais preciso do que a própria ferramenta da VMWare, mas não testei isso cientificamente.

Para parar o NTP simplesmente desistir se uma carga pesada ou algum outro problema fizer o relógio ficar muito longe (muito mais raro com os kernels mais recentes, mas ainda assim pode acontecer) certifique-se de ter a linha "funileiro 0" em / perto do topo do seu ntp.conf.

Para ser atencioso, sincronize o relógio das máquinas host com os relógios públicos e as VMs com o host - não inclua todas as suas VMs separadamente em contato com os servidores de horário públicos.

Além disso: não use a própria sincronização de convidado do relógio do VMWare ao mesmo tempo que o NTPD. Os dois tropeçarão um no outro, deixando o relógio da sua VM em um estado indefinido e não confiável.

    
por 09.06.2009 / 19:51
1

Aqui está uma boa compilação de artigos de cronometragem VMware que me ajudaram no passado: link

    
por 09.06.2009 / 20:25
0

Se você instalar o daemon NTP no seu convidado Linux como cliente, ele verificará periodicamente e garantirá que seus relógios não se movam a longo prazo. Você não precisa fazer nenhuma sincronização sofisticada de host-guest, porque o servidor é apenas ... na rede. :)

    
por 09.06.2009 / 17:20
0

Este pode ser útil.

Parâmetro de inicialização do kernel convidado:

 clock=pit
    
por 09.06.2009 / 17:37