第 9 章 ROOT パスワードの変更およびリセット
11.6. CHRONY の使用
11.6.1. chrony のインストール
Red Hat Enterprise Linux では、chrony スイートがデフォルトでインストールされます。インストール
されていることを確認するには、root で以下のコマンドを実行します。
# yum install chrony
chrony デーモンのデフォルトの場所は、/usr/sbin/chronyd です。このコマンドラインユーティリ
ティーは /usr/bin/chronyc にインストールされます。
11.6.2. chronyd ステータスの確認
chronyd のステータスを確認するには、以下のコマンドを実行します。
$ systemctl status chronyd chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled) Active: active (running) since Wed 2013-06-12 22:23:16 CEST; 11h ago
11.6.3. chronyd の起動
chronyd を開始するには、root で以下のコマンドを実行します。
# systemctl start chronyd
システムの起動時に chronyd を自動的に起動するように設定するには、root で以下のコマンドを実行 します。
# systemctl enable chronyd
11.6.4. chronyd の停止
chronyd を停止するには、root で以下のコマンドを実行します。
# systemctl stop chronyd
システムの起動時に chronyd を自動的に起動しないように設定するには、root で以下のコマンドを実 行します。
# systemctl disable chronyd
11.6.5. chrony の同期確認
chrony が同期されているかどうかを確認するには、tracking コマンド、sources コマンド、および sourcestats コマンドを使用します。
11.6.5.1. chrony 追跡の確認追跡の確認
chrony の追跡を確認するには、以下のコマンドを実行します。
$ 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 から同期しています)。 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 のいずれ かになります。
11.6.5.2. chrony ソースの確認ソースの確認
sources コマンドは、chronyd がアクセスしている現在の時間ソースの情報を表示します。
任意の引数 -v (verbose (詳細) の意) を指定できます。この例では、余分なキャプション行は、コラムの 意味を説明するものとして表示されます。
$ chronyc sources
210 Number of sources = 3
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* GPS0 0 4 377 11 -479ns[ -621ns] /- 134ns
^? a.b.c 2 6 377 23 -923us[ -924us] +/- 43ms
^ d.e.f 1 6 377 21 -2629us[-2619us] +/- 86ms 各コラムの表示内容は、以下のとおりです。
M
ソースのモードを示します。^ はサーバーを意味し、= はピアを意味し、# はローカルに接続された 基準クロックを意味します。
S
この列は、ソースの状態を示します。「*」は、chronyd が現在同期しているソースを表します。
「+」は、選択したソースと結合する、受け入れ可能なソースを表します。「-」は、受け入れ可能 なソースで、結合アルゴリズムにより除外されたものを表します。「?」は、接続が切断されたソー ス、またはパケットがすべてのテストをパスしないソースを表します。「x」は、chronyd が falseticker と考える (つまり、その時間が他の大半のソースと一致しない) クロックを表します。
「~」は、時間の変動性が大きすぎるように見えるソースを表します。「?」条件は、少なくとも 3 つのサンプルが収集されるまで開始時にも表示されます。
Name/IP address
ソースの名前または IP アドレス、もしくは基準クロックの参照 ID を表示します。
Stratum
直近で受け取ったサンプルでレポートされているソースの stratum を表示します。Stratum 1 は、
ローカルで基準クロックに接続しているコンピューターを示します。Stratum 1 コンピューターに同 期しているコンピューターは、stratum 2 に存在することになります。同じく、Stratum 2 コン ピューターに同期しているコンピューターは stratum 3 に存在することになり、以後も同様に続きま す。
Poll
ソースがポーリングされるレートで、間隔のベース-2 対数を秒数で示します。つまり、値が 6 の場 合は、64 秒ごとに測定が行われます。
chronyd は、一般的な条件に応じて、ポーリングレートを自動的に変更します。
Reach
ソースの到達可能性のレジスターで、8 進法で表示されます。レジスターは 8 ビットで、ソースか らパケットを受信するたびに、またはミスするたびに更新されます。値が 377 の場合は、最近の 8 回の通信全体で、有効な返信を受け取ったことを表します。
LastRx
このコラムは、ソースから最後のサンプルがいつ受信されたかを表示します。通常は、秒数で表示 されます。m、h、d、および y の各文字は、それぞれ分、時間、日、年を表します。値が 10 年の場 合は、このソースからまだサンプルを受信していないことを示します。
Last sample
この列は、ローカルクロックと、最後に測定されたソースの間のオフセットを表示します。角括弧 内の数字は、実際に測定されたオフセットを表示します。これには ns (ナノ秒)、us (マイクロ 秒)、ms (ミリ秒)、または s (秒) の各接尾辞が付く場合があります。角括弧の左側は元の測定を示
し、slew がそれ以降にローカルクロックに適用可能になるように調整されています。+/- に続く数字
は、測定におけるエラーのマージンを示します。オフセットの値がプラスの場合は、ローカルク ロックがソースよりも進んでいることを意味します。
11.6.5.3. chrony ソースの統計情報の確認ソースの統計情報の確認
sourcestats コマンドは、chronyd が現在調べている各ソースに関するドリフト量とオフセット推定プ ロセスの情報を表示します。
任意の引数 -v (verbose (詳細) の意) を指定できます。この例では、余分なキャプション行は、コラムの 意味を説明するものとして表示されます。
$ chronyc sourcestats 210 Number of sources = 1
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
===============================================================================
abc.def.ghi 11 5 46m -0.001 0.045 1us 25us 各コラムの表示内容は、以下のとおりです。
Name/IP address
これは、NTP サーバー (またはピア) の名前または IP アドレス、またはその行の残りの部分が関連 する基準クロックの参照 ID です。
NP
現在サーバーで保持されているサンプルポイントの数です。誤差レートと現在のオフセットは、こ のポイントを使って線形回帰を実行することで予測されます。
NR
最新の回帰を追跡している同一サインを持つ剰余の実行数です。この数字がサンプル数に対して少 なくなりすぎる場合は、直線がデータに適合しなくなったことを意味します。実行数が少なすぎる
場合、chronyd は古いサンプルを破棄し、実行数が受け入れ可能な値になるまで回帰を再実行しま
す。
Span
一番古いサンプルと最新のサンプルの間隔です。単位が表示されない場合は、秒数を表していま す。この例の間隔は 46 分です。
Frequency
これは予測されるサーバーの剰余周波数で、ppm (100 万分の 1) で表されます。この場合、このコン ピューターのクロックは、このサーバーに対比して 109分の 1 遅く稼働していると見積もられてい ます。
Freq Skew
Freq の予測されるエラー範囲です (ppm (100 万分の 1) で表されます) 。 Offset
ソースの予測されるオフセットです。
Std Dev
サンプルの予測される標準偏差です。
11.6.6. システムクロックの手動調整
システムクロックを徐々に調整していく (slew) のを止め、一度に修正 (step) するには、root で以下の コマンドを実行します。
# chronyc makestep
rtcfile ディレクティブを使用している場合は、リアルタイムクロックを手動で調整しないでください。
ランダムな調整を行うと、リアルタイムクロックがずれる変化量を測定する必要がある chrony に影響 を与えます。