View a markdown version of this page

Configurazione del rifermento temporale sull'istanza EC2 per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione del rifermento temporale sull'istanza EC2 per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale

Il servizio Amazon Time Sync fornisce diversi metodi per la sincronizzazione dell'istanza Amazon EC2 con una fonte di ora locale. Innanzitutto, qualsiasi istanza Amazon EC2 può raggiungere una sorgente di ora locale tramite il Network Time Protocol (NTP). Inoltre, il servizio Amazon Time Sync avanzato offre sorgenti temporali locali con maggiore precisione alle istanze Amazon EC2 supportate. Avvia l'istanza supportata in un gruppo di collocamento con la precision-time strategia per raggiungere una fonte NTP con maggiore precisione. Infine, le istanze Linux avviate in un gruppo di posizionamento temporale di precisione hanno accesso a un dispositivo PTP Hardware Clock (PHC) e alla capacità di recuperare i timestamp dei pacchetti hardware.

Qualsiasi istanza Amazon EC2 ha accesso alla fonte NTP locale. Puoi raggiungere la sorgente NTP tramite un indirizzo IP locale del collegamento, che limita questo traffico all'interno del tuo VPC senza la necessità di apportare modifiche specifiche alla configurazione del VPC. La tua AMI potrebbe aver già configurato il tuo demone di sincronizzazione dell'orologio per utilizzare la fonte NTP locale per impostazione predefinita. Questa fonte NTP è disponibile tramite i seguenti indirizzi IP:

Le istanze Amazon EC2 supportate hanno accesso al servizio avanzato Amazon Time Sync. Per accedere al servizio Amazon Time Sync avanzato, avvia un'istanza supportata in un gruppo di collocamento con la precision-time strategia. Non è necessario configurare l'istanza per beneficiare di questo miglioramento se si utilizzano gli indirizzi IP locali del collegamento NTP. Qualsiasi sistema operativo può utilizzare questo miglioramento. Puoi verificare di beneficiare della fonte NTP avanzata utilizzando il tuo client NTP preferito.

Linux-based Le AMI, in esecuzione su famiglie di istanze supportate, hanno l'opzione aggiuntiva di generare l'ora da un dispositivo PHC. Il driver ENA rende disponibile questo dispositivo. Sia la sorgente NTP avanzata che il dispositivo PHC utilizzano la stessa fonte temporale estremamente precisa. L'accesso alla sorgente temporale PHC è ottimizzato e consente una sincronizzazione più accurata dell'istanza Amazon EC2.

Considerazioni
  • La sorgente temporale NTP offre una visualizzazione intermittente della scala temporale UTC, mentre la sorgente temporale PHC non mostra l'ora. Per ulteriori informazioni, consulta Secondi intercalari.

  • Solo le istanze Linux hanno accesso all'orologio hardware PTP locale. Le istanze Windows devono utilizzare NTP per accedere al servizio Amazon Time Sync avanzato.

  • Esiste un limite di 1024 pacchetti al secondo (PPS) per i servizi che utilizzano indirizzi link-local. Questo limite include l'aggregato delle richieste DNS Query di Route 53 Resolver, delle richieste IMDS (Instance Metadata Service), delle richieste di Amazon Time Sync Service Network Time Protocol (NTP) e delle richieste Windows Licensing Service (per istanze basate su Microsoft Windows).

Accedi all'endpoint IPv4 del servizio Amazon Time Sync

Il tuo AMI potrebbe aver già configurato il servizio di sincronizzazione oraria di Amazon per impostazione predefinita. In caso contrario, utilizza le seguenti procedure per configurare l’istanza per l’utilizzo del servizio di sincronizzazione oraria di Amazon locale tramite l’endpoint IPv4.

Per assistenza nella risoluzione dei problemi, consulta Troubleshoot NTP synchronization issues on Linux instances o Risoluzione dei problemi di impostazione dell’ora sulle istanze Windows.

Amazon Linux

AL2023 e le recenti versioni di Amazon Linux 2 sono configurati per utilizzare l’endpoint IPv4 del servizio di sincronizzazione oraria di Amazon per impostazione predefinita. Se confermi che l’istanza è già configurata, puoi ignorare la seguente procedura.

