トップ   サーバー構築   旅行日記   手記   リンク   About  

ntpd

NTPとはNetwork Time Protocolの略です。
コンピュータ機器は使用しているとだんだん時間がずれてきます。
パソコンで日付をあわせるのはDateコマンドであわせますが、サーバーなどあまり頻繁にメンテナンスできないコンピュータの日付を自動であわせるのがこのNTPです。
しくみはタイムサーバーと呼ばれる時計の役目をするサーバーにアクセスし、同期を取ることで自動で時間をあわせます。

ソースのダウンロード

http://www.ntp.org/ からダウンロードします。
今回はntp-4.2.0.tar.gzを使用します。

インストール

tar xvfz ntp-4.2.0.tar.gz
cd ntp-4.2.0
./configure
make
make install

/etc/ntp.confの作成

公開されているNTPサーバーをいくつか選びリンクをはります。
無難に日本の大学などのNTPサーバーを選ぶとよいでしょう。
またアメリカなどの外国のサーバーはリンクタイムが日本のサーバーよりかかるため、セッションが張られませんのであまりお勧めしません。
日本のNTPサーバー
東京大学 「ntp.nc.u-tokyo.ac.jp」
東北大学 「ntp.tohoku.ac.jp」
記述例を以下に記します。
server ntp.nc.u-tokyo.ac.jp
server ntp.tohoku.ac.jp

driftfile /etc/ntp.drift

ドリフトファイルの作成

touch /etc/ntp.drift
これでOKだそうです。

ntpdファイルの作成

ntpのデーモンを立ち上げるためのソースを/etc/rc.d/init.d/ntpdに作成します。
ntpdの記述は長いのでソースを用意します。
#
# Startup script for ntp-daemon
#
# chkconfig: - 58 74
# description: ntpd
# processname: net work time protocol
#

. /etc/rc.d/init.d/functions

#
# Start/stop processes required for ntpd
#
 
case "$1" in
start)
        echo -n "Starting ntpd:  "
        /usr/local/bin/ntpd -c /etc/ntp.conf
        echo
        ;;
 
restart)
        $0 stop
        sleep 1s
        $0 start
        ;;
 
stop)
        echo -n "Shutting down ntpd:  "
        killproc ntpd
        echo
        ;;
 
*)
        echo "Usage: $0 {start|restart|stop}"
        exit 1
 
esac
 
exit 0

日付と時間が正しいかを確認する

NTPはそもそも時間のわずかなズレを補正するためのツールです。
そのため、日にちそのものが現在日付と異なっていたり、何時間も時間がずれていると動作せずにセッションが勝手に切断されてしまいます。
その為、デーモンを起動する前に日付を確認しましょう。
date
2004年  9月 10日 木曜日 16:21:03 JST
例えば、今日は2004年9月16日 木曜日 16:21:03 JSTであるとすると6日もずれているためセッションは切断され、デーモンも勝手に終了してしまいます。

日付をあわせます。

date 091616212004
2004年  9月 16日 木曜日 16:21:00 JST
再度dateコマンドで確認する。
date
2004年  9月 16日 木曜日 16:21:12 JST
これで日付の補正は完了です。 次にデーモンを起動してみましょう。

デーモンの登録・起動

chkconfig にデーモンを登録しておくことで service コマンドで起動の管理を行うことができます。
chkconfig --add ntpd

OS起動時に起動する設定

chkconfig ntpd on

起動開始

service ntpd start
下記コマンドを入力すると、セッションが張られているかどうか確認ができます。
セッションが張られていれば下記のように表示されます。
# ntpq -p
     remote refid st t when poll reach  delay offset jitter
==========================================================
+ntp.nc.... .GPS.  1 u  19   64  377    3.082  0.165 0.152
*zao.ne.... .GPS.  1 u  22   64  377   10.284 -0.056 0.390
正しくセッションが張られているとサーバーの名前のところに*がつきます。
デーモンを起動してすぐには反映されません。20分くらいかかります。
Copyight (C) qurataro.com 2004-2007 quraportal All Rights. Reserved.