De nombreux systèmes logiciels qui dépendent d'un séquençage minutieux des événements reposent sur une horloge système stable et cohérente, en utilisant des journaux système avec des codes temporels pour assurer la synchronisation temporelle et résoudre les problèmes au fur et à mesure qu'ils se produisent. Pour que les horloges système restent synchronisées, les instances de machines virtuelles (VM) Compute Engine sont préconfigurées pour utiliser le protocole NTP (Network Time Protocol), une solution groupée de matériel et de logiciel de synchronisation horaire. Si la synchronisation précise de l'heure et la surveillance de la précision de la synchronisation de l'heure sont importantes pour vos objectifs, vous pouvez configurer l'heure précise au lieu de NTP pour synchroniser l'horloge de votre VM avec l'horloge hôte à l'aide de chrony et ptp_kvm. Cette configuration est conçue pour atteindre une précision de 1 ms pour les configurations compatibles.
Types de machines compatibles
Les types de machines suivants sont compatibles avec l'heure exacte :
Systèmes d'exploitation compatibles
Les systèmes d'exploitation suivants sont compatibles avec l'heure exacte :
| OS | Versions | Images |
|---|---|---|
| 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 |
Zones compatibles
Les zones suivantes sont compatibles avec l'heure exacte :
| Zone | Emplacement |
|---|---|
europe-west1-b |
Saint-Ghislain, Belgique, Europe |
europe-west1-c |
Saint-Ghislain, Belgique, Europe |
europe-west2-b |
Londres, Angleterre, Europe |
europe-west3-a |
Francfort, Allemagne, Europe |
us-central1-a |
Council Bluffs, Iowa, Amérique du Nord |
us-central1-b |
Council Bluffs, Iowa, Amérique du Nord |
us-central1-c |
Council Bluffs, Iowa, Amérique du Nord |
us-central1-f |
Council Bluffs, Iowa, Amérique du Nord |
us-east1-b
|
Moncks Corner, Caroline du Sud, Amérique du Nord |
us-east1-c
|
Moncks Corner, Caroline du Sud, Amérique du Nord |
us-east4-c |
Ashburn, Virginie, Amérique du Nord |
us-east5-a |
Columbus, Ohio, Amérique du Nord |
us-south1-a |
Dallas, Texas, Amérique du Nord |
us-west1-b |
The Dalles, Oregon, Amérique du Nord |
us-west2-a
|
Los Angeles, Californie, Amérique du Nord |
us-west3-a |
Salt Lake City, Utah, Amérique du Nord |
Configurer une synchronisation horaire précise
Pour configurer une synchronisation temporelle précise pour les VM de votre projet, effectuez les tâches suivantes pour chaque VM :
- Configurez
chronypour qu'elle utiliseptp-kvmcomme source de temps. - Configurez l'agent Ops Google Cloud pour la collecte et l'analyse des données.
Une fois ces deux tâches effectuées, la synchronisation précise de l'heure est configurée pour les VM de votre projet.
Pour obtenir un exemple de script qui crée une VM et effectue les deux tâches de configuration d'une synchronisation temporelle précise, consultez le script de création de VM sur GitHub.
Configurer chrony pour utiliser ptp-kvm
Pour configurer chrony afin qu'il utilise ptp-kvm comme source de temps, exécutez le script suivant dans chacune des VM de votre projet Google Cloud :
Configurer l'agent Ops sur votre VM Google Cloud
Pour configurer l'agent Ops Google Cloud pour la collecte et l'analyse des données, exécutez le script suivant dans chacune des VM de votre projet Google Cloud :
Configurer la surveillance de la synchronisation horaire
Pour configurer la surveillance de la synchronisation de l'heure pour les VM de votre projet Google Cloud, exécutez le script de configuration de la journalisation et du tableau de bord pour votre projetGoogle Cloud . Ce script vous aide à effectuer les tâches suivantes pour votre projet Google Cloud :
- Il définit les autorisations appropriées sur le compte de service associé au projet Google Cloud de votre VM.
- Il crée une métrique basée sur les journaux que
chronyutilise pour assurer la précision entre les horloges de la VM et de son serveur hôte. - Il crée un tableau de bord qui mesure la traçabilité de l'horloge de la VM par rapport à l'UTC en combinant les métriques suivantes :
- Précision de l'horloge de la VM hôte par rapport à l'UTC, disponible en tant que métriqueGoogle Cloud ,
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy. - Métriques
chronymesurant la précision de l'horloge de la VM par rapport à celle de son hôte.
- Précision de l'horloge de la VM hôte par rapport à l'UTC, disponible en tant que métriqueGoogle Cloud ,
Pour effectuer les tâches précédentes, exécutez le script suivant :
Une fois le script exécuté, utilisez le tableau de bord qu'il a créé pour afficher les données sur la précision de l'horloge pour les VM de votre projet.
Étapes suivantes
- Pour obtenir un exemple de code complet permettant de configurer une heure précise, y compris des exemples Google Kubernetes Engine, consultez le dépôt d'exemples.
- Passez en revue les options disponibles pour configurer la synchronisation de l'heure de votre VM.