2021.04.18   2021.05.12

【Centos7】chronyc tracking コマンドの出力結果の見方

Linux    

Chrony の読み方

Chrony (クローニー) です。

Chronyとは

NTPクライアントとNTPサーバーの実装のひとつ。
ntpdより効率良く正確な時刻同期を提供します。

Chrony を使用すると、以下のことが実現できます。

  • システムクロックを、NTP サーバーと同期する
  • システムクロックを、GPS レシーバーなどの基準クロックと同期する
  • システムクロックを、手動で入力した時間と同期する
  • ネットワーク内の他のコンピューターにタイムサービスを提供する

Chrony公式

https://chrony.tuxfamily.org/

chronyc tracking コマンドとは

chrony が自身の時刻同期先(NTPサーバなど)と同期が取れているかを確認できるコマンドのひとつ。

chronyc trackingコマンドは、システムのクロックパフォーマンスに関するパラメータを表示します。(manコマンドに記載あり)

chronyc sourcesコマンドが接続先の情報を表示するのに対し、chronyc trackingコマンドは自分自身の状態を表示します。

chronyc trackingコマンドの出力結果の見方

コマンドの実行例は以下の通りです。

$ chronyc tracking
Reference ID    : CB00710F (foo.example.net)
Stratum         : 3
Ref time (UTC)  : Fri Jan 27 09:49:17 2017
System time     :  0.000006523 seconds slow of NTP time
Last offset     : -0.000006747 seconds
RMS offset      : 0.000035822 seconds
Frequency       : 3.225 ppm slow
Residual freq   : 0.000 ppm
Skew            : 0.129 ppm
Root delay      : 0.013639022 seconds
Root dispersion : 0.001100737 seconds
Update interval : 64.2 seconds
Leap status     : Normal

Reference ID

コンピューターが現在同期しているサーバーの参照 ID と参照名(または IP アドレス)を表示します。

参照 ID は IPv4 アドレスとの混同を避けるため 16 進数の数値となっています。


Stratum(ストラタム)

基準クロックのあるコンピューターから何ホップ離れているかを示します。

上記の例のコンピューターは stratum-1 コンピューターであるため、2 ホップ離れていることになります。 (つまり、a.b.c が stratum-2 で、stratum-1 から同期しています)。

解説 : Stratumとは


Ref time

参照ソースからの最後の測定が処理された時間 (UTC) です。


System time

chronyd は、通常の操作ではシステムクロックを更新しません。

タイムスケールにおけるジャンプは、いかなるものでも特定のアプリケーションプログラムに有害な結果をもたらすためです。

代わりに、システムクロックのエラーをわずかに早めたり遅くしたりして、エラーがなくなるまで修正し、修正が完了したら、システムクロックを通常のスピードに戻します。

その結果、(gettimeofday() システムコールを使用した他のプログラム、またはシェルの date コマンドが読み取る) システムクロックが、chronyd が予測する現在の実際の時間 (サーバーモードで稼働している場合はこれを NTP クライアントに報告) と異なる期間が発生します。

この行で報告される値は、これによる差異です。


Last offset

最後のクロック更新におけるローカルオフセットの予測です。


RMS offset

長期的な、オフセット値の平均です。


Frequency

chronyd が修正しない場合にシステムクロックが間違う変化量です。

これは、ppm (100 万分の 1) で表されます。

たとえば、1 ppm という値は、システムクロックにおける 1 秒が、実際の時間と比較すると 1.000001 秒進んでいることを意味します。


Residual freq

現在選択されている基準源の「残留周波数」を示しています。

基準源からの測定値が、示すべき周波数と、実際に使用されている周波数との違いを反映しています。

これが常にゼロにならない理由は、補正する手順が周波数に適用されているためです。

基準源から測定を取得し、新たな剰余周波数が計算されるたびに、この剰余の推定精度が、既存の周波数の推定精度 (skew を参照) と比較されます。

新たな周波数の加重平均は、その精度によって異なる加重で計算されます。

基準源からの測定に一貫した傾向がある場合、剰余は時間をかけてゼロになります。


Skew

周波数の予測されるエラー範囲です。


Root delay

コンピューターが最終的に同期する stratum-1 コンピューターの、ネットワークパスの遅延の合計数です。

Root delay の値はナノ秒の分解能で出力されます。

値は、極端な状況では負数になります。(コンピューター同士が互いの周波数を追跡せず、各コンピューターのターンアラウンド時間に比較してネットワークの遅延が非常に短い、対称的なピア配置で、これが発生する場合があります。)


Root dispersion

コンピューターが最後に同期する stratum-1 コンピューターに戻るすべてのコンピューターを介して累積された合計分散です。

分散は、システムクロックの分解能や統計的測定の変動等に起因します。Root の分散値は、ナノ秒の分解能で出力されます。


Leap status

Leap のステータスで、Normal、Insert second、Delete second、または Not synchronized のいずれかになります。(Leapは「飛躍」の意)


余談ですが、うるう秒挿入まで24時間を切ってからLeap statusを確認するとステータスが「Insert second」になるそうです。(未検証)

また、CentOS8では、うるう秒をデフォルトで修正してくれるようです。
参考:
7.1.2.1.1. chrony が、うるう秒をデフォルトで修正


この記事のソース

この記事はこちらのマニュアルを参考に作成しています。

Red Hat 7

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite



また、man コマンドの説明も参考にしています。

man chronyc

オフセットとは

基準となる位置からの差を表す値のこと。

今回はNTPサーバーを基準としたローカルクロックとの差のことを言う。

リンク元に戻る

Stratum (ストラタム)とは

NTPでは、階層構造を用いて時刻源の構成を表現しています。

階層構造の各層をstratumと呼び、stratumは0を最上位として15まで階層があります。

原子時計、GPS等の非常に正確な時刻源を「reference clock」と呼び、 階層構造の最上位であるstratum 0としています。

このstratum 0に接続されたNTPサーバをstratum 1、 さらにstratum 1を参照するNTPサーバをstratum 2と、 reference clockから経由するNTPサーバの数が増加するにつれて、 stratumの数字が増えていきます。

つまり、NTPサーバは他のNTPサーバを時刻源として参照し、 相手の持つstratumの数字を一つ増やし、 自身がさらに他のクライアントに対して時刻情報を提供することになります。

こうした階層構造を利用することで、負荷分散を図るとともに、 stratumの数値によってどのくらい信頼できる時刻源であるかが判断できるようになっています。

また、1台のサーバだけではそのサーバが正確な時刻を保持しているかどうか不明なため、 通常NTPサーバは上位stratumのNTPサーバを複数台参照することで、 時刻の正確さを高めることが行われています。

リンク元に戻る

Stratum 解説の出典 :
https://www.nic.ad.jp/ja/basics/terms/ntp.html#:~:text=NTP%E3%81%A7%E3%81%AF%E3%80%81%E9%9A%8E%E5%B1%A4%E6%A7%8B%E9%80%A0%E3%82%92,stratum%200%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

コメント
現在コメントはありません。
コメントする
コメント入力

名前 (※ 必須)

メールアドレス (※ 必須 画面には表示されません)

送信