Redhat Enterprise Linux7から利用可能になった、時刻同期を行う機能の一つがChronyで、実際に導入している企業も増えているのではないでしょうか。
最近ではNTPの時刻同期にNTPDに代わり、CHRONYDを利用するところが増えていると思います。
そして、先日もchronyでNTPサーバを構成した場合に、上位NTPと同期がとれないとクライアントも同期されない動作が確認できました。
会社でNTPサーバを構築することが多いと思いますが、NTPサーバが上位のNTPサーバと同期がとれない場合、社内のNTPサーバを指定しているNTPクライアントが同期されないという事象がありました。
以前、LinuxでNTPDでNTPサーバを構築した場合と動作が違うので、確認したところ、以下の設定で上位のNTPサーバと同期がとれない場合にも、ローカルタイムを使って時刻同期することができます。当然、NTPサーバの時刻が大幅にずれていると、NTPクライアントも時刻がズレる可能性があります。
local stratum 10
サーバの設定例としては、以下の設定を行います。
【chrony.conf】
leapsecmode slew(追加)
#makestep 1 3(編集)
allow 10.1.1.0/24(追加)※例です。
local stratum 10 (編集)
続いて、同期状態の確認です。以下のコマンドを実行します。
「chronyc sources」
----
[root@CentOS74 etc]# chronyc sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ XXXXXX 2 6 177 56 +26us[ +26us] +/- 124ms
^+ XXXXXX 2 6 77 121 +877us[+6712us] +/- 68ms
^+ XXXXXX 3 6 177 56 -20us[ -20us] +/- 99ms
^* XXXXXX.net 2 6 177 57 -1583us[+4253us] +/- 59ms
[root@CentOS74 etc]#
----
赤字の部分が同期しているサーバになります。以下のコマンドでより詳細な情報を確認できます。
「chronyc tracking」
-----
[root@CentOS74 etc]# chronyc tracking
Reference ID : 965F948C (XXXX.net)
Stratum : 3
Ref time (UTC) : Wed Oct 25 13:55:18 2017
System time : 0.000435665 seconds fast of NTP time
Last offset : -0.000096543 seconds
RMS offset : 0.002245682 seconds
Frequency : 3490.050 ppm slow
Residual freq : +1.394 ppm
Skew : 3.922 ppm
Root delay : 0.036228176 seconds
Root dispersion : 0.043109242 seconds
Update interval : 64.6 seconds
Leap status : Normal
[root@CentOS74 etc]#
----
システム間で時刻を合わせたい場合は、上記設定を行います。