うるう秒対策 in 2017

2017年1月1日の9:00にうるう秒がきます。
多くのエンジニアたちはこのうるう秒対応のためにお正月に出社される人が多いのではないかと思いますw
SOOOTAも出社の可能性99%ですw
この辺は基盤の運命ですかねー

うるう秒は2017年1月1日の08:59:60を挿入されるため、多くのサーバなどでNTPクライアントの設定をきちんとしておかないと時刻が過去に戻ります。(過去時刻になる。)
過去に戻るといろいろと都合が悪いので、対策が必要です。

一般的に有効な策としては、「slewモードを使用する」ですね。

ntpはサーバーとクライアントがあり、クライアントはサーバに時刻を聞きに行きます。
その時に時刻が異なっている場合、瞬時に合わせる(stepモード)と徐々に合わせる(slewモード)の2つのやり方があります。

slewモードでは、一回のループの際に数ミリ秒ずつ合わせるため、完全に時刻が一致するまではちょっと時間がかかります。

設定は簡単です。
ntpの設定ファイルにオプションをつけるかつけないかだけです。
ただし、設定後、ntpの再起動は必要です。

/etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

OPTIONSの中に-xが入れればslewモード、入れなければstepモードになります。

ntpの再起動方法

/sbin/service ntpd restart

ntpの時刻同期の状態確認
ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*aaaa.bb.cc.cccc XXX.XXX.XXX.XXX  2 u  148 1024  177    1.201    0.908   1.236
+a.b.c.dddd.ee.f XXX.XXX.XXX.XXX  2 u   16 1024  377    0.939   -0.043   2.091
remote:接続可能なNTPサーバ
[*]:同期中のサーバ
[+]:クロック誤り検査に合格したサーバ
[#]:参照同期中ではあるが、距離が遠いサーバ
[ ]:左に何も表示されない場合(空欄)、参照していない
[x]:クロック誤り検査に不合格となったサーバ
[.]:参照リストから除外されたサーバ

refid:上位NTPサーバーが参照しているホスト名 or IPアドレス
st:上位NTPサーバーの階層
t:階層のタイプ
when:最後のパケットを受け取ってからの時間(秒)
poll:ポーリング間隔(秒)
reach:到達可能性に関するレジスタ・データ(8進数)
delay:推定遅延(ミリ秒)
offset:オフセット(ミリ秒)
jitter:RMS Jitterの平均値(ミリ秒)

項目があってちょっとわかりづらいですが、簡単に言うとdelayの値が少なければ、よりNTPサーバとクライアントとの時刻ずれが少ないことになります。

おさらい
stepモードは瞬時に時間を合わせます。
slewモードは徐々に時刻差を縮めます。
なので、うるう秒の対応を簡単に済ませたい場合はslewモードを使いましょう。
 

ブログランキングに参加しています。クリックして応援していただけると嬉しいです。

人気ブログランキング
ブログランキング・にほんブログ村へ
にほんブログ村