Soluzioni tecniche

Le macchine virtuali sbagliano orario su VMware

03 Febbraio 2015
È un dato di fatto: VMware cambia l’orario delle macchine virtuali anche se tu gli dici di non farlo.
Scrivo questo post sperando che tu non debba impazzire e perdere tutto il tempo che ho perso io per risolvere questo problema (apparentemente) stupido.
 


Tutto è cominciato quando una macchina virtuale Windows si è rifiutata di fare login su un sistema Active Directory.
Dopo aver fatto diverse analisi ho scoperto che il problema era dovuto agli orologi del client e del server che non erano sincronizzati.
 
Infatti il protocollo Kerberos usato in Active Directory per aumentare la sicurezza del login non consente di autenticarsi se gli orologi sono "sballati".
Le best practice prevedono che il server Windows di dominio sia sincronizzato con una sorgente oraria esterna e tutte le macchine del dominio prendano l’orario dal quel server.
 
Anche se si osservano queste best practice, in ambiente VMware puoi avere delle soprese.


VMware può cambiare l’orario dei guest anche se gli hai detto di non farlo.
Nei VMware tools c’è una checkbox che dice esplicitamente se VMware si debba occupare dell’orario della macchina virtuale guest. Ebbene, ti segnalo che se anche togli il check ci sono comunque diverse circostanze in cui VMware lo fa lo stesso:

  • quando sospendi una macchina virtuale e poi la riattivi;
  • quando migri una macchina usano il vMotion;
  • quando rispristini uno snapshot;
  • quando fari lo shrink dei dischi;
  • quando fai il reboot di una virtual machine.
L’unica soluzione è obbligare ogni singola macchina virtuale a fare per conto proprio senza che sia l’host a interferire.
E questo si può fare facilmente con alcuni comandi che vanno inseriti nel file .VMX, dove sta la configurazione delle macchine virtuali impostando a "0" alcuni parametri.
Se i parametri non sono presenti nel file, basta aggiungerli a mano:

tools.syncTime = "0"
time.synchronize.continue = "0"
time.synchronize.restore = "0"
time.synchronize.resume.disk = "0"
time.synchronize.shrink = "0"
time.synchronize.tools.startup = "0"
time.synchronize.tools.enable = "0"
time.synchronize.resume.host = "0"
 
Queste impostazioni valgono per host ESXi e ESX, se invece lavori con GSX, VMware Fusion, VMware Player e VMware Workstation devi mettere "FALSE" al posto di "0".
 
Per evitare di modificare tutta la configurazione di nuove macchine in futuro, il consiglio è di inserire queste modifiche in un template.
 
Che VMware abbia questo problema, non lo scopro io, ma lo ammette l'azienda stessa. E tu, lo sapevi?
 
Autore
Claudio Panerai
Gli ultimi prodotti che vi ho portato, nel 2020: Vade Secure Il primo sistema antispam/antihishing/antimalware basato sull'intelligenza artificiale e appositamente progettato per Office 365. Naturalmente a misura di MSP. ID Agent Piaffaforma che consente agli MSP di monitorare le credenziali (proprie e dei clienti) che sono in vendita nel dark web.
Nato a Ivrea nel 1969, è sposato e padre di due figlie. Laureato in Scienze dell’Informazione nel 1993, ha dapprima svolto numerose consulenze e corsi di formazione per varie società per poi diventare responsabile IT per la filiale italiana del più grande editore mondiale di informatica, IDG Communications. Dal 2004 lavora in Achab dapprima come Responsabile del Supporto Tecnico per poi assumere dal 2008 la carica di Direttore Tecnico. Giornalista iscritto all’albo dei pubblicisti, dal 1992 pubblica regolarmente articoli su riviste di informatica e siti web di primo piano. E' stimato da colleghi e clienti per la schiettezza e onestà intellettuale. Passioni: viaggi, lettura, cinema, Formula 1, sviluppo personale, investimenti immobiliari, forex trading. Claudio è anche su LinkedIn e Facebook.
Commenti (2)

Altrimenti abiliti il servizio ntp sugli hosts esxi e li fai puntare a dei time server esterni tipo time.ien.it it.pool.ntp.org
Mai avuto un problema. Ma accetto suggerimenti e/o critiche. 😉

Filippo Dareggi,

Buona dritta, Dareggi 😉

Claudio Panerai,

Lascia un commento

Il tuo indirizzo e-mail non verrà pubblicato, lo utilizzeremo solamente per inviarti la notifica della pubblicazione del tuo commento. Ti informiamo che tutti i commenti sono soggetti a moderazione da parte del nostro staff.