Comparación de las marcas temporales de sus instancias Linux - Amazon Elastic Compute Cloud

Comparación de las marcas temporales de sus instancias Linux

Si está usando el Servicio de sincronización temporal de Amazon, puede comparar las marcas de tiempo de las instancias Linux de Amazon EC2 con ClockBound para determinar la hora real de un evento. ClockBound mide la precisión del reloj de la instancia de EC2 y le permite comprobar si una marca de tiempo determinada se encuentra en el pasado o en el futuro con respecto al reloj actual de la instancia. Esta información es valiosa para determinar el orden y la coherencia de los eventos y las transacciones en las instancias de EC2, independientemente de la ubicación geográfica de cada instancia.

ClockBound es una biblioteca y daemon de código abierto. Para obtener más información sobre ClockBound, incluidas las instrucciones de instalación, consulte ClockBound en GitHub.

ClockBound solo se admite para las instancias de Linux.

Si utiliza la conexión PTP directa al reloj del hardware de PTP, su daemon de hora, como chrony, subestimará el límite de error del reloj. Esto se debe a que un reloj de hardware de PTP no transmite la información correcta del límite de error a chrony, como lo hace NTP. Como resultado, el daemon de sincronización de relojes asume que el reloj tiene una precisión de UTC y, por lo tanto, tiene un límite de error de 0. Para medir todo el límite de errores, Nitro System calcula el límite de error del reloj de equipo de PTP y lo pone a disposición de la instancia de EC2 a través del sistema de archivos sysfs del controlador de ENA. Puede leerlo directamente como un valor, en nanosegundos.

Para recuperar el enlace de error del reloj de equipo de PTP
  1. Primero, obtenga la ubicación correcta del dispositivo de reloj de equipo PTP mediante uno de los siguientes comandos. La ruta del comando es diferente en función de la AMI utilizada para iniciar la instancia.

    • En Amazon Linux 2:

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

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

    La salida es el nombre de la ranura PCI, que es la ubicación del dispositivo de reloj de equipo de PTP. En este ejemplo, la ubicación es 0000:00:03.0.

    PCI_SLOT_NAME=0000:00:03.0
  2. Para recuperar el enlace de error del reloj de equipo de PTP, ejecute el siguiente comando. Incluya el nombre de la ranura PCI del paso anterior.

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

    El resultado es el límite de error del reloj del hardware de PTP, en nanosegundos.

Para calcular el límite de error del reloj correcto en un momento específico cuando se utiliza la conexión PTP directa al reloj del hardware de PTP, debe agregar el límite de error del reloj desde chrony o ClockBound en el momento en que chrony sondea el reloj del hardware de PTP. Para obtener más información sobre la medición y la supervisión de la precisión del reloj, consulte Administración de la precisión del reloj de instancias de Amazon EC2 con el Servicio de sincronización temporal de Amazon y Amazon CloudWatch – Parte 1.