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
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
-
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
-
-
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_boundA 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