Buscar

VMWare: ESXi configurar hora

Uno de las tareas a realizar cuando configuramos una infraestructura virtual sobre VMWare vSphere ESXi es la configuración de hora de los host ESXi.

VMWare: ESXi configurar hora

La forma más sencilla de configurar la hora de un host VMWare ESXi es configurar un servidor NTP (Network Time Protocol) externo.

Recordar que tendremos que habilitar los puertos adecuados en las reglas de salida del firewall corporativo para que funcione el protocolo NTP.


VMWare: ESXi configurar hora

VMWare ESXi: Configurar NTP


Para configurar un servidor NTP externo, podemos hacerlo utilizando:

1) VSphere Client for Windows:

Nos situamos sobre el host ESXi, pestaña "Configuration", "Time Configuration", "Properties".

Si pulsamos sobre el botón “Options”, veremos dos apartados:

A) “General”: Configuramos el inicio automático del servicio de hora con el host.

B) “NTP Settings”: Configuramos la IP o host del servidor NTP.

VMWare: ESXi configurar hora

2) VMware Host Client:

Nos situamos sobre el host, "Manage", pestaña "System", apartado "Time & date", opción "Edit settings".

En este apartado podremos configurar el inicio del servicio y el servidor NTP.

VMWare: ESXi configurar hora

3) PowerCLI:

#Ver configuración de servidores de hora de los host ESXi:

Get-VMHost |Sort Name|Select Name, @{N="NTPServer";E={$_ |Get-VMHostNtpServer}}, @{N="ServiceRunning";E={(Get-VmHostService -VMHost $_ |Where-Object {$_.key-eq "ntpd"}).Running}}|fl


#Establecer la configuración de servidores NTP en todos los host ESXi:


Foreach ($vmhost in (get-vmhost))
{
Add-VmHostNtpServer -NtpServer "0.es.pool.ntp.org","1.es.pool.ntp.org" -VMHost $vmHost | Out-Null
Get-VMHostService -VMHost $vmHost | where{$_.Key -eq ntpd} | set-vmhostservice -policy on -Confirm:$false
Get-VmHostService -VMHost $vmHost | Where-Object {$_.key -eq ntpd} | Start-VMHostService -Confirm:$false | Out-Null
}

VMWare ESXi: Servicio de hora desde CLI


También podemos ver la configuración NTP de un host VMWare ESXi, con el comando ntpq, por ejemplo:

~ # ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*10.126.1.200    150.214.94.5     2 u   90  512  377   44.617    1.450   1.102


Posibles parámetros del comando ntpq:

~ # ntpq
ntpq> ?
ntpq commands:
:config          delay            mreadvar         readlist
addvars          exit             mrl              readvar
associations     help             mrv              rl
authenticate     host             ntpversion       rmvars
cl               hostnames        opeers           rv
clearvars        keyid            passociations    saveconfig
clocklist        keytype          passwd           showvars
clockvar         lassociations    peers            timeout
config-from-file lopeers          poll             version
cooked           lpassociations   pstatus          writelist
cv               lpeers           quit             writevar
debug            mreadlist        raw


También podemos ver la configuración NTP revisando el interior del fichero ntp.conf.

Ejemplo del interior de un fichero ntp.conf:

[root@localhost:~] cat /etc/ntp.conf
restrict default kod nomodify notrap nopeer
restrict 127.0.0.1
server hora.roa.es
driftfile /etc/ntp.drift


Ejemplo de configuración del inicio del servicio ntpd:

[root@localhost:~] chkconfig ntpd
ntpd               on


Si aparece “on”, significa que el servicio arrancará de forma automática en el proceso de arranque del host ESXi.

Sin embargo, si existe un desfase horario muy grande entre la hora del host VMWare ESXi y el servidor NTP externo, podemos encontrarnos con que la sincronización NTP no se efectúe con éxito.

El error que podemos encontrar en el syslog del host VMWare ESXi (cat /var/log/syslog.log |grep ntpd) sería el siguiente:

ntpd[75592953]: synchronized to , stratum 1
ntpd[75592953]: time correction of seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.
[info 'ha-eventmgr'] Event 91 : NTP daemon stopped. Time correction 1206 > 1000 seconds. Manually set the time and restart ntpd.


Para solucionar este error basta con establecer la hora del host VMWare ESXi de forma manual.

Una opción sería reiniciar el host VMWare ESXi, entrar en la BIOS del servidor y establecer la hora a mano.

Otra opción es utilizar el comando esxcli.

Veamos su funcionamiento:

Para establecer la hora:

Del sistema: esxcli system time set XXXX

Del reloj del equipo: esxcli hardware clock XXXX

Donde XXXX corresponde al siguiente formato:

-d --day=YY       Día
-H --hour=YY      Hora
-m --min=YY       Minuto
-M --month=YY     Mes
-s --sec=YY       Segundo
-y --year=YY      Año


Ejemplo: Establecemos la fecha siguiente: 12/08/2015 - 11:14

esxcli system time set -d 12 -H 11 -m 14 -M 08 -y 2015
 

esxcli hardware clock set -d 12 -H 11 -m 14 -M 08 -y 2015

Para verificar la configuración:

esxcli hardware clock get
esxcli system time get


Hemos de tener en cuenta que VMWare ESXi trabaja con la hora UTC.

Veamos un ejemplo:

La hora que proporciona vSphere Client for Windows, no es la misma que proporciona la shell, hay un desfase de 2h.


 VMWare: ESXi configurar hora 

Esto significa que cuando analicemos logs del host VMWare ESXi, habrá un desfase horario si nuestra zona horaria no es UTC.

Por ejemplo, la zona horaria de España es: UTC+1.

Las 12:00PM de UTC, corresponde a las 2:00PM de España.

Si utilizamos los comandos: esxcli system time set XXXX o esxcli hardware clock XXXX, deberemos configurar la hora en formato UTC.

Para finalizar, hemos de entender que todos los elementos descritos aquí, corresponden a la configuración de hora del host VMWare ESXi.

Otro tema, es la configuración horaria de las VMs.


VMWare ESXi: Configuración horaria de las VMs


Las VMs de forma natural, sincronizarán hora según su configuración.

Ejemplos en entornos Windows:

Equipos Windows situados en un WORKGROUP: Sincronizarán hora con el host VMWare ESXi.

Equipos añadidos en un dominio de Active Directory: sincronizarán hora con cualquier DC (controlador de dominio).

DCs: Sincronizarán hora con el DC con el rol de PDCe (PDC Emulator).

DC con el rol FSMO de PDCe: Sincronizará hora con la hora proporcionada por el host VMWare ESXi (por defecto) o bien con un servidor NTP externo (requiere configuración). 

Esta configuración puede alterarse si se activa la sincronización de hora utilizando VMWare Tools, opción que  por defecto está desactivada:

VMWare: Sincronización de hora de la VM  (SYSADMIT.com)

En entornos de Active Directory, no debe activarse la opción para no alterar la configuración natural.
 
Finalmente comentar que para verificar que la configuración NTP de nuestro host ESXi es correcta, disponemos del siguiente post:



No hay comentarios:

Publicar un comentario