Domanda

L'orologio della mia macchina virtuale si sposta in modo piuttosto significativo. C'è documentazione là fuori su come affrontare questo, ma nulla sembra funzionare molto bene.

Qualcuno ha qualche suggerimento, cose che hanno funzionato bene per loro, ...

Presumibilmente l'aggiornamento regolare tramite ntp non è una buona soluzione.

È stato utile?

Soluzione

vmware ha un ottimo documento PDF su questo problema.

Fondamentalmente, l'host eseguirà le zecche consegnate ai tuoi ospiti come può. Non eseguire NTP o in modo cronometrato o indesiderato in questo modo. Basta installare vmware-guestd e lasciare che l'host abbia fatto il segno di spunta. Se perdi ancora le zecche, anche qualsiasi altra soluzione avrà una deriva maggiore.

Se possibile, utilizzare un SO guest con un tick rate a bassa frequenza. Le versioni più recenti di Linux hanno tick da 1000Hz, ma erano solo 100Hz. Ciò sembra più facile da fornire per l'host. Di solito è necessaria una ricostruzione del kernel per modificare il valore HZ.

Altri suggerimenti

  1. Leggi attentamente la documentazione di vmware prima di ascoltare chiunque. Stiamo eseguendo ESX5.

Tra le altre cose le migliori pratiche di cronometraggio per gli ospiti Linux dicono: Rif: http://kb.vmware.com/selfservice /microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

Consigli NTP Nota: VMware consiglia di utilizzare NTP anziché la sincronizzazione periodica dell'ora di VMware Tools. NTP è uno standard del settore e garantisce un accurato mantenimento del tempo nel vostro ospite. Potrebbe essere necessario aprire il firewall (UDP 123) per consentire il traffico NTP.

Questo è un esempio /etc/ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

Questo è un esempio (specifico per RedHat) / etc / ntp / step-tickers:

0.vmware.pool.ntp.org
1.vmware.pool.ntp.org

La direttiva di configurazione tinker panic 0 indica a NTP di non arrendersi se vede un grande salto nel tempo. Ciò è importante per far fronte a grandi perdite di tempo e anche per riprendere le macchine virtuali dal loro stato sospeso.

Nota: la direttiva tinker panic 0 deve trovarsi all'inizio del file ntp.conf.

È anche importante non utilizzare l'orologio locale come sorgente temporale, spesso indicato come Orologio locale non disciplinato. NTP ha la tendenza a ricorrere a questo in preferenza ai server remoti quando c'è una grande quantità di tempo.

Un esempio di tale configurazione è:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

Commenta entrambe le righe.

Dopo aver apportato modifiche alla configurazione NTP, il daemon NTP deve essere riavviato. Fare riferimento alla documentazione del fornitore del sistema operativo.

Solo per aggiungere alcuni dati sul perché NTPD non è una buona soluzione. NTPD è un demone che tenta di compensare la deriva dell'orologio locale; se il "clock interno" va alla deriva di X numero di secondi in un giorno, quindi invece di saltare avanti / indietro come un comando forzato come in " ntpdate " NTPD tenta di aggiungere / rimuovere alcuni cicli all'orologio in modo che nel tempo, normalmente entro 15 minuti, l'orologio funzioni in modo sufficientemente accurato e la compensazione superi questo X numero di secondi che i server guadagnano / perdono in un giorno. Questo ha il vantaggio che non si vedrà mai più durante il giorno, il che è NECESSARIO per i sistemi transazionali.

Ma per essere in grado di farlo, NTPD richiede che l'orologio locale faccia un lavoro ragionevolmente buono, il che normalmente significa che l'orologio locale non si allontanerà più di 42 secondi al giorno (più o meno; non sono sicuro del numero esatto). Questo è normalmente un problema nelle macchine virtuali, poiché l'orologio è controllato da software, quindi se l'HOST ha un sovraccarico eccessivo, si potrebbe vedere che l'orologio del CLIENTE funzionerà più lentamente e, in caso contrario, anche l'orologio potrebbe funzionare veloce. Il problema qui per NTPD è che l'orologio locale non è affidabile e non ha una deriva costante nel tempo; potrebbe essere più o meno dipendente dal sovraccarico del sistema HOST.

Quindi in questo caso è meglio installare gli strumenti client come è stato suggerito e sincronizzare l'orologio CLIENT con l'orologio HOST (normalmente indicato come "orologio da parete")

Non esiste una risposta definitiva perché esistono diversi metodi, ognuno con i suoi pro e contro. Quello da scegliere dipende dalle tue attività, dal carico del server, dal sistema operativo, ecc.

Leggi vmware_timekeeping.pdf per una comprensione approfondita del problema.

Le ricette rapide per Linux sono disponibili in un articolo KB

L'installazione delle aggiunte (strumenti) della macchina virtuale non sincronizza l'orologio tra il sistema operativo guest e host?

  

Presumibilmente si aggiorna regolarmente tramite ntp   non è una buona soluzione

Questa è la soluzione che consiglierei, comunque. Perché non è considerato buono nella tua posizione?

Installa NTP se non l'hai già.

ntpdate imposterà l'orologio correttamente, quindi ntpd può mantenere l'orologio accurato.

Il progetto pool NTP fornisce un ampio pool di server NTP tra cui scegliere.

Modifica hai appena notato che hai detto che pensi che NTP non sia una buona soluzione - perché? Se sei preoccupato per l'effetto del cambio dell'orologio, NTP è l'ideale, in quanto ntpd non salta l'orologio in avanti o indietro, invece "slews". l'orologio velocizzandolo leggermente su / giù fino a quando non torna in linea con l'ora corretta.

Ho avuto lo stesso problema e risolto da

  1. installazione di vmware-guestd
  2. inviando al kernel un'opzione clocksource = acpi_pm
  3. eseguendo hwclock -s ogni ora come root.

Questo è un vecchio problema, ma che ci ha colpito di recente. Quello che ho scoperto è che il problema riguardava tutti i nostri VM che utilizzavano strumenti VMware.

Più di recente abbiamo iniziato a usare open-vm-tools e su quelle VM l'opzione non è stata impostata. Dato che open-vm-tools è completamente supportato e raccomandato da Vmware, suggerirei di usarlo su strumenti vmware: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2073803

Se open-vm-tools si trova in un repository che si utilizza, è anche semplice da installare tramite yum install o apt-get install ecc.

Puoi usare il cmd e

net time \\computer_name /set

per impostare l'orologio da remoto (o in uno script per esempio)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top