Desvio do tempo de host do VMware

10

Como garantir que os hosts Linux, executando a infraestrutura de VMware 3 ou VMware 3 ESX permaneçam sincronizados com o servidor NTP. Descobri que um convidado do Linux executando sob esx ou esxi tem uma tendência a desviar o relógio no futuro.

Como garantir que o tempo permaneça sincronizado com o servidor de horário? Preciso implantar ferramentas vmware no host linux? e depois sincronizar o host com o servidor ntp, o convidado com o host e com o servidor ntp?

biosFF
fonte

Respostas:

6

Foi um problema que 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 convidado, ele sincronizará automaticamente seu horário com o horário do host.

tomdeb
fonte
Também descobri que tinha que adicionar clocksource = pit à linha de inicialização do grub kernel.
Scott
9

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

Resposta longa: O VMware possui um documento de práticas recomendadas bastante bom, http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

Observe que isso é um pouco contrário a algumas das informações neste tópico. Por exemplo, é especificamente recomendado não usar mais o recurso vmware-tools timesync.

cagenut
fonte
Instalações diferentes de host / convidado precisam de uma combinação diferente de soluções, receio. Trabalhei com uma caixa virtual em outro trabalho em que não conseguimos resolver o problema de sincronização temporal, independentemente do que tentássemos.
staticsan
4

Sim, a instalação do 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 nos kernels recentes o suficiente sempre acrescento:

divider=10

o que reduz significativamente a utilização da CPU do convidado.

Também são úteis com ou sem as ferramentas vmware instaladas e ajudam a manter os relógios mais próximos em sincronia (em vez de uma luta constante entre um relógio que oscila rapidamente e o serviço de sincronização do relógio das ferramentas vmware).

jmanning2k
fonte
3

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

David Mackintosh
fonte
1

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

Matt Simmons
fonte
1

Tenha cuidado com ntpdate ou rdate, normalmente não é uma boa idéia mudar o tempo da maneira mais difícil, pois muitos aplicativos de servidor dependem de um tempo contínuo.

Pombal, por exemplo, irá parar se detectar uma grande mudança de tempo.

Sven
fonte
Além disso, nunca use o ntpdate em conjunto com o recurso de sincronização de tempo do VMWare. Você pode terminar com o VMWare fazendo uma conexão significativa com base em desvios após o ntpdate atualizar o relógio, tornando as coisas tão imprecisas quanto na outra direção.
David Spillett
1

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

Para parar o NTP, basta desistir se a carga pesada ou algum outro problema fizer o relógio andar muito longe (isso é muito mais raro com os kernels mais recentes, mas ainda pode acontecer). do seu ntp.conf.

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

Além disso: não use a 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.

David Spillett
fonte
0

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

joshk0
fonte
1
NTP em uma VM provavelmente não corrigirá esse problema. O problema com a execução como uma VM é que você não recebe necessariamente um número consistente de ticks por CPU-segundo. Sob essas condições, o ntp geralmente desiste das tentativas de sincronização rapidamente. Você precisa seguir a rota vmware-tools ou executar um bruto 'rdate -s $ SERVER' do cron para acelerar o relógio.
David Mackintosh
0

Isso pode ser útil ..

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

 clock=pit
rkthkr
fonte