本家いなてい

日本ブログ村の政治ブログ・民進党(旧民主党・旧維新の党)で常時1位の誉れ高いブログ(なおエントリー数は2ブログ)

(旧ブログから転載)時刻同期コマンド ntp で、うるう秒に備えよ!!ザ・ワールド そして時は動き出す

f:id:inatei:20170708153338j:plain

 

 サーバ時刻は一定感覚で ntp なり AD なりで補正がかかっているので、基本的にうるう秒等で誤動作することはない筈です。

 

 

 これには条件があって、補正方式時刻を戻すような形でない必要があります。もし時刻が戻ってしまうと、DB サーバであれば DB 内のデータが時間軸的に逆転(矛盾)してしまう可能性があります。これはまずい。

 

 それではどのような補正方法なら良いのかというと、ntp であれば slew 方式です。たぶん通常はこの方式をとっていると思います。この方式、ジョジョスタープラチナ・ザ・ワールドみたいな感じで時を止めます(というのは嘘で、内部的にゆっくり進ませます)。

 

 うるう秒が発生した場合、スタンドアロンのサーバはうるう秒後の現実の時間に比べて時刻が1秒進んでしまいますが、slew で同期していれば、ntp サーバを参照して時間のずれを検知してくれます。そして時の進み方を遅くし、時間をあわせてくれるんです。このおかげで、DBの矛盾も発生しない。

 

 やれやれだぜ。