News

NTP macchine virtuali

Sincronizzazione dell'ora nelle macchine virtuali

La sincronizzazione nelle macchine virtuali (VM) può essere piuttosto complicata. Se il tempo in una VM viene confrontato con un clock di riferimento esterno reale a intervalli regolari, la differenza di tempo osservata nei confronti successivi può saltare avanti e indietro anche se l'orologio di riferimento è stabile. Ad esempio, se 1 secondo sembra essere passato all'interno di una VM, il tempo di un orologio reale potrebbe aver guadagnato 1,1 secondi perché gli aggiornamenti del timer nella VM sono stati ritardati, o solo 0,9 secondi se gli aggiornamenti del timer sono stati raggruppati per recuperare.

Quindi, quanto accuratamente il tempo in una macchina virtuale può essere disciplinato da qualsiasi software di sincronizzazione dipende in generale da quanto è buona la sincronizzazione in una VM, che a sua volta dipende dall'implementazione del software di virtualizzazione (cioè l'hypervisor), che deve fare attenzione che gli interrupt in ogni VM siano programmati con precisione ogni volta che un intervallo di tick scade.

Pertanto, le prestazioni della sincronizzazione di una VM dipendono dal tipo e dalla versione del sistema operativo in esecuzione nella VM e dal tipo e versione del software hypervisor in esecuzione sulla macchina fisica.

Alcuni sistemi di virtualizzazione forniscono i propri meccanismi per disciplinare il tempo in una VM in modo più o meno accurato, mentre altri suggeriscono di installare un software come il deamon NTP su una macchina virtuale.

Generalmente non è consigliabile utilizzare una VM come time server di stratum 2 per altre macchine fisiche poiché il tempo fornito da tale server è solitamente meno accurato e fornisce un jitter significativamente maggiore rispetto a una macchina fisica che agisce da time server stratum 2.

Una spiegazione più dettagliata delle nozioni di base può essere trovata in un documento fornito da VMware:

https://www.vmware.com/pdf/vmware_timekeeping.pdf

Altre risorse: supporto NTP: problemi noti del sistema operativo

http://support.ntp.org/bin/view/Support/KnownOsIssues

In particolare: Xen, VMware e altre implementazioni di macchine virtuali

http://support.ntp.org/bin/view/Support/KnownOsIssues#Section_9.2.2.

VMware

Nelle prime versioni di VMware il tempo all'interno di una VM saltava avanti e indietro così tanto che programmi come ntpd non erano in grado di disciplinare correttamente il tempo di sistema, quindi il consiglio generale era di lasciare che l'hypervisor aggiustasse il tempo della VM ad intervalli periodici . Nelle attuali versioni di VMware questo è stato migliorato, quindi VMware suggerisce di installare NTP in ogni VM, se la VM esegue Linux o Windows:

Best practice per il time su Linux (1006427)

https://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1006427

Best practice per Windows (1318)

https://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1318

Nota:

Se si esegue ntpd in Windows, utilizzare NTP versione 4.2.8 o successive e configurare i server NTP da sottoporre a polling utilizzando le linee di configurazione come questa in ntp.conf: server aa.bb.cc.dd iburst minpoll 6 maxpoll 6

dove aa.bb.cc.dd deve essere sostituito dal nome host o dall'indirizzo IP del server NTP reale. Questa configurazione produce il miglior risultato sotto Windows in generale. In VMware è anche possibile, in determinate condizioni, utilizzare direttamente una scheda PCI come origine temporale di riferimento all'interno di una singola VM.

Limiti noti

Quando una macchina virtuale viene spostata da una macchina fisica alla successiva o un'istantanea viene prelevata da una macchina virtuale, la macchina virtuale viene temporaneamente sospesa, il che si traduce in un offset di tempo quando viene ripresa la VM.

Altri sistemi di virtualizzazione

Ci sono altre implementazioni di virtualizzazione come:

Le basi sono per lo più sempre le stesse, ma non abbiamo ancora raccolto informazioni specifiche.

Categorie

I più letti