Muitos sistemas de software que dependem de um sequenciamento cuidadoso de eventos se baseiam em um relógio de sistema estável e consistente, usando logs do sistema com carimbos de data/hora para garantir a sincronização de tempo e depurar problemas à medida que ocorrem. Para ajudar a manter os relógios do sistema sincronizados, as instâncias de máquina virtual (VMs) do Compute Engine são pré-configuradas para usar o protocolo de tempo de rede (NTP), uma solução agrupada de hardware e software de sincronização de tempo. Se for importante para suas metas garantir a sincronização e o monitoramento precisos do tempo, configure o tempo preciso em vez do NTP para sincronizar o relógio da VM com o relógio do host usando chrony e ptp_kvm. Essa configuração foi projetada para alcançar uma precisão de 1 ms em configurações compatíveis.
Tipos de máquina compatíveis
Os seguintes tipos de máquina são compatíveis com a hora exata:
Sistemas operacionais compatíveis
Os seguintes sistemas operacionais (SO) são compatíveis com a hora exata:
| SO | Versões | Imagens |
|---|---|---|
| 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 e 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 e 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 disponíveis
A sincronização de horário precisa é compatível com todas as regiões e zonas públicas padrão do Google Cloudpara tipos de máquinas e sistemas operacionais compatíveis.
Configurar a sincronização de horário precisa
Para configurar uma sincronização de tempo precisa para as VMs do seu projeto, conclua as tarefas a seguir para cada VM:
- Configure
chronypara usarptp-kvmcomo fonte de tempo. - Configure o Google Cloud Agente de operações para coleta e análise de dados.
Depois de concluir as duas tarefas, a sincronização de tempo precisa será configurada para as VMs no seu projeto.
Para conferir um script de exemplo que cria uma VM e conclui as duas tarefas para configurar uma sincronização de tempo precisa, consulte o script de criação de VM no GitHub.
Configurar chrony para usar ptp-kvm
Para configurar o chrony para usar o ptp-kvm como fonte de tempo, execute o seguinte
script em cada uma das VMs do projeto Google Cloud :
Configure o Google Cloud Agente de operações na sua VM
Para configurar o Google Cloud Agente de operações para coleta e análise de dados, execute o seguinte script em cada uma das VMs do seu Google Cloud projeto:
Configurar o monitoramento da sincronização de horário
Para configurar o monitoramento da sincronização de tempo das VMs do projeto Google Cloud, execute o script de configuração de geração de registros e painel do projeto Google Cloud . Esse script ajuda você a concluir as seguintes tarefas para seu projeto Google Cloud :
- Ele define as permissões adequadas na conta de serviço associada ao projeto Google Cloud da VM.
- Ele cria uma métrica com base em registros que o
chronyusa para garantir a precisão entre os relógios na VM e no servidor host. - Ele cria um painel que mede a rastreabilidade do relógio da VM para UTC combinando as seguintes métricas:
- A precisão do relógio do host da VM em relação ao UTC, que está disponível como uma métricaGoogle Cloud ,
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 host.
- A precisão do relógio do host da VM em relação ao UTC, que está disponível como uma métricaGoogle Cloud ,
Para realizar as tarefas anteriores, execute o seguinte script:
Depois que o script terminar de ser executado, use o painel criado para conferir os dados de precisão do relógio das VMs do seu projeto.
A seguir
- Para conferir um exemplo completo de código para configurar a hora exata, incluindo exemplos do Google Kubernetes Engine, acesse o repositório de exemplos.
- Para informações sobre como configurar a sincronização de horário para nós do Google Kubernetes Engine, consulte a documentação sobre Como personalizar a configuração do sistema de nós.
- Revise as opções disponíveis para configurar a sincronização de horário da VM.