View a markdown version of this page

Die Zeitreferenz auf Ihrer EC2 Instance so einstellen, dass der lokale Amazon Time Sync Service verwendet wird - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Zeitreferenz auf Ihrer EC2 Instance so einstellen, dass der lokale Amazon Time Sync Service verwendet wird

Der Amazon Time Sync Service bietet mehrere Methoden, mit denen Ihre Amazon EC2-Instance mit einer lokalen Zeitquelle synchronisiert werden kann. Erstens kann jede Amazon EC2-Instance eine lokale Zeitquelle über das Network Time Protocol (NTP) erreichen. Darüber hinaus bietet der erweiterte Amazon Time Sync Service Quellen mit höherer Genauigkeit für unterstützte Amazon EC2-Instances. Starten Sie Ihre unterstützte Instance in einer Platzierungsgruppe mit der precision-time Strategie, eine NTP-Quelle mit höherer Genauigkeit zu erreichen. Schließlich haben Linux-Instances, die in einer Precision Time Placement-Gruppe gestartet werden, Zugriff auf ein PTP Hardware Clock (PHC) -Gerät und die Möglichkeit, Zeitstempel von Hardware-Paketen abzurufen.

Jede Amazon EC2-Instance hat Zugriff auf die lokale NTP-Quelle. Sie können die NTP-Quelle über eine link-lokale IP-Adresse erreichen, wodurch dieser Datenverkehr auf Ihre VPC beschränkt wird, ohne dass spezielle VPC-Konfigurationsänderungen erforderlich sind. Ihr AMI hat Ihren Uhrsynchronisierungs-Daemon möglicherweise bereits so konfiguriert, dass er standardmäßig die lokale NTP-Quelle verwendet. Diese NTP-Quelle ist über die folgenden IP-Adressen verfügbar:

Unterstützte Amazon EC2-Instances haben Zugriff auf den erweiterten Amazon Time Sync Service. Um auf den erweiterten Amazon Time Sync Service zuzugreifen, starten Sie eine unterstützte Instance in einer Platzierungsgruppe mit der precision-time Strategie. Sie müssen Ihre Instance nicht konfigurieren, um von dieser Verbesserung zu profitieren, wenn Sie die NTP-Link-Local-IP-Adressen verwenden. Jedes Betriebssystem kann diese Erweiterung verwenden. Sie können überprüfen, ob Sie von der erweiterten NTP-Quelle profitieren, indem Sie den NTP-Client Ihrer Wahl verwenden.

Linux-based AMIs, die auf unterstützten Instance-Familien ausgeführt werden, haben die zusätzliche Option, Zeit von einem PHC-Gerät abzurufen. Der ENA-Treiber stellt dieses Gerät zur Verfügung. Sowohl die erweiterte NTP-Quelle als auch das PHC-Gerät verwenden dieselbe hochgenaue Zeitquelle. Der Zugriff auf die PHC-Zeitquelle ist optimiert, was zu einer genaueren Synchronisierung Ihrer Amazon EC2-Instance führt.

Überlegungen

Greifen Sie auf den IPv4-Endpunkt des Amazon Time Sync Service zu

Ihr AMI hat den Amazon Time Sync Service möglicherweise bereits standardmäßig konfiguriert. Andernfalls verwenden Sie die folgenden Verfahren, um Ihre Instance für die Verwendung des lokalen Amazon Time Sync Service über den IPv4-Endpunkt zu konfigurieren.

Hilfe zur Behebung von Problemen finden Sie unter Fehlerbehebung bei NTP-Synchronisierungsproblemen auf Linux-Instances oder Fehlerbehebung bei Zeitproblemen auf Windows-Instances.

Amazon Linux

AL2023 und die neuesten Versionen von Amazon Linux 2 sind so konfiguriert, dass sie standardmäßig den IPv4-Endpunkt des Amazon Time Sync Service verwenden. Wenn Sie bestätigen, dass Ihre Instance bereits konfiguriert ist, können Sie das folgende Verfahren überspringen.

So überprüfen Sie, ob chrony für die Verwendung des IPv4-Endpunkts konfiguriert ist

