Comparação dos carimbos de data/hora das instâncias do Linux - Amazon Elastic Compute Cloud

Comparação dos carimbos de data/hora das instâncias do Linux

Se estiver usando o Serviço de Sincronização Temporal da Amazon, você poderá comparar os carimbos de data/hora nas instâncias do Linux do Amazon EC2 com o ClockBound para determinar o horário real de um evento. O ClockBound mede a precisão do relógio da instância do EC2 e permite que você confira se um determinado carimbo de data/hora está no passado ou no futuro em relação ao relógio atual da instância. Essas informações são valiosas para determinar a ordem e a consistência de eventos e transações entre instâncias do EC2, independentemente da localização geográfica de cada instância.

O ClockBound é um daemon e uma biblioteca de código aberto. Para saber mais sobre o ClockBound, incluindo instruções de instalação, consulte Clockbound no GitHub.

O ClockBound é compatível somente com instâncias do Linux.

Se você estiver usando a conexão PTP direta com o relógio PTP físico, seu daemon de hora, como o chrony, subestimará o limite de erro do relógio. Isso ocorre porque um relógio PTP físico não passa as informações corretas de limite de erro para o chrony, como o NTP faz. Como resultado, o daemon de sincronização de relógio pressupõe que o relógio esteja certo em UTC e que, portanto, tenha um limite de erro de 0. Para medir o limite total de erro, o Sistema Nitro calcula o limite de erro do relógio PTP físico e o disponibiliza para a instância do EC2 via sistema de arquivos sysfs do driver ENA. Isso pode ser lido diretamente como um valor em nanossegundos.

Para recuperar o limite de erro do relógio de hardware PTP
  1. Primeiro, obtenha a localização correta do dispositivo de relógio de hardware PTP usando um dos comandos a seguir. O caminho no comando pode ser diferente dependendo da AMI usada para iniciar a instância.

    • Para Amazon Linux 2:

      cat /sys/class/net/eth0/device/uevent | grep PCI_SLOT_NAME
    • Para Amazon Linux 2023:

      cat /sys/class/net/ens5/device/uevent | grep PCI_SLOT_NAME

    A saída é o nome do slot PCI, que é a localização do dispositivo de relógio de hardware PTP físico. Neste exemplo, o local é 0000:00:03.0.

    PCI_SLOT_NAME=0000:00:03.0
  2. Para recuperar erro do relógio de hardware PTP vinculado execute o comando a seguir. Inclua o nome do slot PCI da etapa anterior.

    cat /sys/bus/pci/devices/0000:00:03.0/phc_error_bound

    A saída é o limite de erro do relógio PTP físico, em nanossegundos.

Para calcular o limite de erro de relógio certo em um dado momento específico ao usar a conexão PTP direta com o relógio PTP físico, você deve adicionar o limite de erro do relógio do chrony ou do ClockBound no momento em que o chrony consultar o relógio PTP físico. Para obter mais informações sobre como medir e monitorar a precisão do relógio, consulte Manage Amazon EC2 instance clock accuracy using Amazon Time Sync Service and Amazon CloudWatch – Part 1.