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 offre 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 fonti di ora locale con maggiore precisione per le 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 lanciate in un gruppo di posizionamento temporale di precisione hanno accesso a un dispositivo PTP Hardware Clock (PHC) e alla possibilità 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 modifiche specifiche alla configurazione del VPC. L'AMI potrebbe aver già configurato il daemon di sincronizzazione dell'orologio per utilizzare la sorgente NTP locale per impostazione predefinita. Questa sorgente NTP è disponibile sui seguenti indirizzi IP:

Le istanze Amazon EC2 supportate hanno accesso al servizio Amazon Time Sync avanzato. 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 utilizzi gli indirizzi IP locali del collegamento NTP. Qualsiasi sistema operativo può utilizzare questo miglioramento. Puoi verificare di trarre vantaggio dalla fonte NTP avanzata utilizzando il tuo client NTP preferito.

Linux-based Le AMI, che funzionano su famiglie di istanze supportate, hanno la possibilità aggiuntiva di recuperare 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 di tempo estremamente precisa. L'accesso all'origine temporale PHC è ottimizzato, il che porta a una sincronizzazione più accurata dell'istanza Amazon EC2.

Considerazioni
  • L'origine temporale NTP offre una visualizzazione intermittente della scala temporale UTC, mentre il PHC non offre lo smear time. 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 di query DNS Route 53 Resolver, richieste Instance Metadata Service (IMDS), richieste Amazon Time Sync Service Network Time Protocol (NTP) e 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: regola la frequenza con cui il servizio aggiusterà l'ora del sistema per aumentarne la precisione. AWS configura l'intervallo di aggiornamento in modo che si verifichi 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 endpoint IPv4 Regione AWS 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\\ servicesCurrentControlSet\ w32time\ Config

UpdateInterval

120

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

NtpServer

169.254.169.123,0x9

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

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 avanzato offre fonti di ora locale con maggiore precisione per le istanze Amazon EC2 supportate. Le istanze avviate in un gruppo di collocamento con una precision-time strategia possono accedere a queste fonti locali. Consigliamo gruppi di posizionamento temporale di precisione per le applicazioni che richiedono un orario più preciso dalla fonte NTP locale del collegamento o da un dispositivo PHC (PTP Hardware Clock) 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 a sorgenti temporali ad alta precisione nell'infrastruttura. AWS

Vantaggi principali
  • Fonte NTP migliorata per impostazione predefinita: l'istanza ha accesso immediato a una fonte di ora 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 in microsecondi.

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

  • Timestamping 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 temporale con precisione sono disponibili in tutte le regioni AWS commerciali.

  • I gruppi di posizionamento temporale di precisione supportano le seguenti famiglie di istanze Amazon EC2 Gen7 e successive:

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

    • Calcolo ottimizzato: 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 posizionamento temporale di precisione e l'hardware non è sufficiente per consentire l'accesso al servizio Amazon Time Sync avanzato, la richiesta ha esito negativo.

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

  • Amazon EC2 aggiunge continuamente hardware che supporta il servizio Amazon Time Sync avanzato. Se la richiesta fallisce 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 posizionamento temporale preciso

Puoi creare un gruppo di posizionamento temporale preciso 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 che utilizzate per creare prenotazioni di capacità e un nome di gruppo o un ID di gruppo da utilizzare per avviare le istanze e collegare i gruppi di collocamento.

Avvio di un'istanza

Dopo aver creato un gruppo di posizionamento temporale di precisione, specificalo all'avvio delle 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 posizionamento temporale preciso, usufruisci di una fonte di tempo NTP migliorata.

Ad esempio, se utilizzi il demone chronyd sulla tua istanza, puoi verificare che la sorgente 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 supportate e virtualizzate di Amazon EC2 lanciate in un gruppo di posizionamento temporale di precisione. Il dispositivo PHC è attualmente accessibile solo su istanze Linux. Le seguenti sezioni descrivono come configurare e verificare il dispositivo PHC sull'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 dei driver su. GitHub

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

Nota

Il servizio Amazon Time Sync 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 (Tailandia), Asia Pacifico (Tokyo) ed Europa (Stoccolma)

  • Local Zones supportato dall'accesso legacy: Stati Uniti orientali (New York City)

  • Famiglie di istanze supportate da Legacy Access:

    • 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 GitHubper informazioni specifiche sul tuo sistema operativo. Di seguito è riportata una panoramica dei passaggi per Amazon Linux.

Prima di iniziare, assicurati che l'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 l'ultima versione 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 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 supporti PHC.

    [ec2-user ~]$ modinfo ena | grep -E "phc_enable"
    parm: phc_enable:Enable PHC.
  7. Verifica 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 su. 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. Esamina i passaggi riportati di seguito. Compila 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, passa 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 seguente riga:

    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 utilizzando l'orologio hardware PTP. Il dispositivo PHC0 deve essere la sorgente 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 il timestamping dei pacchetti hardware

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

Per ulteriori informazioni sull'utilizzo del timestamping dei pacchetti hardware, consultate la documentazione Linux relativa al 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 viene visualizzato hardware-receive nell'elenco delle funzionalità, il timestamping dei pacchetti hardware è disponibile sull'istanza.