Führen Sie den folgenden Befehl aus. In der Ausgabe, zeigt die Zeile, die mit ^* beginnt, die bevorzugte Zeitquelle.

[ec2-user ~]$ chronyc sources -v | grep -F ^*
^* 169.254.169.123 3 4 377 13 -4325ns[-9201ns] +/- 401us
So konfigurieren Sie chrony für die Verbindung mit dem IPv4-Endpunkt auf älteren Versionen von Amazon Linux 2
  1. Stellen Sie eine Verbindung mit Ihrer Instance her und deinstallieren Sie den NTP-Service.

    [ec2-user ~]$ sudo yum erase 'ntp*'
  2. Installieren Sie das Paket chrony.

    [ec2-user ~]$ sudo yum install chrony
  3. Öffnen Sie die Datei /etc/chrony.conf mit einem Texteditor Ihrer Wahl, z. B. vim oder nano. Fügen Sie die folgende Zeile vor beliebigen anderen server- oder pool-Anweisungen ein, die bereits in der Datei vorhanden sind, und speichern Sie Ihre Änderungen:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  4. Starten Sie den chrony-Daemon (chronyd) neu.

    [ec2-user ~]$ sudo service chronyd restart
    Starting chronyd: [ OK ]
    Anmerkung

    Auf RHEL und CentOS (bis zu Version 6) lautet der Servicename chrony anstatt chronyd.

  5. Mithilfe des Befehls chkconfig können Sie konfigurieren, dass chronyd bei jedem Systemstart gestartet werden soll.

    [ec2-user ~]$ sudo chkconfig chronyd on
  6. Vergewissern Sie sich, dass chrony den IPv4-Endpunkt 169.254.169.123 für die Zeitsynchronisierung verwendet.

    [ec2-user ~]$ chronyc sources -v | grep -F ^*

    In der Ausgabe gibt ^* die bevorzugte Zeitquelle an.

    ^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us
  7. Überprüfen Sie die von chrony gemeldeten Zeitsynchronisierungsmetriken.

    [ec2-user ~]$ chronyc tracking
    Reference ID : A9FEA97B (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed May 06 00:39:14 2026 System time : 0.000002191 seconds fast of NTP time Last offset : +0.000002164 seconds RMS offset : 0.000082968 seconds Frequency : 3.710 ppm slow Residual freq : +0.002 ppm Skew : 0.504 ppm Root delay : 0.000362541 seconds Root dispersion : 0.000225028 seconds Update interval : 16.1 seconds Leap status : Normal
Ubuntu
So konfigurieren Sie chrony für die Verbindung mit dem IPv4-Endpunkt unter Ubuntu
  1. Stellen Sie eine Verbindung mit Ihrer Instance her und installieren Sie mit apt das chrony-Paket.

    ubuntu:~$ sudo apt install chrony
    Anmerkung

    Sofern erforderlich, aktualisieren Sie Ihre Instance, indem Sie zuerst sudo apt update ausführen.

  2. Öffnen Sie die Datei /etc/chrony/chrony.conf mit einem Texteditor Ihrer Wahl, z. B. vim oder nano. Fügen Sie die folgende Zeile vor beliebigen anderen server- oder pool-Anweisungen ein, die bereits in der Datei vorhanden sind. Speichern Sie dann Ihre Änderungen:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  3. Den Service chrony neu starten.

    ubuntu:~$ sudo /etc/init.d/chrony restart
    Restarting chrony (via systemctl): chrony.service.
  4. Vergewissern Sie sich, dass chrony den IPv4-Endpunkt 169.254.169.123 für die Zeitsynchronisierung verwendet.

    ubuntu:~$ chronyc sources -v | grep -F ^*

    In der Ausgabe, zeigt die Zeile, die mit ^* beginnt, die bevorzugte Zeitquelle.

    ^* 169.254.169.123 3 6 17 12 +15us[ +57us] +/- 320us
  5. Überprüfen Sie die von chrony gemeldeten Zeitsynchronisierungsmetriken.

    ubuntu:~$ chronyc tracking
    Reference ID : A9FEA97B (169.254.169.123) Stratum : 4 Ref time (UTC) : Wed May 06 00:39:14 2026 System time : 0.000002191 seconds fast of NTP time Last offset : +0.000002164 seconds RMS offset : 0.000082968 seconds Frequency : 3.710 ppm slow Residual freq : +0.002 ppm Skew : 0.504 ppm Root delay : 0.000362541 seconds Root dispersion : 0.000225028 seconds Update interval : 16.1 seconds Leap status : Normal
SUSE Linux

Ab SUSE Linux Enterprise Server 15 ist chrony die Standardimplementierung von NTP.

So konfigurieren Sie chrony für die Verbindung mit dem IPv4-Endpunkt unter SUSE Linux
  1. Öffnen Sie die Datei /etc/chrony.conf mit einem Texteditor Ihrer Wahl, z. B. vim oder nano.

  2. Überprüfen Sie, ob die Datei die folgende Zeile enthält:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

    Wenn diese Zeile nicht vorhanden ist, fügen Sie sie hinzu.

  3. Kommentieren Sie alle anderen Server- oder Pool-Zeilen aus.

  4. Öffnen Sie YaST und aktivieren Sie den chrony-Service.

Windows

Aber der Version von August 2018 nutzen Windows-AMIs den Amazon Time Sync Service standardmäßig. Für Instances, die von diesen AMIs aus gestartet werden, ist keine weitere Konfiguration erforderlich und Sie können die folgenden Verfahren überspringen.

Überprüfen Sie zunächst Ihre aktuelle NTP-Konfiguration, wenn Sie eine AMI verwenden, für die der Amazon Time Sync Service nicht standardmäßig konfiguriert ist. Wenn Ihre Instance bereits den IPv4-Endpunkt des Amazon Time Sync Service verwendet, ist keine weitere Konfiguration erforderlich. Wenn Ihre Instance den Amazon Time Sync Service nicht verwendet, schließen Sie das Verfahren ab, um den NTP-Server so zu ändern, dass er den Amazon Time Sync Service verwendet.

So überprüfen Sie die NTP-Konfiguration
  1. Öffnen Sie in Ihrer Instance ein Eingabeaufforderungsfenster.

  2. Mit folgendem Befehl zeigen Sie die derzeitige NTP-Konfiguration an:

    w32tm /query /configuration

    Dieser Befehl gibt die aktuellen Konfigurationseinstellungen für die Windows-Instance zurück und zeigt, ob eine Verbindung mit dem Amazon Time Sync Service besteht.

  3. Mit folgendem Befehl wird der Status der derzeitigen Konfiguration angezeigt (optional):

    w32tm /query /status

    Dieser Befehl gibt Informationen wie den Zeitpunkt der letzten Synchronisierung der Instance mit dem NTP-Server und das Abrufintervall zurück.

So stellen Sie den NTP-Server auf die Verwendung des Amazon Time Sync Service ein
  1. Führen Sie über das Eingabeaufforderungsfenster den folgenden Befehl aus:

    w32tm /config /manualpeerlist:169.254.169.123 /syncfromflags:manual /update
  2. Mit folgendem Befehl überprüfen Sie Ihre neuen Einstellungen:

    w32tm /query /configuration

    Vergewissern Sie sich in der zurückgegebenen Ausgabe, dass für NtpServer der IPv4-Endpunkt 169.254.169.123 angezeigt wird.

Standardmäßige NTP-Einstellungen für Amazon-Windows-AMIs

Amazon Machine Images (AMIs) entsprechen in der Regel den werksseitigen Standards, es sei denn, Änderungen an der Funktion der EC2-Infrastruktur sind erforderlich. Die folgenden Einstellungen funktionieren in einer virtualisierten Umgebung erwiesenermaßen gut. Zudem weicht die Uhrzeit nie um mehr als eine Sekunde ab:

  • Aktualisierungsintervall — Legt fest, wie oft der Zeitdienst die Systemzeit an die Genauigkeit anpasst. AWS konfiguriert das Aktualisierungsintervall so, dass es alle zwei Minuten erfolgt.

  • NTP-Server: Ab dem Release vom August 2018 verwenden AMIs standardmäßig den Amazon Time Sync Service. Auf diesen Zeitdienst kann von jedem IPv4-Endpunkt AWS-Region am 169.254.169.123 zugegriffen werden. Zudem gibt das Flag 0x9 an, dass der Zeitdienst als Client fungiert und dass SpecialPollInterval verwendet werden soll, um zu ermitteln, wie häufig der Abgleich mit dem konfigurierten Zeitserver erfolgen soll.

  • Typ – „NTP“ bedeutet, dass der Service als eigenständiger NTP-Client und nicht als Teil einer Domain fungiert.

  • Aktiviert und InputProvider — Der Zeitdienst ist aktiviert und stellt dem Betriebssystem Zeit zur Verfügung.

  • Spezielles Abrufintervall – Fragt den konfigurierten NTP-Server alle 900 Sekunden (15 Minuten) ab.

    Anmerkung

    Für Windows Server 2025-AMIs beträgt der SpecialPollInterval Wert 1024 Sekunden statt 900 Sekunden.

Registry-Pfad Tastenname Daten

HKL M:\System\ servicesCurrentControlSet\ w32time\ Config

UpdateInterval

120

HKL M:\System\ services\ CurrentControlSet w32time\ Parameter

NtpServer

169.254.169.123,0x9

HKL M:\System\ services\ CurrentControlSet w32time\ Parameter

Typ

NTP

HKL M:\System\ services\ CurrentControlSet w32time\ TimeProviders NtpClient

Aktiviert

1

HKL M:\System\ services\ CurrentControlSet w32time\ TimeProviders NtpClient

InputProvider

1

HKL M:\System\ services\ CurrentControlSet w32time\ TimeProviders NtpClient

SpecialPollInterval

900 (Windows Server 2016, 2019 und 2022) oder 1024 (Windows Server 2025)

Greifen Sie auf den IPv6-Endpunkt des Amazon Time Sync Service zu

In diesem Abschnitt erfahren Sie, inwiefern sich die unter Greifen Sie auf den IPv4-Endpunkt des Amazon Time Sync Service zu beschriebenen Schritte unterscheiden, wenn Sie Ihre Instance für die Verwendung des lokalen Amazon Time Sync Service über den IPv6-Endpunkt konfigurieren. Es wird nicht der gesamte Konfigurationsprozess des Amazon Time Sync Service erklärt.

Auf den IPv6-Endpunkt kann nur auf Nitro-based Instances zugegriffen werden.

Es wird nicht empfohlen, die IPv4- und IPv6-Endpunkteinträge zusammen zu verwenden. Die IPv4- und IPv6-NTP-Pakete stammen von demselben lokalen Server für Ihre Instance. Das gleichzeitige Konfigurieren von IPv4- und IPv6-Endpunkten ist unnötig und führt nicht zu einer höheren Zeitgenauigkeit in Ihrer Instance.

Linux

Je nach der Linux-Distribution verwenden Sie, wenn Sie den Schritt zum Bearbeiten der chrony.conf-Datei erreichen, den IPv6-Endpunkt des Amazon Time Sync Service (fd00:ec2::123) anstelle des IPv4-Endpunkts (169.254.169.123):

server fd00:ec2::123 prefer iburst minpoll 4 maxpoll 4

Speichern Sie die Datei und vergewissern Sie sich, dass chrony den IPv6-Endpunkt fd00:ec2::123 für die Zeitsynchronisierung verwendet:

[ec2-user ~]$ chronyc sources -v

Wenn die Ausgabe den IPv6-Endpunkt fd00:ec2::123 enthält, ist die Konfiguration abgeschlossen.

Windows

Wenn Sie den Schritt erreichen, den NTP-Server für die Verwendung des Amazon Time Sync Service zu ändern, verwenden Sie den IPv6-Endpunkt des Amazon Time Sync Service (fd00:ec2::123) anstelle des IPv4-Endpunkts (169.254.169.123):

w32tm /config /manualpeerlist:fd00:ec2::123 /syncfromflags:manual /update

Stellen Sie sicher, dass Ihre neuen Einstellungen den fd00:ec2::123-IPv6-Endpunkt zur Zeitsynchronisierung verwenden:

w32tm /query /configuration

Vergewissern Sie sich in der Ausgabe, dass NtpServer den fd00:ec2::123-IPv6-Endpunkt anzeigt.

Greifen Sie auf den erweiterten Amazon Time Sync Service zu

Der erweiterte Amazon Time Sync Service bietet Lokalzeitquellen mit höherer Genauigkeit für unterstützte Amazon EC2-Instances. Instances, die in einer Platzierungsgruppe mit einer precision-time Strategie gestartet werden, können auf diese lokalen Quellen zugreifen. Wir empfehlen Precision Time Placement Groups für Anwendungen, die eine genauere Zeit entweder von der link-lokalen NTP-Quelle oder von einem PTP Hardware Clock (PHC) -Gerät auf einer Linux-Instance benötigen. Wenn Sie Instances in einer Precision Time Placement-Gruppe starten, AWS platzieren Sie sie auf unterstützter Hardware mit direktem Zugriff auf hochpräzise Zeitquellen in der Infrastruktur. AWS

Wichtigste Vorteile
  • Standardmäßig verbesserte NTP-Quelle — Ihre Instance hat sofortigen Zugriff auf eine erweiterte lokale NTP-Zeitquelle, wenn Sie die NTP-Link-Local-IP-Adressen verwenden, wie im vorherigen Abschnitt beschrieben.

  • Microsecond-accurate Uhrsynchronisierung — Konfigurieren Sie Ihre Amazon EC2-Linux-Instance so, dass sie ein PTP-Hardware-Uhr-Gerät verwendet und eine mikrosekundengenaue Uhrsynchronisierung erreicht.

  • Vereinfachte Bereitstellung — Eine zentrale Platzierungsstrategie stellt sicher, dass alle Instances über Funktionen zur präzisen Zeitmessung verfügen.

  • Zeitstempel für Hardware-Pakete — Greifen Sie auf Paketzeitstempel auf niedriger Ebene für Netzwerkmessungen zu.

  • Keine zusätzlichen Kosten — Precision Time Placement-Gruppen sind ohne Aufpreis erhältlich.

Regeln und Einschränkungen
  • Precision Time Placement Groups sind in allen AWS kommerziellen Regionen verfügbar.

  • Precision Time Placement-Gruppen unterstützen die folgenden Amazon EC2-Instance-Familien der Generation 7 und höher:

    • Allgemeiner Zweck: M7a, M7g, M7d, M7i M7g-flex, M8a, M8g, M7i-flex M8g-flex

    • Computeroptimiert: C7a, C7d, C7i, C8g, C8g C7i-flex C8g-flex

    • Speicheroptimiert: R7a, R7g, R7i, R7id, R8g, X8adeZ,, X8adZs, X8aeDEZ,, X8aeZ, X8aZ, X8g, X8gE X8adz-3tb X8adz-6tb X8aedz-3tb X8aedz-6tb

    • Speicheroptimiert: I8g, I8ge

  • Wenn Sie eine Instance in einer Precision Time Placement-Gruppe starten oder starten und die Hardware nicht ausreicht, um den Zugriff auf den erweiterten Amazon Time Sync Service zu ermöglichen, schlägt die Anfrage fehl.

  • Wenn Sie eine Instance in einer Precision Time Placement-Gruppe stoppen und dann erneut starten, wird sie trotzdem in der Placement-Gruppe ausgeführt. Der Start kann jedoch fehlschlagen, wenn nicht genügend Hardware vorhanden ist, um den Zugriff auf den erweiterten Amazon Time Sync Service zu ermöglichen.

  • Amazon EC2 fügt kontinuierlich Hardware hinzu, die den erweiterten Amazon Time Sync Service unterstützt. Wenn Ihre Anfrage aufgrund unzureichender Kapazität fehlschlägt, versuchen Sie es später erneut oder versuchen Sie es mit einer anderen Availability Zone. Weitere Informationen finden Sie unter Fehlerbehebung bei Amazon-EC2-Instances.

  • Es gelten die Regeln und Einschränkungen der Praktikumsgruppen. Weitere Informationen finden Sie unter Platzierungsgruppen für Ihre Amazon-EC2-Instances.

Erstellen Sie eine Gruppe mit präziser Zeiteinteilung

Sie können mithilfe der AWS CLI, der AWS Management Console oder der AWS SDKs eine Gruppe für präzise Zeitplatzierung erstellen, indem Sie die precision-time Strategie angeben.

Verwenden AWS CLI

Führen Sie den folgenden Befehl aus:

aws ec2 create-placement-group \ --group-name my-precision-time-pg \ --strategy precision-time

Der Befehl gibt einen Platzierungsgruppen-ARN zurück, den Sie beim Erstellen von Kapazitätsreservierungen verwenden, sowie einen Gruppennamen oder eine Gruppen-ID, die Sie beim Starten von Instances und beim Verknüpfen von Placement-Gruppen verwenden.

Starten einer -Instance

Nachdem Sie eine Precision Time Placement-Gruppe erstellt haben, geben Sie diese beim Starten von Instances an, um auf den erweiterten Amazon Time Sync Service zuzugreifen:

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r7g.2xlarge \ --placement GroupId=pg-0aaa1111111111111

Überprüfen Sie den Zugriff auf den erweiterten Amazon Time Sync Service

Nachdem Sie Ihre Instance in einer Precision Time Placement-Gruppe gestartet haben, profitieren Sie von einer erweiterten NTP-Zeitquelle.

Wenn Sie beispielsweise den Chronyd-Daemon auf Ihrer Instance verwenden, können Sie überprüfen, ob die NTP-Zeitquelle jetzt als Stratum 1 bezeichnet wird und über verbesserte Messwerte für die Taktgenauigkeit verfügt:

[ec2-user ~]$ chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 169.254.169.123 1 4 377 3 +3477ns[+4689ns] +/- 91us

Überprüfen Sie die von chrony gemeldeten Zeitsynchronisierungsmetriken.

[ec2-user ~]$ chronyc tracking
Reference ID : A9FEA97B (169.254.169.123) Stratum : 2 Ref time (UTC) : Wed May 06 01:33:43 2026 System time : 0.000000276 seconds fast of NTP time Last offset : +0.000000331 seconds RMS offset : 0.000001929 seconds Frequency : 2.870 ppm fast Residual freq : +0.000 ppm Skew : 0.031 ppm Root delay : 0.000107584 seconds Root dispersion : 0.000036476 seconds Update interval : 16.2 seconds Leap status : Normal

Greifen Sie auf die PTP Hardware Clock (PHC) zu

Die PTP Hardware Clock (PHC) ist Teil des Nitro-Systems. AWS Sie ist direkt über unterstützte Bare-Metal- und virtualisierte Amazon EC2-Instances zugänglich, die in einer Precision Time Placement-Gruppe gestartet werden. Auf das PHC-Gerät kann derzeit nur auf Linux-Instances zugegriffen werden. In den folgenden Abschnitten wird beschrieben, wie Sie das PHC-Gerät auf Ihrer Linux-Instance einrichten und überprüfen.

Voraussetzungen

  • Installation der ENA-Treiberversion 2.10.0 (oder höher) für ein unterstütztes Betriebssystem.

  • Eine Amazon EC2-Instance, auf der Linux ausgeführt wird. Weitere Informationen zu unterstützten Betriebssystemen finden Sie in den Treibervoraussetzungen unter GitHub.

  • Eine Amazon EC2-Instance, die in einer Precision Time Placement-Gruppe gestartet wurde (sieheGreifen Sie auf den erweiterten Amazon Time Sync Service zu).

Anmerkung

Auf den erweiterten Amazon Time Sync Service und das PHC-Gerät kann in den folgenden Regionen und für die jeweiligen Instance-Familien auch ohne eine Gruppe für die genaue Zeiteinteilung zugegriffen werden. Für ein optimales Erlebnis empfehlen wir, Amazon EC2-Instances stattdessen in Gruppen mit genauer Platzierung zu starten.

  • Legacy-Zugriffe werden unterstützt AWS-Regionen: USA Ost (Nord-Virginia), USA Ost (Ohio), Asien-Pazifik (Malaysia), Asien-Pazifik (Thailand), Asien-Pazifik (Tokio) und Europa (Stockholm)

  • Legacy Access wird unterstützt Lokale Zonen: USA Ost (New York City)

  • Von Legacy Access unterstützte Instance-Familien:

    • Allzweck: M7a, M7g, M7i

    • Arbeitsspeicheroptimiert: R7a, R7g, R7i

    • Speicheroptimiert: I8g, I8ge

Kompilieren und aktivieren Sie den ENA-Treiber mit PHC-Unterstützung

Lesen Sie in der ENA-Treiberdokumentation unter GitHub immer die neuesten Anweisungen zur neuesten Treiberversion des Elastic Network Adapters (ENA), um spezifische Informationen zu Ihrem Betriebssystem zu erhalten. Im Folgenden finden Sie eine Übersicht der Schritte für Amazon Linux.

Bevor Sie beginnen, stellen Sie sicher, dass Ihre Instance die erfülltVoraussetzungen.

Um den ENA-Treiber mit PHC-Unterstützung zu kompilieren und zu aktivieren
  1. Installieren Sie die erforderlichen Komponenten.

    [ec2-user ~]$ sudo yum update [ec2-user ~]$ sudo yum install kernel-devel-$(uname -r) git [ec2-user ~]$ sudo reboot
  2. Laden Sie das erforderliche PTP-Modul.

    [ec2-user ~]$ sudo modprobe ptp
  3. Rufen Sie die neueste ENA-Treiberversion ab (Version 2.10.0 oder höher).

    [ec2-user ~]$ git clone https://github.com/amzn/amzn-drivers.git /tmp/amzn-drivers
  4. Erstellen Sie den ENA-Treiber ena.ko mit PHC-Unterstützung.

    [ec2-user ~]$ cd /tmp/amzn-drivers/kernel/linux/ena [ec2-user ~]$ ENA_PHC_INCLUDE=1 make
  5. Laden Sie den ENA-Treiber neu und aktivieren Sie das PHC-Gerät.

    [ec2-user ~]$ sudo rmmod ena && sudo insmod ena.ko phc_enable=1
  6. Vergewissern Sie sich, dass der geladene ENA-Treiber PHC-Unterstützung bietet.

    [ec2-user ~]$ modinfo ena | grep -E "phc_enable"
    parm: phc_enable:Enable PHC.
  7. Stellen Sie sicher, dass die PHC-Unterstützung mit dem ENA-Treiber aktiviert ist.

    [ec2-user ~]$ cat /sys/module/ena/parameters/phc_enable
    1

Anweisungen zur Installation des Treibers und zur Aktivierung der Option phc_enable beim Neustart finden Sie in der README-Datei zum ENA-Treiber unter. GitHub

Überprüfen Sie die PTP-Gerätekonfiguration

Vergewissern Sie sich, dass das ENA-PTP-Hardware-Uhr-Gerät in Ihrer Instance angezeigt wird.

[ec2-user ~]$ for file in /sys/class/ptp/*; do echo -n "$file: "; cat "$file/clock_name"; done

Erwartete Ausgabe

/sys/class/ptp/ptp<index>: ena-ptp-<PCI slot>

Wobei Folgendes gilt:

  • index ist der im Kernel registrierte Index für die PTP-Hardware-Uhr.

  • PCI slot ist der PCI-Steckplatz des ENA-Ethernet-Controllers. Dies ist derselbe Steckplatz wie unter lspci | grep ENA gezeigt.

Beispielausgabe

/sys/class/ptp/ptp0: ena-ptp-05

Sollte ena-ptp-<PCI slot> nicht in der Ausgabe enthalten sein, wurde der ENA-Treiber nicht korrekt installiert. Überprüfen Sie die Schritte unterKompilieren und aktivieren Sie den ENA-Treiber mit PHC-Unterstützung.

PTP-Geräte werden normalerweise /dev/ptp0, /dev/ptp1 usw. benannt, wobei ihr Index von der Reihenfolge der Hardware-Initialisierung abhängt. Durch das Erstellen eines Symlinks wird sichergestellt, dass Anwendungen wie chrony unabhängig von Indexänderungen konsistent auf das richtige Gerät verweisen.

Die neuesten AMIs von Amazon Linux 2023 enthalten eine udev-Regel, die den Symlink /dev/ptp_ena erstellt und auf den richtigen /dev/ptp-Eintrag verweist, der dem ENA-Host zugeordnet ist.

Prüfen Sie zunächst, ob der Symlink vorhanden ist, indem Sie den folgenden Befehl ausführen.

[ec2-user ~]$ ls -l /dev/ptp*

Beispielausgabe

crw------- 1 root root 245, 0 Jan 31 2025 /dev/ptp0 lrwxrwxrwx 1 root root 4 Jan 31 2025 /dev/ptp_ena -> ptp0

Wobei Folgendes gilt:

  • /dev/ptp<index> ist der Pfad zum PTP-Gerät.

  • /dev/ptp_ena ist der konstante Symlink, der auf dasselbe PTP-Gerät zeigt.

Wenn der /dev/ptp_ena Symlink vorhanden ist, fahren Sie mit fort. Konfigurieren Sie den Chronyd-Daemon so, dass er das PHC-Gerät verwendet Falls es fehlt, gehen Sie wie folgt vor:

Um den PTP-Symlink zu erstellen
  1. Fügen Sie die folgende udev-Regel hinzu.

    [ec2-user ~]$ echo "SUBSYSTEM==\"ptp\", ATTR{clock_name}==\"ena-ptp-*\", SYMLINK += \"ptp_ena\"" | sudo tee -a /etc/udev/rules.d/53-ec2-network-interfaces.rules
  2. Laden Sie die udev-Regel neu, indem Sie entweder die Instance neu starten oder den folgenden Befehl ausführen.

    [ec2-user ~]$ sudo udevadm control --reload-rules && sudo udevadm trigger

Konfigurieren Sie den Chronyd-Daemon so, dass er das PHC-Gerät verwendet

Der Chronyd-Clock-Synchronisations-Daemon muss so konfiguriert sein, dass er das PHC-Gerät als zusätzliche Zeitquelle verwendet, wobei das Gerät anhand des /dev/ptp_ena Symlinks identifiziert wird.

So konfigurieren Sie den Chronyd-Daemon für die Verwendung des PHC-Geräts
  1. Bearbeiten Sie /etc/chrony.conf mit einem Texteditor und fügen Sie die folgende Zeile hinzu:

    refclock PHC /dev/ptp_ena poll 0 delay 0.000010 prefer
  2. Starten Sie chrony erneut.

    [ec2-user ~]$ sudo systemctl restart chronyd
  3. Stellen Sie sicher, dass Chrony die PTP-Hardwareuhr verwendet. Das PHC0-Gerät muss die bevorzugte Zeitquelle mit einem Stratum 0-Wert sein. Die lokale NTP-Zeitquelle (falls konfiguriert) muss einen Stratum 1-Wert haben.

    [ec2-user ~]$ chronyc sources
    MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #* PHC0 0 0 377 0 +184ns[ +198ns] +/- 5032ns ^- 169.254.169.123 1 4 377 8 -18us[ -18us] +/- 115us

Überprüfen Sie den Zeitstempel für Hardwarepakete

Der mit der PHC-Unterstützung geladene ENA-Treiber ermöglicht den Zugriff auf die Zeitstempelung von Hardware-Paketen. Sie können die Unterstützung für diese Funktion überprüfen, indem Sie den Befehl verwenden. ethtool -T interface

Weitere Informationen zur Verwendung von Hardware-Paket-Zeitstempeln finden Sie in der Linux-Dokumentation zum Paket-Zeitstempel.

[ec2-user ~]$ sudo ethtool -T ens5
Time stamping parameters for ens5: Capabilities: software-transmit hardware-receive software-receive software-system-clock PTP Hardware Clock: 0 Hardware Transmit Timestamp Modes: none Hardware Receive Filter Modes: none all

Wenn die Ausgabe hardware-receive in der Liste der Funktionen angezeigt wird, ist der Zeitstempel für Hardware-Pakete auf Ihrer Instance verfügbar.