インフラエンジニアは人間じゃない

インフラエンジニアのブログ。毎週水曜日19:00更新。

システムの時刻同期 NTPとは?

はいどうもー!
インフラエンジニアのねるです!

今日の企画WA!
システムの時刻同期に関わる話です。

1.システムの時刻同期とは?

システムはそれぞれ「今何時」という情報を持っています。
それは一般的なPCもそうですし、サーバも時刻の情報を持っています。

しかし、壁時計や腕時計の時刻がズレるように、システムが持っている時刻もズレる事があります。
時刻がズレている事に気付いたら、直してあげないといけません。

壁時計や腕時計の時刻がズレたら自分の手で直したり、電波時計なら自動で時刻を修正してくれます。
システムも同じように、時刻がズレたら自分の手で直すこともできますが、とても手間が掛かります。
電波時計のようにシステムの時刻を自動で修正する仕組み、それがNTPです。
また、システムの時刻を修正することを時刻同期と呼びます。

2.NTPとは? 概要説明

NTP(Network Time Protocol)とは、ネットワークに接続されている機器が持つ時刻を正しい時刻へ同期するための通信プロトコルです。

NTPの世界には、NTPサーバ(親)とクライアント(子)が存在します。
クライアント(子)が、正しい時刻を持ったNTPサーバへ問い合わせをし、サーバはクライアントへ時刻を返答します。

3.NTPによる時刻同期の方式

NTPには2種類の時刻同期方法があります。
Slew方式とStep方式です。

①時刻同期 Slew方式とは

Slew方式とは、時刻の進み具合を少し早めたり遅めたりする事で、徐々に時刻を合わせていく方式です。

目的としては、時刻を一気に変更することでシステムに影響が出ないようにすることです。
例えば、スケジュールで順番に動くジョブなどの順序が逆転しないようになります。

②時刻同期 Step方式とは

Step方式とは、時刻のズレを一気に修正する方式です。

目的としては、時刻がズレた状態を長い期間続けないためです。
例えば、時刻が365日ズレた状態のものをSlew方式で少しずつ直していたら、ズレた状態がずっと続いてしまいますよね。

Slew方式とStep方式を組み合わせて、少しのズレならSlew方式で修正、ズレが大きい場合はStep方式で修正するといった設定をするのが一般的です。


システムの時刻がズレると大きな影響が出ます。
NTPをしっかり理解して、システムトラブルを起こさないようにしましょう!

今回はこれで終わります。
ありがとうございました。