NTP 再整理
NTP とは
- Network Time Protocol の略
- 時刻情報を取得するためのプロトコル
- 時刻同期と呼ばれる
- 時刻を合わせておくことで情報解析が捗る
時刻同期の実現方法
自動で時刻を同期させるためには以下の2つがある
- ntpd を起動させて、時刻同期先を指定する
- 定期的に ntpdate を実行する(注)
それぞれの違いは以下の通り
ntpd と ntpdate の違い
ntpd
設定次第で1秒の時間を調整してうまいこと時刻を同期してくれる
常駐して動作する
ntpdate
強制的に時刻を同期してくれる
随時で動作する
- よくあるパターンとしてサーバの起動時に ntpdate を仕込んで、起動したら ntpd を動作させる
- 時刻が大きくズレすぎていると同期できないことがあるため
- なお、同じポートを使うため、どちらかが起動しているとどちらかは使えない。
ntpd をうまいこと設定する
時刻同期には以下のモードがある。
- STEP モード
- SLEWモード
STEPモード
ズレている時間を一気に修正する
SLEWモード
1秒の時間を調整して徐々に修正する
起動時に ntpd -x
で起動するか、
/etc/ntp.conf
にて tinker step 0
に設定する必要がある
基本的には SLEW モードがオススメ
うるう秒について
※ 23:59:59 と 00:00:00 の間にうるう秒が挿入される場合。
通常の時刻の流れ
23:59:59.000000 →(略)→ 23:59:59.999999 → 00:00:00.000000
うるう秒の場合
23:59:59.000000 →(略)→ 23:59:59.999999 → 23:59:59.000000 →(略)→ 23:59:59.999999 → 00:00:00.000000
NTP ではうるう秒のタイミングで Leap Indicator (LI) を送る。 ntpd が STEP モードで動作している場合、LI が送られると上記のように一度時間が逆進する。
対策
SLEW モードで動作させておくとズレが生じて少しづつ調整する。 また Leap Indicator を送らないので影響も出さない。
動作等々
設定ファイル
- /etc/ntp.conf
時刻同期状態確認
$ ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ntp-a2.nict.go. .NICT. 1 u 198 1024 177 18.326 5.511 4.370 +ntp2.jst.mfeed. 133.243.236.17 2 u 490 1024 377 15.422 5.076 2.296 # NTPサーバの前に * or + が表示されていれば同期している # 空白の場合、時刻同期中
- 手動同期
$ sudo ntpdate ntp.jst.mfeed.ad.jp 21 Sep 13:28:44 ntpdate[9121]: adjust time server 210.173.160.27 offset 0.004727 sec
ままならないものだ。いろいろとこぼれ落ちていくものである。
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/17
- メディア: 雑誌
- この商品を含むブログを見る