比較 Linux 執行個體的時間戳記 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

比較 Linux 執行個體的時間戳記

如果您使用的是 Amazon Time Sync Service,您可以將 Amazon EC2 Linux 執行個體上的時間戳記與 進行比較 ClockBound ,以判斷事件的真實時間。 會 ClockBound 測量EC2執行個體的時鐘準確性,並可讓您檢查指定時間戳記是否在過去或未來與執行個體目前的時鐘相關。此資訊對於確定跨EC2執行個體的事件和交易的順序和一致性很有用,無論每個執行個體的地理位置為何。

ClockBound 是開放原始碼常駐程式和程式庫。若要進一步了解 ClockBound,包括安裝指示,請參閱 ClockBound上的 GitHub

ClockBound 僅支援 Linux 執行個體。

如果您使用直接PTP連線至PTP硬體時鐘,您的時間常駐程式,例如 chrony, 會低估繫結的時鐘錯誤。這是因為PTP硬體時鐘未將正確的錯誤繫結資訊傳遞給 chrony,方法就是NTP如此。因此,您的時鐘同步常駐程式假設 的時鐘準確,UTC因此具有 的錯誤界限0。若要測量完全錯誤界限,Nitro 系統會計算PTP硬體時鐘的錯誤界限,並透過ENA驅動程式sysfs檔案系統提供給EC2執行個體。您可以直接將此值讀取為 值,以奈秒為單位。

擷取PTP硬體時鐘錯誤繫結
  1. 首先使用下列其中一個命令,取得PTP硬體時鐘裝置的正確位置。命令中的路徑因AMI用來啟動執行個體的 而異。

    • 針對 Amazon Linux 2:

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

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

    輸出是PCI插槽名稱,即PTP硬體時鐘裝置的位置。在此範例中,位置為 0000:00:03.0

    PCI_SLOT_NAME=0000:00:03.0
  2. 若要擷取PTP硬體時鐘錯誤繫結,請執行下列命令。包含上一個步驟的PCI插槽名稱。

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

    輸出是PTP硬體時鐘的時鐘錯誤界限,以奈秒為單位。

若要在使用與PTP硬體時鐘的直接PTP連線時,計算在特定時間點繫結的正確時鐘錯誤,您必須新增繫結自 的時鐘錯誤 chrony 或 ClockBound 當時 chrony 會輪詢PTP硬體時鐘。如需測量和監控時鐘準確性的詳細資訊,請參閱使用 Amazon Time Sync Service 和 Amazon CloudWatch – 第 1 部分管理 Amazon EC2執行個體時鐘準確性