Per verificare che chrony sia configurato per l’utilizzo dell’endpoint IPv4

Eseguire il seguente comando seguente. Nell’output, la riga che inizia con ^* indica l’origine di orario preferita.

[ec2-user ~]$ chronyc sources -v | grep -F ^*
^* 169.254.169.123 3 4 377 13 -4325ns[-9201ns] +/- 401us
Per configurare chrony per collegarlo all’endpoint IPv4 su versioni precedenti di Amazon Linux 2
  1. Connetti l'istanza e disinstalla il servizio NTP.

    [ec2-user ~]$ sudo yum erase 'ntp*'
  2. Installare il pacchetto chrony.

    [ec2-user ~]$ sudo yum install chrony
  3. Aprire il file /etc/chrony.conf tramite un editor di testo (ad esempio vim o nano). Aggiungi la riga seguente prima di qualsiasi altra istruzione server o pool già presente nel file, quindi salva le modifiche:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  4. Avvia di nuovo il daemon chrony (chronyd).

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

    In RHEL e CentOS (fino alla versione 6), il nome del servizio è chrony anziché chronyd.

  5. Per configurare chronyd in modo da avviarlo a ogni avvio del sistema, utilizza il comando chkconfig.

    [ec2-user ~]$ sudo chkconfig chronyd on
  6. Verifica che chrony utilizzi l'endpoint IPv4 169.254.169.123 per sincronizzare l'orario.

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

    Nell’output, ^* indica l’origine temporale preferita.

    ^* 169.254.169.123 3 6 17 43 -30us[ -226us] +/- 287us
  7. Verifica i parametri di sincronizzazione dell'orario indicati da chrony.

    [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
Per configurare chrony per collegarlo all’endpoint IPv4 su Ubuntu
  1. Connettiti all'istanza e utilizza apt per installare il pacchetto chrony.

    ubuntu:~$ sudo apt install chrony
    Nota

    Se necessario, prima aggiorna l'istanza eseguendo sudo apt update.

  2. Aprire il file /etc/chrony/chrony.conf tramite un editor di testo (ad esempio vim o nano). Aggiungi la riga seguente prima di qualsiasi altra istruzione server o pool già presente nel file, quindi salva le modifiche:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
  3. Riavvia il servizio chrony.

    ubuntu:~$ sudo /etc/init.d/chrony restart
    Restarting chrony (via systemctl): chrony.service.
  4. Verifica che chrony utilizzi l'endpoint IPv4 169.254.169.123 per sincronizzare l'orario.

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

    Nell’output, la riga che inizia con ^* indica l’origine di orario preferita.

    ^* 169.254.169.123 3 6 17 12 +15us[ +57us] +/- 320us
  5. Verifica i parametri di sincronizzazione dell'orario indicati da chrony.

    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

A partire da SUSE Linux Enterprise Server 15, chrony è l'implementazione predefinita di NTP.

Per configurare chrony per collegarlo a un endpoint IPv4 su SUSE Linux
  1. Aprire il file /etc/chrony.conf tramite un editor di testo (ad esempio vim o nano).

  2. Verificare che il file contenga la riga seguente:

    server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

    Aggiungere questa riga se non è presente.

  3. Commentare le altre righe del server o del pool.

  4. Apri YaST e abilita il servizio chrony.

Windows

A partire dal rilascio di agosto 2018, le AMI di Windows utilizzano Amazon Time Sync Service per impostazione predefinita. Non è richiesta alcuna ulteriore configurazione per le istanze avviate da queste AMI ed è possibile saltare le seguenti procedure.

Se utilizzi un'AMI che non ha il servizio di sincronizzazione oraria di Amazon configurato per impostazione predefinita, verifica innanzitutto la configurazione NTP corrente. Se la tua istanza utilizza già l'endpoint IPv4 del servizio di sincronizzazione oraria di Amazon, non è richiesta alcuna ulteriore configurazione. Se la tua istanza non utilizza il servizio di sincronizzazione oraria di Amazon, completa la procedura per modificare il server NTP in modo da utilizzare il servizio.

Per verificare la configurazione di NTP
  1. Dall'istanza, aprire una finestra del prompt dei comandi.

  2. Ottenere la configurazione attuale di NTP digitando il comando seguente:

    w32tm /query /configuration

    Questo comando restituisce le impostazioni della configurazione corrente dell'istanza Windows e mostra se sei connesso al servizio di sincronizzazione oraria di Amazon.

  3. (Opzionale) Ottenere lo stato della configurazione attuale digitando il comando seguente:

    w32tm /query /status

    Questo comando restituisce informazioni come l'ultima sincronizzazione dell'istanza con il server NTP e l'intervallo di polling.

Modifica del server NTP per l'utilizzo di Amazon Time Sync Service
  1. Dalla finestra del prompt dei comandi, esegui il comando seguente:

    w32tm /config /manualpeerlist:169.254.169.123 /syncfromflags:manual /update
  2. Verificare le nuove impostazioni tramite il comando seguente:

    w32tm /query /configuration

    Nell'output restituito, verifica che NtpServer visualizzi l'endpoint IPv4 169.254.169.123.

Impostazioni NTP predefinite per le AMI Windows Amazon

Le Amazon Machine Image (AMI) aderiscono generalmente alle impostazioni predefinite, ad eccezione dei casi in cui è necessario apportare modifiche alla funzione sull'infrastruttura EC2. Le impostazioni seguenti sono state stabilite per il corretto funzionamento in un ambiente virtuale, nonché per mantenere qualsiasi scostamento dell'orologio entro un secondo di accuratezza:

  • Intervallo di aggiornamento: determina la frequenza con cui il servizio aggiusta l'ora di sistema in base alla precisione. AWS configura l'intervallo di aggiornamento in modo che avvenga una volta ogni due minuti.

  • Server NTP: a partire dalla versione di agosto 2018, le AMI utilizzeranno il servizio di sincronizzazione oraria di Amazon per impostazione predefinita. Questo servizio orario è accessibile da qualsiasi Regione AWS endpoint IPv4 169.254.169.123. Inoltre, il flag 0x9 indica che il servizio ora funziona da client e indica di utilizzare SpecialPollInterval per stabilire la frequenza di check-in nel server di riferimento ora configurato.

  • Type – "NTP" indica che il servizio funzionerà come client NTP standalone invece che come parte di un dominio.

  • Abilitato e InputProvider: il servizio orario è abilitato e fornisce l'ora al sistema operativo.

  • Intervallo di polling speciale: esegue controlli a fronte del server NTP configurato ogni 900 secondi (15 minuti).

    Nota

    Per le AMI di Windows Server 2025, il SpecialPollInterval valore è 1024 secondi anziché 900 secondi.

Percorso Registro di sistema Nome chiave Dati

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

UpdateInterval

120

HKL M:\System\\ services\ w32timeCurrentControlSet\ Parametri

NtpServer

169.254.169.123,0x9

HKL M:\System\\ services\ w32timeCurrentControlSet\ Parameters

Tipo

NTP

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

Abilitato

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 e 2022) o 1024 (Windows Server 2025)

