CentOS 6/NTP



前書き

時刻同期で使われる NTP(Network Time Protocol) は、どのディストリビューションでもインストールされていると思います。
下記のコマンドで確認してください。

# rpm -qa | grep ntp

下記のような表示が返ってくるはずです。

ntp-4.2.4p8-2.el6.centos.x86_64


NTPDの起動

自動時刻同期のサービスはNTPDが行います。
ただし、サーバーの現在時刻が大幅にずれていると、このNTPDによる時刻修正ができません。
まず一番始めは手動で合わせるのがいいでしょう。
NTPDの動作を確認します。

# ps ax | grep ntpd

このような表示が返ってきたら、現在 ntpd が動いていますので停止させます。

 5169 pts/0    S+     0:00 grep ntpd
32649 ?        SLs    0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid

ntpdのサービス停止

# /etc/init.d/ntpd stop

手動で国内のNTPサーバーを使って同期させます。
下記のどちらか一方で構いません。

# ntpdate clock.nc.fukuoka-u.ac.jp
# ntpdate ntp1.jst.mfeed.ad.jp

下記のような表示が返ってきます。

28 Apr 17:06:20 ntpdate[5220]: step time server 133.100.9.2 offset -1.824949 sec

もし下記のような the NTP socket is in use が返ってきたら ntpd が動いていて正常実行ができなかったことを意味します。

28 Apr 17:05:45 ntpdate[5200]: the NTP socket is in use, exiting

これでサーバーの時刻が同期されましたので ntpd を実行させます。

# /etc/init.d/ntpd start
ntpd: 時間サーバーと同期中:                                [  OK  ]
ntpd を起動中:                                             [  OK  ]


ログの確認

ログを調べて正常に稼働しているか確認します。

# cat /var/log/messages

下記のようなログを確認します。

Apr 28 17:08:01 (サーバー名) ntpd[5248]: ntpd 4.2.2p1@1.1570-o Sat Dec 19 00:58:16 UTC 2009 (1)
Apr 28 17:08:01 (サーバー名) ntpd[5249]: precision = 1.000 usec
Apr 28 17:08:01 (サーバー名) ntpd[5249]: Listening on interface wildcard, 0.0.0.0#123 Disabled
Apr 28 17:08:01 (サーバー名) ntpd[5249]: Listening on interface wildcard, ::#123 Disabled
Apr 28 17:08:01 (サーバー名) ntpd[5249]: Listening on interface lo, ::1#123 Enabled
Apr 28 17:08:01 (サーバー名) ntpd[5249]: Listening on interface eth0, 2408:0:a2ed:1:20c:29ff:fef5:85c1#123 Enabled
Apr 28 17:08:01 (サーバー名) ntpd[5249]: Listening on interface eth0, fe80::20c:29ff:fef5:85c1#123 Enabled
Apr 28 17:08:01 (サーバー名) ntpd[5249]: Listening on interface lo, 127.0.0.1#123 Enabled
Apr 28 17:08:01 (サーバー名) ntpd[5249]: Listening on interface eth0, 192.168.1.221#123 Enabled
Apr 28 17:08:01 (サーバー名) ntpd[5249]: kernel time sync status 0040
Apr 28 17:08:01 (サーバー名) ntpd[5249]: frequency initialized 33.486 PPM from /var/lib/ntp/drift

しばらくログをチェックしていると自動同期するログが現れます。

Apr 28 17:12:22 (サーバー名) ntpd[5249]: synchronized to XXX.XXX.XXX.XXX, stratum 2

※XXX.XXX.XXX.XXX はNTPサーバーのIPアドレスです。
もし下記のようなログが記録されている場合はネットワークが原因で同期できていない場合です。

Apr 27 21:13:51 (サーバー名) ntpd[3374]: sendto(XXX.XXX.XXX.XXX) (fd=24): Invalid argument

この場合、主な原因は…

  • ntpd が起動したときと比べて、IPアドレスが変わってしまった場合。

が考えられます。
一度、 ntpd を再起動してください。

同期状態の確認

ntpd の稼働状況は下記のコマンドで確認できます。
*印は完全に同期している状態を表します。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp.------.net   XXX.XXX.XXX.XXX  2 u   30   64  377   14.654    1.258   4.001
+ns2.------.net   XXX.XXX.XXX.XXX  3 u   26   64  377   13.990   10.738   3.911
*------.jp        XXX.XXX.XXX.XXX  2 u   26   64  377   12.823  -13.736  14.581
 LOCAL(0)        .LOCL.           10 l   23   64  377    0.000    0.000   0.001

※ドメインとIPアドレスは伏字にしています。



Last-modified: 2015-04-23 (木) 17:49:46 (1329d)