26

時をかけるほと

Embed Size (px)

Citation preview

時を

かける

ほと

わ た し で す

12 回 観 た

今日はタイムリープする

方法をご紹介します

今日話すこと

• うるう秒について

• うるう秒を感じる方法

• タイムリープする方法

今日話さないこと

• うるう秒による障害への対策

うるう秒について

うるう秒とは

• 世界標準時(UTC) と 世界時(UT1) の差を埋めるもの

• 1秒増えたり減ったりする • 今のところ減ったことはない

• 1972年~2012年の間に計25回実施

• 実施年の 6月30日 または 12月31日

• 23時59分60秒 が追加される

• 日本時間だと次の日の 8時59分60秒

次回のうるう秒

• 2015年6月30日 23時59分60秒

• 日本時間だと 7月1日 23時59分60秒

• 2012年以来、3年ぶり

うるう秒と IT

• 2012年実施時には多くの Linux サーバで障害が発生

• 対策方法はカーネルとか ntpd とかのバージョンによって色々なので割愛

• ググれ (^ω^)

大手クラウドベンダーの対応

AWS:

前後12時間ずつ 計24時間かけて調整

GCP:

前後10時間ずつ 計20時間かけて調整

AWS, GCP

「うるう秒なんてなかった」 ( ・´ー・`)ドヤ

うるう秒を感じる方法

NTP パケット

Leap Indicator

• うるう秒が近いことを知らせるフラグ

• 権威サーバに LI ビットが設定されると

徐々に下位 NTP サーバに浸透していく

• LI ビットを受け取ったときどう対応するかは

各 NTP サーバによって異なる

LI ビットの種類

00: うるう秒なし(通常時)

01: うるう秒あり(1秒増やす)

10: うるう秒あり(1秒減らす)

LI ビットを覗いてみる

$ ntpq -c rv

タイムリープする方法

前提知識

• ntpd では 23時59分60秒 は挿入されない

• 23時59分59秒 が2秒分ある

• 「60秒」を扱えないシステムもあるため

• (と思われる)

ミリ秒はどうなるの?

2回目の 23時59分59秒 になったら

ミリ秒はリセットされます

ミリ秒はどうなるの?

23:59:59.000000 :

23:59:59.999999 23:59:59.000000

: 23:59:59.999999 00:00:00.000000

通常の 23時59分59秒

2回目の 23時59分59秒 (うるう秒)

つまりぼくたちは、

うるう秒によって

1秒間の時間遡行が

できる・・・っ!!!

こっ、これは・・・っ!

(;・`д・´)

いっけえええ

ええええええ