Molti sistemi software che dipendono da una sequenza accurata di eventi si basano su un orologio di sistema stabile e coerente, utilizzando i log di sistema con timestamp per garantire la sincronizzazione dell'ora e il debug dei problemi man mano che si verificano. Per mantenere sincronizzati gli orologi di sistema, le istanze di macchine virtuali (VM) Compute Engine sono preconfigurate per utilizzare il Network Time Protocol (NTP), una soluzione in bundle di hardware e software di sincronizzazione dell'ora. Se garantire una sincronizzazione dell'ora accurata e monitorare
l'accuratezza della sincronizzazione dell'ora sono importanti per i tuoi obiettivi, puoi
configurare l'ora esatta anziché NTP per sincronizzare l'orologio della VM con l'orologio
dell'host utilizzando chrony e ptp_kvm. Questa configurazione è progettata per ottenere
una precisione di 1 ms per le configurazioni supportate.
Tipi di macchine supportati
I seguenti tipi di macchine supportano l'ora esatta:
Sistemi operativi supportati
I seguenti sistemi operativi supportano l'ora esatta:
| Sistema operativo | Versioni | Immagini |
|---|---|---|
| CentOS Stream | 9 | centos-stream-9 |
| Container-Optimized OS | COS 105 LTS, COS 109 LTS, COS 113 LTS, COS 117 LTS | cos-105-lts, cos-109-lts, cos-113-lts, cos-117-lts |
| Debian | 11 (Bullseye), 12 (Bookworm) | debian-11, debian-12 |
| Fedora Cloud | 39 | fedora-cloud-39 |
| RHEL | 8, 9 | rhel-8-4-sap-ha, rhel-8-6-sap-ha, rhel-8-8-sap-ha, rhel-8-10-sap-ha, rhel-9, rhel-9-0-sap-ha, rhel-9-2-sap-ha, rhel-9-4-sap-ha |
| Rocky Linux | 8, 9 | rocky-linux-8, rocky-linux-8-optimized-gcp, rocky-linux-9-optimized-gcp, rocky-linux-9-optimized-gcp |
| SLES | 15 | sles-15, sles-15-sp2-byos, sles-15-sp2-sap, sles-15-sp3-byos, sles-15-sp3-sap, sles-15-sp4-byos, sles-15-sp4-sap, sles-15-sp5-byos, sles-15-sp5-sap |
| Ubuntu | 22.04 LTS (Jammy Jellyfish), 24.04 LTS (Noble Numbat) | ubuntu-2204-lts, ubuntu-2404-lts-amd64 |
| Ubuntu Pro | 2004 | ubuntu-pro-2004-lts, ubuntu-pro-2004-lts-amd64 |
Zone supportate
Le seguenti zone supportano l'ora esatta:
| Zona | Località |
|---|---|
europe-west1-b |
Saint-Ghislain, Belgio, Europa |
europe-west1-c |
Saint-Ghislain, Belgio, Europa |
europe-west2-b |
Londra, Inghilterra, Europa |
europe-west3-a |
Francoforte, Germania, Europa |
us-central1-a |
Council Bluffs, Iowa, Nord America |
us-central1-b |
Council Bluffs, Iowa, Nord America |
us-central1-c |
Council Bluffs, Iowa, Nord America |
us-central1-f |
Council Bluffs, Iowa, Nord America |
us-east1-b
|
Moncks Corner, Carolina del Sud, Nord America |
us-east1-c
|
Moncks Corner, Carolina del Sud, Nord America |
us-east4-c |
Ashburn, Virginia, Nord America |
us-east5-a |
Columbus, Ohio, Nord America |
us-south1-a |
Dallas, Texas, Nord America |
us-west1-b |
The Dalles, Oregon, Nord America |
us-west2-a
|
Los Angeles, California, Nord America |
us-west3-a |
Salt Lake City, Utah, Nord America |
Configurare la sincronizzazione accurata dell'ora
Per configurare la sincronizzazione accurata dell'ora per le VM del progetto, completa le seguenti attività per ogni VM:
- Configura
chronyper utilizzareptp-kvmcome origine dell'ora. - Configura Google Cloud Ops Agent per la raccolta e l'analisi dei dati.
Una volta completate entrambe le attività, la sincronizzazione accurata dell'ora viene configurata per le VM nel tuo progetto.
Per uno script di esempio che crea una VM e completa entrambe le attività per configurare una sincronizzazione accurata dell'ora, consulta lo script di creazione della VM su GitHub.
Configura chrony per utilizzare ptp-kvm
Per configurare chrony in modo che utilizzi ptp-kvm come origine temporale, esegui il seguente script all'interno di ciascuna VM del progetto Google Cloud :
Configura Google Cloud Ops Agent sulla tua VM
Per configurare Google Cloud Ops Agent per la raccolta e l'analisi dei dati, esegui il seguente script all'interno di ciascuna VM del tuo Google Cloud progetto:
Configurare il monitoraggio della sincronizzazione dell'ora
Per configurare il monitoraggio della sincronizzazione dell'ora per le VM del tuo progetto Google Cloud, esegui lo script di configurazione di logging e dashboard per il tuo progettoGoogle Cloud . Questo script ti aiuta a completare le seguenti attività per il tuo progetto Google Cloud :
- Imposta le autorizzazioni appropriate per il account di servizio associato al progetto Google Cloud della VM.
- Crea una metrica basata sui log che
chronyutilizza per garantire l'accuratezza tra gli orologi della VM e del relativo server host. - Crea una dashboard che misura la tracciabilità dell'orologio della VM rispetto al fuso orario UTC combinando le seguenti metriche:
- L'accuratezza dell'orologio dell'host VM rispetto all'UTC, disponibile come
metricaGoogle Cloud ,
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy. - Le metriche
chronyche misurano l'accuratezza dell'orologio della VM rispetto all'orologio dell'host.
- L'accuratezza dell'orologio dell'host VM rispetto all'UTC, disponibile come
metricaGoogle Cloud ,
Per completare le attività precedenti, esegui lo script seguente:
Al termine dell'esecuzione dello script, utilizza la dashboard creata per visualizzare i dati di precisione dell'orologio per le VM del tuo progetto.
Passaggi successivi
- Per un codice campione completo per la configurazione dell'ora esatta, inclusi esempi di Google Kubernetes Engine, visita il repository di esempio.
- Esamina le opzioni disponibili per configurare la sincronizzazione dell'ora della VM.