カスタム検索
|
Tweet |
|
|
ntp(タイムサーバ)の話題と実験
Modified: 9 June 2007
Created: 11 August 2003
以下にきちんと解説されたページがありました。
http://takabsd.jp/w/tech/?ntp
ntpに関する小技
ntpに関する情報
ntpqで確認する
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*131.107.1.10 .ACTS. 1 u 208 1024 377 373.859 -8.391 49.319
clock.nc.fukuok 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00
clock.tl.fukuok 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00
higw.tut.ac.jp 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00
$「*」が表示されているサーバーと同期されている。
remote タイムサーバーのホスト refid タイムサーバーが参照しているホスト st Statum。1は基準サーバを直接参照していることを示している t タイムサーバーのタイプ when 最後にパケットを受け取った時間(秒) poll ポーリング間隔(秒) reach 到達可能性を表すレジスタデータ(8進数) delay 通信による遅延(ミリ秒) offset タイムサーバーとのずれ(ミリ秒) jitter 時刻のばらつき(ミリ秒)
私はntpの基本を知らなかったため、ずいぶん悩みましt。
ntpdとntpdateとは
直ちに時間を合わせるソフトは、ntpdateです。
ntpdは、時間のずれをじわじわと補正するものであり、時間を合わせるソフトではありません。
PCに時計は2つある
PCが持っているハードウエア時計と、Linuxが持っている時計があります。
Linuxが持っている時計は、ntpdate で合わせます。ハードウエア時計は、hwclockで合わせます。
まずは時間を合わせる
ntpdateで時間を合わせておいてから、ntpdを起動し、ずれを補正させます。
以下のコマンドで合わせます。
# ntpdate -b time.nist.gov time.nist.gov は、タイムサーバーです。次に、以下のコマンドで、PCのハードウエア時計を合わせます。
# /sbin/hwclock --systohc
時刻補正ソフトを起動する
以下のコマンドで、ntpdを起動します。
# ntpd
「the NTP socket is in use, exiting」が出る
# ntpdate -b time-nw.nist.gov
6 Mar 22:25:49 ntpdate[647]: the NTP socket is in use, exiting
#"ntpd"が起動した状態ではこのエラーが出ます。"ntpd"を殺して実行すればうまく動作します。
http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/
私は、"ntp-4.0.99k23" をダウンロードしました。(2001年5月12日)
$ ./configure
:
$ make
:
$ su
password: ********
# make install
:
"/etc/ntp.conf" を作成する
server time-nw.nist.gov
server clock.nc.fukuoka-u.ac.jp
server clock.tl.fukuoka-u.ac.jp
server ntp.tut.ac.jp
driftfile /etc/ntp.drift
時間を合わせる
# ntpdate -b clock.nc.fukuoka-u.ac.jp
16 Aug 13:12:45 ntpdate[10645]: step time server 133.100.9.2 offset -30.724541 sec”offset -30.724541 sec”なので、30秒遅れていたようです。
再度実行してみます。
# ntpdate -b clock.nc.fukuoka-u.ac.jp
16 Aug 13:13:17 ntpdate[10651]: step time server 133.100.9.2 offset 0.000278 sec”offset 0.000278 sec”なので、1/5000秒、ほとんど誤差なしの状態です。
サービスを起動する
# ntpd 定期的に、サーバーに接続し、時間調整が行われます。
自動起動する
"/etc/rc.d/rc.local" に以下のコードを入れます。
/usr/local/bin/ntpd
定期的に自動実行させる
crontabを起動します。
$ crontab -e 以下の1行を加えると、毎日午前0時に実行され、時刻が合わされます。
0 0 * * * /usr/local/bin/ntpdate -s time-nw.nist.gov > /dev/null 2>&1 "/etc/services"に以下も加えます。
ntp 123/tcp # Network Time Protocol
ntp 123/udp # Network Time Protocol
本家?
http://www.ntp.org/ = http://www.eecis.udel.edu/~ntp/
基準タイムサーバー
http://www.eecis.udel.edu/~mills/ntp/clock1.htm
http://www.eecis.udel.edu/~mills/ntp/clock2.htm
日本では、福岡大学の「学内WWWサーバ」、「ネットワーク基準時刻サービス」が有名です。
http://www.nc.fukuoka-u.ac.jp/NTP/
NTPの情報が得られるリンクが豊富です