なんか時計がずれると思っていたら、ntpdが自動起動になっていなかった。ntpはnetwork time protocolの略でネットワーク越しに正確な時刻同期を実現するためのプロトコルで、世界中に時刻を提供するサーバが立っている。ntpdの設定はデフォルトのままではRedHatのタイムサーバが記述されているので、より近いサーバや自分のISPが提供しているサーバに変えた方がいいかもしれない。
[root@ml115 ~]# cat /etc/ntp.conf ... server 0.rhel.pool.ntp.org server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org ...↓
... server ntp1.jst.mfeed.ad.jp server ntp2.jst.mfeed.ad.jp server ntp3.jst.mfeed.ad.jp ...
ntpでは、タイムサーバの時刻と自サーバ上の時刻が違いすぎると、うまく同期できなかったり同期に時間がかかることがある。なので最初はntpdateコマンドで強制的に時刻を合わせるとよい。
[root@ml115 ~]# ntpdate ntp1.jst.mfeed.ad.jp 26 Nov 22:55:39 ntpdate[7371]: adjust time server 210.173.160.27 offset -0.034191 sec
また、デフォルトではntpで取得した時刻はサーバ内のハードウェアクロックを更新させない。これを更新させるように変更する。
[root@ml115 ~]# vi /etc/sysconfig/ntpd # Drop root to id 'ntp:ntp' by default. OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid" # Set to 'yes' to sync hw clock after successful ntpdate SYNC_HWCLOCK=no↓
# Drop root to id 'ntp:ntp' by default. OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid" # Set to 'yes' to sync hw clock after successful ntpdate SYNC_HWCLOCK=yes
そしてntpdを起動する。
[root@ml115 ~]# service ntpd start Starting ntpd: [ OK ]
ntpdを自動起動するように設定する。
[root@ml115 ~]# chkconfig ntpd on
ntpの同期状態を確認する。
[root@ml115 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
ntp1.jst.mfeed. 210.173.160.86 2 u 7 64 1 6.880 -20.108 0.001
ntp2.jst.mfeed. 210.173.160.86 2 u 6 64 1 7.355 -20.016 0.001
ntp3.jst.mfeed. 210.173.160.86 2 u 5 64 1 6.685 -19.913 0.001
LOCAL(0) .LOCL. 10 l 4 64 1 0.000 0.000 0.001
システムの時刻を確認する。
[root@ml115 ~]# date Mon Nov 26 23:07:33 JST 2007
CPUの使用する時刻を確認する。
[root@ml115 ~]# clock Mon 26 Nov 2007 11:07:40 PM JST -0.064814 seconds
ハードウェアクロックを確認する。
[root@ml115 ~]# hwclock Mon 26 Nov 2007 11:09:15 PM JST -0.201409 seconds
ちなみにタイムゾーンは/etc/localtimeにて設定される。このファイルはバイナリなので直接編集することは出来ず、/usr/share/zoneinfo/Japanへのリンクもしくはコピーとして作成する。
