Muitos sistemas de software que dependem de uma sequenciação cuidadosa de eventos baseiam-se num relógio do sistema estável e consistente, usando registos do sistema com indicações de tempo para garantir a sincronização de tempo e resolver problemas à medida que ocorrem. Para ajudar a manter os relógios do sistema sincronizados, as instâncias de máquinas virtuais (VM) do Compute Engine estão pré-configuradas para usar o protocolo de tempo de rede (NTP), uma solução integrada de hardware e software de sincronização de tempo. Se garantir uma sincronização de tempo precisa e monitorizar a precisão da sincronização de tempo for importante para os seus objetivos, pode configurar tempo preciso em vez de NTP para sincronizar o relógio da VM com o relógio do anfitrião através de chrony e ptp_kvm. Esta configuração foi concebida para alcançar uma precisão de 1 ms para configurações suportadas.
Tipos de máquinas suportados
Os seguintes tipos de máquinas suportam a hora exata:
Sistemas operativos compatíveis
Os seguintes sistemas operativos (SO) suportam a hora exata:
| SO | Versões | Imagens |
|---|---|---|
| CentOS Stream | 9 | centos-stream-9 |
| SO otimizado para contentores | 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 |
Zonas suportadas
As seguintes zonas suportam a hora exata:
| Zona | Localização |
|---|---|
europe-west1-b |
St. Ghislain, Bélgica, Europa |
europe-west1-c |
St. Ghislain, Bélgica, Europa |
europe-west2-b |
Londres, Inglaterra, Europa |
europe-west3-a |
Frankfurt, Alemanha, Europa |
us-central1-a |
Council Bluffs, Iowa, América do Norte |
us-central1-b |
Council Bluffs, Iowa, América do Norte |
us-central1-c |
Council Bluffs, Iowa, América do Norte |
us-central1-f |
Council Bluffs, Iowa, América do Norte |
us-east1-b
|
Moncks Corner, Carolina do Sul, América do Norte |
us-east1-c
|
Moncks Corner, Carolina do Sul, América do Norte |
us-east4-c |
Ashburn, Virgínia, América do Norte |
us-east5-a |
Columbus, Ohio, América do Norte |
us-south1-a |
Dallas, Texas, América do Norte |
us-west1-b |
The Dalles, Oregon, América do Norte |
us-west2-a
|
Los Angeles, Califórnia, América do Norte |
us-west3-a |
Salt Lake City, Utah, América do Norte |
Configure uma sincronização de tempo precisa
Para configurar uma sincronização de tempo precisa para as VMs do seu projeto, conclua as seguintes tarefas para cada VM:
- Configure o
chronypara usar optp-kvmcomo origem de tempo. - Configure o Google Cloud agente de operações para a recolha e a análise de dados.
Depois de concluir ambas as tarefas, a sincronização de tempo precisa é configurada para as VMs no seu projeto.
Para ver um script de exemplo que cria uma VM e conclui ambas as tarefas para configurar uma sincronização de tempo precisa, consulte o script de criação de VMs no GitHub.
Configure o chrony para usar o ptp-kvm
Para configurar o chrony para usar o ptp-kvm como origem de tempo, execute o seguinte script nas VMs de cada um dos seus projetos: Google Cloud
Configure o Google Cloud agente de operações na sua VM
Para configurar o Google Cloud agente de operações para a recolha e análise de dados, execute o seguinte script nas VMs de cada um dos seus Google Cloud projetos:
Configure a monitorização da sincronização de tempo
Para configurar a monitorização da sincronização de tempo para as VMs do seu projeto Google Cloud, execute o script de configuração de registo e painel de controlo para o seu projetoGoogle Cloud . Este script ajuda a concluir as seguintes tarefas para o seu projeto Google Cloud :
- Define as autorizações adequadas na conta de serviço associada ao projeto da sua VM Google Cloud .
- Cria uma métrica baseada em registos que o
chronyusa para garantir a precisão entre os relógios na VM e no respetivo servidor anfitrião. - Cria um painel de controlo que mede a rastreabilidade do relógio da VM para UTC combinando as seguintes métricas:
- A precisão do relógio do anfitrião da VM em relação à UTC, que está disponível como uma
Google Cloud métrica,
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy. - As métricas
chronyque medem a precisão do relógio da VM em relação ao relógio do respetivo anfitrião.
- A precisão do relógio do anfitrião da VM em relação à UTC, que está disponível como uma
Google Cloud métrica,
Para realizar as tarefas anteriores, execute o seguinte script:
Depois de o script terminar a execução, use o painel de controlo que criou para ver os dados de precisão do relógio das VMs do seu projeto.
O que se segue?
- Para ver um código de exemplo completo para configurar a hora exata, incluindo exemplos do Google Kubernetes Engine, visite o repositório de exemplos.
- Reveja as opções disponíveis para configurar a sincronização de tempo da sua VM.