14.4. ntpd の起動と動作確認

NTP サーバープログラムの実体は、ntpd というデーモンです。Turbolinux 11 Server で ntpd の起動や停止を行うには、/etc/init.d/ntpd スクリプトに以下のオプションを指定して実行します。

表 14-3. /etc/init.d/ntpd

オプション操作
startntpd デーモンを起動します。
stopntpd デーモンを停止します。
restartntpd デーモンを再起動します。stop のあとに、start を実行します。
condrestartntpd デーモンが動作しているかを確認後、再起動します。(/var/lock/subsys/ntpd が存在するとき再起動します。)
statusデーモンの状況を確認します。

/etc/ntp.conf の編集後、ntpd を起動します、ただし、ntpd は大幅な時刻のズレがあると正常に動作しません。ntpd を起動するときは、NTP クライアントである ntpdate コマンドを使用して、事前に時刻同期を行っておきます。以下のように参照する NTP サーバーを引数にして、ntpdate コマンドを実行します。

# ntpdate ntp.example.com
16 Nov 14:19:35 ntpdate[3111]: step time server 192.168.0.7 offset -192.907528 sec

自ホストのシステムクロックが 192 秒ほど遅れていたことがわかります。もう一度、ntpdate を実行してみます。以下のように、誤差がほとんどなくなったことを確認できます。

# ntpdate ntp.example.com
16 Nov 14:20:55 ntpdate[3114]: adjust time server 192.168.0.7 offset -0.000167 sec

時刻同期を完了したあとに、以下のコマンドを実行し、ntpd デーモンを起動します。

# /etc/init.d/ntpd start

ntpd を停止するには、次のコマンドを実行します。

# /etc/init.d/ntpd stop

Turbolinux 11 Server の起動時に ntpd を自動的に開始するには、以下のように chkconfig コマンドを実行しておきます。

# chkconfig ntpd on

設定ファイルを変更した場合は、変更を反映するために ntpd を再起動する必要があります

# /etc/init.d/ntpd restart

14.4.1. ntpd の動作確認

ntpd がシステムクロックを同期する様子は、ntpq コマンドで見ることができます。以下のように、-p オプションを付けて実行します。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*clock.nc.fukuok .GPS.            1 u   28  256   17   22.742  -682108   1.059
 LOCAL(0)        73.78.73.84      5 l   26   64   37    0.000    0.000   0.001

NTP サーバー名の先頭に * が表示されていれば、ntpd は正常に動作しています。* は同期中のサーバーであることを表しています。ntpd が正常に動作すると、自ホストのシステムクロックを少しづつ補正します。つまり、ntpd を起動してもすぐには正しい時刻にはなりませんので注意してください。

注意

同期が開始されるまでには時間がかかるため、ntpd の起動直後に * の符号は表示されません。しばらく経過した後に ntpq -p コマンドを実行し、確認してください。

その他、NTP サーバー名の前に表示される符号には、以下があります。

表 14-4. 符号の意味

符号意味
*現在同期中のサーバーです。
+参照可能なサーバーです。
#距離は遠いものの参照可能なサーバーです。
空白距離が遠いなどの理由で参照しないサーバーです。
x検査で参照不可能と判断されたサーバーです。
.参照しているサーバーが多いために外されたサーバーです。

また、ntpq -p コマンドが出力する各列の意味は以下の通りです。

remote

参照先の NTP サーバーの名前です。

refid

参照先の NTP サーバーがどこから時刻を取得しているかを示します。サーバーのホスト名や GPS.などが表示されます。

st

Stratum の階層を示しています。

t

l(local)、u(unicast)、m(multicast)、b(broadcast)を示します。

when

参照先の NTP サーバーからのパケットを最後に受信してからの経過時間を秒単位で表示します。

poll

ポーリング間隔を秒単位で表示します。

reach

NTP サーバーへの接続を試みた最後の 8 回分の結果を 8 進数で表示しています。8 ビットのビット列で結果を保持しており、サーバー接続できた場合はビットが立ちます。したがって全部成功した場合は、377 と表示されます。

delay

時刻同期要求に対する返答時間をミリ秒単位で表示します。

offset

NTP サーバーと自ホストの時刻の誤差をミリ秒単位で表示します。

jitter

ばらつきをミリ秒単位で示しています。値が低い方が、正確な時刻同期が可能であることをあらわします。