A sincronização de tempo, geralmente efetuada através do protocolo NTP (Network Time Protocol) é uma configuração crítica em servidores. Porém, quando se trata de servidores virtualizados, é necessária uma atenção adicional para a configuração do sincronismo de tempo. O artigo a seguir discute as melhores práticas para sincronismo de relógio em servidores virtualizados na plataforma VSphere da VMware.
A ferramenta VMware Tools tem uma funcionalidade para promover sincronismo de tempo dos sistemas operacionais das máquinas virtuais com o host ESX. No entanto, a documentação da VMware afirma que softwares de sincronização de tempo como clientes NTP ou o w32tm (no Windows) são mais precisos que o VMware Tools e devem ser utilizados preferencialmente para tal função.
Por padrão, a sincronização de tempo da ferramenta VMware Tools vem desabilitada. Assim, para manter o tempo sincronizado (em uma primeira análise) bastaria realizar a configuração da ferramenta de sincronismo de tempo do próprio sistema operacional (NTP ou w32tm) com uma fonte externa de NTP, como é realizado em servidores físicos.
No entanto, é importante entender que, mesmo que a sincronização de tempo do VMware Tools não tenha sido habilitada (ou que tenha sido desabilitada no VMware Tools), as máquinas virtuais terão o tempo sincronizado com o host ESX em algumas situações:
- quando o daemon do VMware Tools é inicializado (por exemplo, durante um “reboot” ou “power on” da máquina virtual)
- quando a máquina virtual é colocada em operação novamente após ter sido suspensa.
- quando a máquina virtual é revertida para um snapshot
- após a compressão do disco.
- quando é realizado Vmotion da máquina virtual
Desta forma, além de configurar uma ferramenta nativa do sistema operacional (como o NTP ou o w32tm) para realizar o sincronismo de tempo, é essencial desabilitar completamente a sincronização de tempo da máquina virtual com o host ESX (e isso só pode ser feito através da edição manual do arquivo .vmx da máquina virtual).
Para desabilitar completamente a sincronização de tempo da máquina virtual com o host ESX, localize o arquivo .vmx da máquina virtual e utilize um editor de texto para acrescentar as seguintes linhas no arquivo:
tools.syncTime = "FALSE"
time.synchronize.continue = "FALSE"
time.synchronize.restore = "FALSE"
time.synchronize.resume.disk = "FALSE"
time.synchronize.shrink = "FALSE"
time.synchronize.tools.startup = "FALSE"
Salve o arquivo .vmx após adicionar as linhas acima.
O passo seguinte para obter um sincronismo de tempo confiável para os servidores é configurar uma ferramenta nativa do sistema operacional como cliente NTP.
Um exemplo dessa configuração é mostrado a seguir para servidores Windows através da utilização da ferramenta w32tm.
Através do prompt de comando do Windows, realize os seguintes passos:
1: Pare o serviço Windows Time:
net stop w32time
2: Configure a lista de servidores NTP utilizados por padrão na sua estrutura. A configuração de mais de um servidor deve utilizar vírgulas (sem espaço) entre os endereços dos servidores. Neste exemplo foram utilizados servidores do br.pool.ntp.org:
w32tm /config /syncfromflags:manual /manualpeerlist:”0.br.pool.ntp.org,1.br.pool.ntp.org,2.br.pool.ntp.org,3.br.pool.ntp.org” /reliable:yes /update
3: Inicie o serviço Windows Time:
net start w32time
4: Force a atualização do tempo para que a mesma ocorra logo após a configuração acima, sem precisar aguardar a próxima sincronização:
w32tm /resync
Para checar as configurações do Windows Time realizadas anteriormente é possível utilizar o seguinte comando:
w32tm /query /status
Os servidores Windows pertencentes a um domínio Microsoft irão sincronizar o tempo com o controlador de domínio independentemente das configurações do VMware Tools, porém é essencial que o procedimento acima seja efetuado no controlador de domínio para que ele possa ser uma fonte confiável de referência de tempo.
Realizar o procedimento descrito nesta dica técnica irá evitar surpresas desagradáveis com relação ao sincronismo de tempo na virtualização de servidores.
Referências
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1318