quinta-feira, 17 de setembro de 2009

Linux Kernel 2.6 em VM com horário incorreto

Introdução:
Ao instalar um CentOS 5.3 em uma máquina virtual (VMWare Server 1.0), mas pelas pesquisas é um problema do Kernel 2.6 com máquinas virtuais, inclusive o MS Virtual Server, o mesmo começou a apresentar problemas de horário, mas não somente dessincronismo e sim anomalias, acompanhe os testes realizados.

Testes Realizados:
# date
Wed Sep 16 15:10:16 BRT 2009
Horário Incorreto

# service ntpd restart
Shutting down ntpd: [ OK ]
ntpd: Synchronizing with time server: [ OK ]
Starting ntpd: [ OK ]

# date
Wed Sep 16 15:13:03 BRT 2009
Horário sincronizado com o NTP

# while true; do date; sleep 120; done
Wed Sep 16 15:13:15 BRT 2009
Wed Sep 16 15:15:15 BRT 2009

Se eu deixar ele me mostra certinho 2 em 2 minutos... Porém...

# date
Wed Sep 16 15:15:42 BRT 2009

Não são 15:15 e sim 15:17... Ele perdeu 2 minutos no meio do caminho.... O minuto dele não tem 60 segundos???? Ele vai perdendo minutos até estar com horas de diferença...

Solucionando o problema:
Bom depois de muitas pesquisas e testes, vamos a solução, que é realizada em várias etapas.
Instalar VMware tools:
Menu VM // Install VMWare Tolls...

Automaticamente será montada uma imagem do VMWare Tools na máquina virtual. Execute os comandos:
# cd /media/VMware\ Tools/
# rpm -ivh VMwareTools-1.0.9-156507.i386.rpm

Configurar VMware tools:
# vmware-config-tools.pl
Siga as instruções.

# vmware-toolbox
Marque a seguinte opção:
"Time synchrononization between the virtual machine and the host operation system."


Alterar o GRUB:
Editar o GRUB e acrescentar os seguintes parâmetros, na linha do kernel:
clock=pit nosmp noapic nolapic

Por exemplo:
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic

Desligar o computador:
# sync
# sync
# shutdown -h now

Ele deve acrescentar automáticamente a linha abaixo no arquivo .vmx da sua VMWare:
tools.sync.Time = "TRUE"
Se isto não aconteceu, acrescente manualmente.

Iniciar a VM e verificar que o horário está OK!!

Referências:
http://communities.vmware.com/thread/74465
http://communities.vmware.com/thread/41993
http://communities.vmware.com/thread/120931
http://support.microsoft.com/kb/918461
http://www.vmwarez.com/2006/01/vmwarezcoms-pre-built-vms-for-player.html

5 comentários:

Alan Silva_ disse...

Boa tarde Déo,
muito bom o seu blog, estou maravilhado com a quantidade de conteudo que tem aqui...adorei a parte sobre o Zabbix, serviu muito para mim.
Obrigado e sucesso!

Metro-Bnu disse...

Parabéns pelo post!
Me ajudou muito...resolveu minha dor de cabeça!!
Obrigado!

Hugo Golembiewski disse...

Amigo, parabéns pelo Post!

Não sou expert em linux e estou aprendendo Vmware. Isso também funciona para o Ubuntu 14.04? Estou com esse problema, ele está adiantando o relógio do Linux, apesar do meu AD Windows estar no mesmo horário do Vmware ESXI. Somente o Ubuntu ocorre esse adiantamento de horário. Alguém poderia me ajudar nisso?

André Déo disse...

Hugo...

Além da questão do horário o VMWare tools trás outras melhorias como no driver de rede e de vídeo, então recomendo instalar de qualquer maneira.

Como era (em 2009) um problema de Kernel afetava todos os Linux...

Abraços,

Hugo Golembiewski disse...

Obrigado André Déo...

Então vou rever esta instalação do VM Tools pois acredito que já instalei. Para o caso de eu já ter instalado, onde mais eu poderia investigar esse problema de hora no Linux.

Tem a questão do Ubuntu estar integrado ao domínio, mas preciso até retirar pois no meu caso não precisa. De qualquer forma, ele deveria pegar a hora do AD, certo?

Sds.

Hugo