時刻の設定

Pocket

時刻合わせを行うプログラム

ntpd
代表的なNTPサーバ。基本的に常駐プロセス。-qオプションを付与することでバッチプロセスとして使える。
ntpdate
サーバ機能を持たないNTPクライアント。起動時とシャットダウン時に走るバッチプロセス。非推奨。マニュアルによると適切な時期にディストリビューションから削除される。

参考:man ntpdate

The functionality of this program is now available in the ntpd(8)
program. See the -q command line option in the ntpd(8) page. After a
suitable period of mourning, the ntpdate utility is to be retired from
this distribution.

ntpdateの代替はntpdに-qオプションを付与することで可能。

スポンサードリンク


ntpdの設定ファイルと役割

/etc/ntp.conf
NTPサーバとしての設定とNTPクライアントとしての設定を行う
/var/lib/ntp/drift
時差(遅延)調整用ファイル。ntpdは参照するNTPサーバとのネットワーク通信の遅延を継続的に計測し時刻を補正する(参照:wikipedia#処理の概略)
/etc/ntp/keys
NTPサーバとして運用する際、外部からのアクセスに対して認証用キーを設定する場合に使用

ntpdのインストール

※ntpdではなくntpなので注意
# yum -y install ntp


ntpdの設定(ntpdのクライアント機能)

サーバとしては使用しないのでクライアントとしてのみの設定。
ポートを閉め忘れて変なところから時刻の問い合わせが来ても嫌ですし。
よってここでは/etc/ntp/keysは使用しない。

なお、インストール時に自動で作られる設定ファイルはバックアップを取って新規に作り直す。
# mv /etc/ntp.conf /etc/ntp.conf_bk
# vi /etc/ntp.conf

# ntpdのアクセスを全て拒否
restrict default ignore

# 参照するNTPサーバのみアクセスを許可
# 下記のserverと同じアドレスを記述
restrict ntp.nict.jp nomodify notrap noquery
restrict ntp1.jst.mfeed.ad.jp nomodify notrap noquery
restrict ntp2.jst.mfeed.ad.jp nomodify notrap noquery
restrict ntp3.jst.mfeed.ad.jp nomodify notrap noquery
restrict 0.centos.pool.ntp.org nomodify notrap noquery
restrict 1.centos.pool.ntp.org nomodify notrap noquery
restrict 2.centos.pool.ntp.org nomodify notrap noquery

# 参照するNTPサーバーを指定(一つでも良い)
# NTPは階層構造を持ち、上位のサーバ(Stratum1が最上位)ほど精度が高い
server ntp.nict.jp # 日本のStratum1サーバ
server ntp1.jst.mfeed.ad.jp # 日本のStratum2サーバ
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
server 0.centos.pool.ntp.org # centos用
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

# 時差(遅延)調整用ファイル(ntpd起動時に勝手に作られる)
# ntpdは参照するNTPサーバとのネットワーク通信の遅延を継続的に計測し時刻を補正する
driftfile /var/lib/ntp/drift

#ログファイルの指定
logfile /var/log/ntp.log


ntpdの起動確認

デーモンとして動かす前に以下を実行
# date -s "09/24 17:40 2013"
2013年  9月 24日 火曜日 17:40:00 JST # 後述しますが実時間との誤差は15分程度に
# ntpd -q
ntpd: time set +380.364602s

15分程度(正確には1000秒)の理由:仮にこれを超える時間を設定すると以下のようなログが/var/log/ntp.logに出力される。
24 Sep 16:01:21 ntpd[2749]: time correction of 6266 seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.

1000秒以上の誤差は面倒見きれん!取りあえず手動で正しい設定しろ!って感じです。
UTC時間で・・・と書かれているが日本時間で大丈夫。

正常にntpdが処理を終了できなかった場合、ntpd -qは上記を例にするところの「ntpd: time set +380.364602s」というメッセージを返さない。

ntpdの正式起動(サービスに登録)

# service ntpd start
ntpd を起動中:                                             [  OK  ]
# chkconfig --level 2345 ntpd on
# chkconfig --list ntpd
ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off


最後に

  • /etc/ntp.confに記載したログの設定は安定稼働を確認したらコメントアウトした方が良いかもしれない。(ディスク容量を圧迫する場合)
  • dateコマンドの結果が、実時間と9時間ずれてしまう場合がある。その場合の対処法は別ページに記載。


お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク

コメントを残す