3.2. ハードウェアのタイムスタンプの有効化
/etc/chrony.conf ファイルの hwtimestamp ディレクティブを使用して、1 つまたは複数のインターフェイスでハードウェアタイムスタンプを有効にできます。ディレクティブは、個別のインターフェイスを指定できますが、ワイルドカード文字を使用して、ハードウェアのタイムスタンプをサポートするすべてのインターフェイスでハードウェアのタイムスタンプを有効にすることもできます。
手順
/etc/chrony.confファイルを編集し、次の変更を加えます。ハードウェアタイムスタンプをサポートするインターフェイスに
hwtimestamp設定を追加します。以下に例を示します。hwtimestamp enp1s0 hwtimestamp eno*ptp4lなどの他のアプリケーションがハードウェアタイムスタンプを使用していない場合は、ワイルドカード * を使用できます。minpollおよびmaxpollオプションをサーバー設定に追加して、短いクライアントポーリング間隔を設定します。次に例を示します。server ntp.example.comlocal minpoll 0 maxpoll 0ハードウェアタイムスタンプの場合、システムクロックのオフセットを最小限に抑えるために、デフォルトの範囲 (64 - 1024 秒) よりも短いポーリング間隔を設定する必要があります。
サーバー設定に
xleaveオプションを追加して、NTP インターリーブモードを有効にします。server ntp.example.comlocal minpoll 0 maxpoll 0 xleaveこの設定では、chrony はパケットを送信した後にのみハードウェア送信タイムスタンプを取得します。この動作により、サーバーが応答するパケット内のタイムスタンプを、サーバーが保存できなくなります。
xleaveオプションを使用すると、chrony は送信後に生成された送信タイムスタンプを受信できます。オプション: サーバーでクライアントのアクセスのロギング用に割り当てられるメモリーの最大サイズを増やします。次に例を示します。
clientloglimit 100000000デフォルトのサーバー設定では、数千のクライアントが同時にインターリーブモードを使用できます。
clientloglimit設定の値を増やすことで、多数のクライアントに対応するサーバーを設定できます。
chronyd サービスを再起動します。
# systemctl restart chronyd
検証
オプション:
/var/log/messagesログファイルでハードウェアタイムサンプリングが有効になっていることを確認します。chronyd[4081]: Enabled HW timestamping on enp1s0 chronyd[4081]: Enabled HW timestamping on eno1chronyd が NTP クライアントまたはピアとして設定されている場合、送信および受信タイムスタンプモードとインターリーブモードを表示します。
# chronyc ntpdata Remote address : 203.0.113.15 (CB00710F) Remote port : 123 Local address : 203.0.113.74 (CB00714A) Leap status : Normal Version : 4 Mode : Server Stratum : 1 Poll interval : 0 (1 seconds) Precision : -24 (0.000000060 seconds) Root delay : 0.000015 seconds Root dispersion : 0.000015 seconds Reference ID : 47505300 (GPS) Reference time : Wed May 03 13:47:45 2017 Offset : -0.000000134 seconds Peer delay : 0.000005396 seconds Peer dispersion : 0.000002329 seconds Response time : 0.000152073 seconds Jitter asymmetry: +0.00 NTP tests : 111 111 1111 Interleaved : Yes Authenticated : No TX timestamping : Hardware RX timestamping : Hardware Total TX : 27 Total RX : 27 Total valid RX : 27NTP 測定の安定性を表示します。
# chronyc sourcestats .... 210 Number of sources = 1 Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev ntp.local 12 7 11 +0.000 0.019 +0ns 49ns ....
この安定性は、Std Dev 列に表示されます。ハードウェアタイムスタンプを有効にすると、NTP 測定の安定性は、通常の負荷で数十または数百ナノ秒になります。