Accedi all'endpoint IPv6 del servizio Amazon Time Sync

In questa sezione viene descritto come differisce la procedura riportata in Accedi all'endpoint IPv4 del servizio Amazon Time Sync nel caso della configurazione dell'istanza per l'utilizzo del servizio di sincronizzazione oraria di Amazon locale tramite l'endpoint IPv6. Non viene illustrato l'intero processo di configurazione di Amazon Time Sync Service.

L'endpoint IPv6 è accessibile solo su istanze. Nitro-based

Non è consigliabile utilizzare le voci di endpoint IPv4 e IPv6 insieme. I pacchetti NTP IPv4 e IPv6 provengono dallo stesso server locale per l'istanza. La configurazione degli endpoint IPv4 e IPv6 non è necessaria e non migliorerà la precisione dell'ora sull'istanza.

Linux

A seconda della distribuzione Linux utilizzata, quando raggiungi il passaggio per modificare il file chrony.conf, utilizzerai l’endpoint IPv6 del servizio di sincronizzazione oraria di Amazon (fd00:ec2::123) piuttosto che l’endpoint IPv4 (169.254.169.123):

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

Salva il file e verifica che chrony utilizzi l’endpoint IPv6 fd00:ec2::123 per sincronizzare l’orario:

[ec2-user ~]$ chronyc sources -v

