Linux/Unix で時刻同期のためにntpd
やchrony
を設定、起動してもすぐには同期されない。
同期進捗や状態を確認するにはntpq -p
コマンドを実行する。
chrony
の場合はchronyc sources
と状態確認コマンドが別にある。
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp-b2.nict.go. .NICT. 1 u 1 64 377 91.074 20.475 82.456
LOCAL(0) .LOCL. 10 l 57 64 377 0.000 0.000 0.001
指定したNTPサーバ―と同期が開始されれば、"remote" 列の指定サーバーに "*" がつく。
複数設定している場合には、同期可能なサーバーに "+" がつく。
項目 | 説明 |
---|---|
refid | 参照しているサーバーの、更に上位のNTPサーバ。 |
st | stratum番号、サーバーが第何階層か示す。 |
when | 前回サーバーを参照してから経過した秒数。 pollに達すれば再度参照する。 |
poll | 参照する間隔(秒数)。 |
reach | 過去8回の参照結果。同期したした場合1、同期しなかった場合0。 8進数で表示されており、毎回同期されると377(8進数)となる。 つまり11111111(2進数)。 |
delay | ポーリングインターバルの遅延見積もり(単位:ミリ秒) |
offset | NTPサーバとのずれ(ミリ秒) |
jitter | NTPサーバがどのくらい正確なのかを示す指標。値が小さいほど正確。 |
時刻の同期には時刻のずれを即座に修正するstep方式と時刻の進み具合をずらしていくことで、少しずつ時刻を合わせていくSlew方式があり、ntpd
やchrony
はSlew方式になる。
そのために、ntpq -p
コマンドで同期されるまで見守る必要がある。
もしシステムや運用的に問題がなければntpdate
を実行して即座に修正することも可能。
ntpdate
を実行するする場合はntpd
などは停止する必要がある。
$ sudo service ntpd stop
ntpd を停止中: [ OK ]
$ ntpdate ntp.nict.jp
30 Apr 04:50:51 ntpdate[27842]: step time server 133.243.238.244 offset -6.239400 sec
$ sudo service ntpd start
ntpd を起動中: [ OK ]