Nell'output, se compare l'endpoint IPv6 fd00:ec2::123, la configurazione è completa.

Windows

Quando raggiungi il passaggio per modificare il server NTP in modo da utilizzare il servizio di sincronizzazione oraria di Amazon, utilizzerai l'endpoint IPv6 del servizio di sincronizzazione oraria di Amazon (fd00:ec2::123) piuttosto che l'endpoint IPv4 (169.254.169.123):

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

Verifica che le nuove impostazioni utilizzino l'endpoint IPv6 fd00:ec2::123 per sincronizzare l'ora:

w32tm /query /configuration

nell'output, verifica che NtpServer visualizzi l'endpoint IPv6 fd00:ec2::123.

Accedi al servizio Amazon Time Sync avanzato

Il servizio Amazon Time Sync migliorato offre sorgenti temporali locali con maggiore precisione alle istanze Amazon EC2 supportate. Le istanze avviate in un gruppo di collocamento con una precision-time strategia possono accedere a queste fonti locali. Consigliamo i gruppi di posizionamento temporale di precisione per le applicazioni che richiedono un tempo più preciso dalla fonte NTP locale del collegamento o da un dispositivo PTP Hardware Clock (PHC) su un'istanza Linux. Quando avvii le istanze in un gruppo di posizionamento temporale di precisione, le AWS colloca sull'hardware supportato con accesso diretto alle sorgenti temporali ad alta precisione nell'infrastruttura. AWS

Vantaggi principali
  • Sorgente NTP migliorata per impostazione predefinita: l'istanza ha accesso immediato a un'origine temporale NTP locale avanzata, se si utilizzano gli indirizzi IP locali del collegamento NTP come descritto nella sezione precedente.

  • Microsecond-accurate sincronizzazione dell'orologio: configura la tua istanza Amazon EC2 Linux per utilizzare un dispositivo PTP Hardware Clock e ottenere una sincronizzazione dell'orologio accurata al microsecondo.

  • Implementazione semplificata: la strategia di posizionamento singolo garantisce che tutte le istanze abbiano funzionalità temporali di precisione.

  • Timestamp dei pacchetti hardware: accedi ai timestamp dei pacchetti di basso livello per le misurazioni di rete.

  • Nessun costo aggiuntivo: i gruppi Precision Time Placement sono disponibili senza costi aggiuntivi.

Regole e limitazioni
  • I gruppi di collocamento cronologico di precisione sono disponibili in tutte le regioni AWS commerciali.

  • I gruppi Precision Time Placement supportano le seguenti famiglie di istanze Amazon EC2 di settima generazione e successive:

    • Uso generale: M7a, M7g, M7gd, M7i,, M8a M7g-flex, M8g, M7i-flex M8g-flex

    • Ottimizzato per il calcolo: C7a, C7gd, C7i,, C8g,, C8gd C7i-flex C8g-flex

    • Memoria ottimizzata: R7a, R7g, R7i, R7id, R8g, X8adez,,,, X8adZs, X8aedez,,,, X8aEz, X8az, X8g, X8ge X8adz-3tb X8adz-6tb X8aedz-3tb X8aedz-6tb

    • Archiviazione ottimizzata: I8g, I8ge

  • Se avvii o avvii un'istanza in un gruppo di collocamento temporale di precisione e l'hardware non è sufficiente per consentire l'accesso al servizio Amazon Time Sync Service avanzato, la richiesta ha esito negativo.

  • Se interrompi un'istanza in un gruppo di collocamento temporale di precisione e poi la riavvii, viene comunque eseguita nel gruppo di collocamento. Tuttavia, l'avvio potrebbe fallire se l'hardware non è sufficiente per consentire l'accesso al servizio avanzato Amazon Time Sync.

  • Amazon EC2 aggiunge continuamente hardware che supporta il servizio avanzato Amazon Time Sync. Se la tua richiesta non va a buon fine a causa di una capacità insufficiente, riprova più tardi o prova una zona di disponibilità diversa. Per ulteriori informazioni, consulta Risoluzione dei problemi di avvio dell'istanza Amazon EC2.

  • Si applicano le regole e le limitazioni dei gruppi di collocamento. Per ulteriori informazioni, consulta Gruppi di collocamento per le tue istanze Amazon EC2

Crea un gruppo di collocamento temporale di precisione

È possibile creare un gruppo di collocazione temporale di precisione utilizzando la AWS CLI, la console di AWS gestione o AWS gli SDK, specificando la strategia. precision-time

Utilizzo AWS CLI

Esegui il comando seguente:

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

Il comando restituisce un ARN del gruppo di collocamento da utilizzare per creare prenotazioni di capacità e un nome o ID di gruppo da utilizzare per l'avvio delle istanze e il collegamento dei gruppi di collocamento.

Avvio di un'istanza

Dopo aver creato un gruppo di collocazione temporale di precisione, specificalo quando avvii le istanze per accedere al servizio Amazon Time Sync avanzato:

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

Verifica l'accesso al servizio Amazon Time Sync avanzato

Dopo aver avviato l'istanza in un gruppo di collocamento temporale di precisione, beneficerai di una fonte temporale NTP migliorata.

Ad esempio, se utilizzi il demone chronyd sulla tua istanza, puoi verificare che l'origine temporale NTP sia ora denominata Stratum 1 e abbia metriche di precisione dell'orologio migliorate:

[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

Verifica i parametri di sincronizzazione dell'orario indicati da chrony.

[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

Accedi al PTP Hardware Clock (PHC)

Il PTP Hardware Clock (PHC) fa parte del sistema Nitro. AWS È direttamente accessibile sulle istanze bare metal e virtualizzate supportate di Amazon EC2 avviate in un gruppo di collocamento temporale di precisione. Il dispositivo PHC è attualmente accessibile solo su istanze Linux. Le sezioni seguenti descrivono come configurare e verificare il dispositivo PHC sulla tua istanza Linux.

Requisiti

  • Driver ENA versione 2.10.0 o successiva installato su un sistema operativo supportato.

  • Un'istanza Amazon EC2 che esegue Linux. Per ulteriori informazioni sui sistemi operativi supportati, consulta i prerequisiti del driver su. GitHub

  • Un'istanza Amazon EC2 lanciata in un gruppo di collocamento temporale di precisione (vediAccedi al servizio Amazon Time Sync avanzato).

Nota

Il servizio Amazon Time Sync Service avanzato e il dispositivo PHC rimangono accessibili senza un gruppo di posizionamento temporale preciso nelle seguenti regioni e per le famiglie di istanze specifiche. Per un'esperienza ottimale, consigliamo invece di avviare le istanze Amazon EC2 in gruppi di posizionamento di precisione.

  • Accesso legacy supportato Regioni AWS: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Asia Pacifico (Malesia), Asia Pacifico (Thailandia), Asia Pacifico (Thailandia), Asia Pacifico (Tokyo) ed Europa (Stoccolma)

  • Zone locali supportate dall'accesso alle versioni precedenti: Stati Uniti orientali (New York City)

  • Famiglie di istanze supportate dall'accesso legacy:

    • Uso generico: M7a, M7g, M7i

    • Memoria ottimizzata: R7a, R7g, R7i

    • Archiviazione ottimizzata: I8g, I8ge

Compila e abilita il driver ENA con supporto PHC

Consulta sempre le istruzioni più recenti della versione più recente del driver Elastic Network Adapter (ENA) nella documentazione del driver ENA GitHub per informazioni specifiche sul tuo sistema operativo. Di seguito è riportata una panoramica dei passaggi per Amazon Linux.

Prima di iniziare, assicurati che la tua istanza soddisfi iRequisiti.

Per compilare e abilitare il driver ENA con supporto PHC
  1. Prerequisiti di installazione.

    [ec2-user ~]$ sudo yum update [ec2-user ~]$ sudo yum install kernel-devel-$(uname -r) git [ec2-user ~]$ sudo reboot
  2. Carica il modulo ptp richiesto.

    [ec2-user ~]$ sudo modprobe ptp
  3. Recupera la versione più recente del driver ENA (versione 2.10.0 o successiva).

    [ec2-user ~]$ git clone https://github.com/amzn/amzn-drivers.git /tmp/amzn-drivers
  4. Crea il driver ENA ena.ko con il supporto PHC.

    [ec2-user ~]$ cd /tmp/amzn-drivers/kernel/linux/ena [ec2-user ~]$ ENA_PHC_INCLUDE=1 make
  5. Ricarica il driver ENA e abilita il dispositivo PHC.

    [ec2-user ~]$ sudo rmmod ena && sudo insmod ena.ko phc_enable=1
  6. Verifica che il driver ENA caricato sia compatibile con PHC.

    [ec2-user ~]$ modinfo ena | grep -E "phc_enable"
    parm: phc_enable:Enable PHC.
  7. Convalida che il supporto PHC sia abilitato con il driver ENA.

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

Per istruzioni su come installare il driver e attivare l'opzione phc_enable al riavvio, consultate il file README del driver ENA attivo. https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/README.rst GitHub

Verificate la configurazione del dispositivo PTP

Verifica che il dispositivo dell’orologio hardware ENA PTP sia presente sulla tua istanza.

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

Output previsto

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

Dove:

  • index è l’indice dell’orologio hardware PTP registrato nel kernel.

  • PCI slot è lo slot PCI del controller Ethernet ENA. Si tratta dello stesso slot mostrato in lspci | grep ENA.

Output di esempio

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

Se ena-ptp-<PCI slot> non è presente nell'output, significa che il driver ENA non è stato installato correttamente. Rivedi i passaggi inCompila e abilita il driver ENA con supporto PHC.

Tipicamente, i dispositivi PTP sono denominati /dev/ptp0, /dev/ptp1 e così via, e il loro indice dipende dall’ordine di inizializzazione dell’hardware. La creazione di un collegamento simbolico garantisce che applicazioni come chrony facciano costantemente riferimento al dispositivo corretto, indipendentemente dalle modifiche all’indice.

Le ultime AMI Amazon Linux 2023 includono una regola udev che crea il collegamento simbolico /dev/ptp_ena, che punta alla voce /dev/ptp corretta associata all’host ENA.

Innanzitutto, controlla se il collegamento simbolico è presente eseguendo il seguente comando.

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

Output di esempio

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

Dove:

  • /dev/ptp<index> è il percorso del dispositivo PTP.

  • /dev/ptp_ena è il collegamento simbolico costante, che punta allo stesso dispositivo PTP.

Se il /dev/ptp_ena collegamento simbolico è presente, salta a. Configura il demone chronyd per utilizzare il dispositivo PHC Se manca, effettua quanto segue:

Per creare il collegamento simbolico PTP
  1. Aggiungi la seguente regola udev.

    [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. Ricarica la regola udev, riavviando l’istanza o eseguendo il comando seguente.

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

Configura il demone chronyd per utilizzare il dispositivo PHC

Il demone di sincronizzazione dell'orologio chronyd deve essere configurato per utilizzare il dispositivo PHC come fonte di tempo aggiuntiva, utilizzando il collegamento simbolico per identificare il dispositivo. /dev/ptp_ena

Per configurare il demone chronyd per utilizzare il dispositivo PHC
  1. Modifica /etc/chrony.conf usando un editor di testo e aggiungi la riga seguente:

    refclock PHC /dev/ptp_ena poll 0 delay 0.000010 prefer
  2. Riavvia chrony.

    [ec2-user ~]$ sudo systemctl restart chronyd
  3. Verifica che chrony stia usando l'orologio hardware PTP. Il dispositivo PHC0 deve essere l'origine temporale preferita con un valore Stratum 0. L'origine temporale NTP locale (se configurata) deve avere un valore Stratum 1.

    [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

Verifica la marcatura temporale dei pacchetti hardware

Il driver ENA caricato con il supporto PHC fornisce l'accesso alla marcatura temporale dei pacchetti hardware. È possibile verificare il supporto per questa funzionalità utilizzando il comando. ethtool -T interface

Per ulteriori informazioni sull'uso del timestamping dei pacchetti hardware, consultate la documentazione di Linux sul timestamping dei pacchetti.

[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

Se l'output è visualizzato hardware-receive nell'elenco delle funzionalità, sulla tua istanza è disponibile la marcatura temporale dei pacchetti hardware.