世界の時間を決定する国際機関「国際地球回転・基準系事業(IERS)」が、2017年1月1日(日本時間)に「うるう秒」を挿入することを発表しました。
セイコーソリューションズでは、そもそも「うるう秒」とは? という話から、ネットワーク機器やシステムへの影響、その具体的な対策までを、全6回のコラムでわかりやすく解説いたします。(最新号はこちら

セイコータイムサーバーの「うるう秒」対策は、こちらをご覧ください。(資料がダウンロードいただけます)

「うるう秒」が発生すると何が起こるのか

「うるう秒」によるシステム障害事例

前回のコラムでは、そもそも「うるう秒」とは? ということについてお話しさせていただきました。今回は、実際に「うるう秒」によって起きたシステム障害の事例について解説いたします。

 
「うるう秒」障害事例が多数報告された2012年

2012年はIT業界へ「うるう秒」対策の必要性を問いかける年となりました。
日本時間2012年7月1日08時59分59秒と09時00分00秒との間に“08時59分60秒”が挿入され「うるう秒」が実施されました。SNSサービスが長時間ダウンしたり、Webサービスにトラブルが発生するなど、IT業界に「うるう秒」障害の恐怖が認識されるには十分な衝撃が走りました。

当時はLINEやFacebookをはじめとするクラウドサービスの普及前夜であったため、一般ユーザーに対して大障害と認識されることはありませんでした。が、もし2016年の現在に同様のシステム障害が発生した場合の損害は計り知れません。

 
最新のカーネルでも「うるう秒」の影響は防げなかった

この時の障害原因は、

  1. 特定バージョンのLinuxカーネル※1が動作しているサーバー上で、
  2. JavaやMySQL、Apache Hadoop など複数スレッドで動作するミドルウエアを稼働させている

という環境下でサービスを提供していた場合、「うるう秒」発生時にCPUを100%占有し、結果としてサーバーがクラッシュしたことでした。

この障害の特徴は、最新のカーネルバージョンであっても「うるう秒」の影響を受けたという点です。システム管理者は、「うるう秒」当日になって障害を目の当たりにし、対応に追われることになりました。

 
不具合の発生する条件下でも障害を防いだタイムサーバー

セイコーソリューションズのTimeServerシリーズ

では、障害を防ぐ方法はなかったのでしょうか? 「カーネルの不具合ではしかたない…」…と思われる方もいるかもしれませんが、実は、準備次第で障害が発生しなかったシステムも存在します。
不具合の発生する条件下のLinuxサーバーでも、特定の運用を行っていた場合は不具合は発生しませんでした。

そのシステム運用の一つであったセイコーソリューションズのタイムサーバーシリーズによるアジャストモードについてご紹介しましょう。

 

【セイコーソリューションズ製タイムサーバーシリーズによる「うるう秒」アジャストモードの利用】

タイムサーバー(NTPサーバー*1)シリーズを使用し、対象機器(サーバー)との時刻同期にアジャストモードを選択します。

アジャストモードでは、「うるう秒」実施の約120分前より一定の割合で徐々に時間を遅らせていき、2012年7日1日9:00に調整を
完了*2“60秒”を挿入することなく「うるう秒」対策を行うことができます。
これによって、Linuxサーバーは「うるう秒」の影響を防ぐことができるのです*3

「うるう秒」アジャストモード(タイムサーバーのうるう秒挿入方法)


*1 NTPとはNetwork Time Protocolの略で、PCやサーバーの時刻同期に利用されるサービスです。弊社ではGPS/TelJJY/長波JJY/FM等多種の時刻源に対応したアプライアンス製品を提供しています。
*2 調整時間は60分~400分の範囲を設定できます。
*3 公開NTPサーバーは、NTPメッセージに含まれる「うるう秒指示子」(Leap Indicator)が「01」を表示することで“60秒”の挿入をLinuxサーバーに通知します。しかし、アジャストモードでは、Leap Indicatorは常に「00」を表示するため、Linuxサーバは「うるう秒」の存在を意識せず対応することができます。

通常、時刻同期に使用される公開NTPサーバーは、「うるう秒指示子」(Leap Indicator)によって“60秒”の挿入をLinuxサーバーに通知します。アジャストモードを利用していない場合、2012年の運用では、運が相当に良くないと影響を受けてしまったと言えるでしょう。

 
2015年は本格的な「うるう秒」対策元年

こうした2012年の障害の経験を踏まえ、本格的な「うるう秒」対策元年となったのが2015年です。

日本時間2015年7月1日 08時59分60秒の「うるう秒」では、Linux、Windows、Mac OS、AndroidをはじめとするOSで、前回の教訓を活かし、最新パッチを適用していれば「うるう秒」を無事乗り越えることができると宣言されました。

 
セイコーソリューションズへの疑似「うるう秒」環境テストの事前相談も

しかし一方、一部金融・証券系のお客様からは、実際の「うるう秒」発生時と同じ環境を再現しての事前テストを行いたいというご相談がありました。

そこで、弊社タイムサーバーとの組み合わせによって一日一回の頻度で「うるう秒」を疑似的に発生させ、オンプレミス環境※2で「うるう秒」起因の障害が発生しないことをご確認いただきました。検証作業は、半年もの時間をかけ、詳細な試験項目をこなすという入念なものでした。

東京証券取引所は、下記記事のように、「うるう秒」対策をした上で、さらに関係先に留意事項を通知しています。

Tokyo Stock Exchange午前9時に取引開始の東京証券取引所では、突然1秒が挿入されないように、1秒を午前7時からの2時間(7200秒)に“分散”して調整する。取引に大きな影響はない見込みだが、千分の1秒単位で注文が飛び交うだけに、東証は3月、関係先に留意事項の文書を通知した。

日本経済新聞 2015年5月9日号より

また、米国の主要証券取引機関であるNASDAQに至っては、取引時間内であるにも関わらず、「うるう秒」の発生30分前に全取引を停止するという念の入った対策を行っています。

 
2017年1月1日をいつもどおりのお正月にするために

さて、先日発表された2017年1月1日08時59分60秒(日本時間)の「うるう秒」をトラブルなしに、いつもどおりのお正月を迎えるためにはどういった対策を取ればよいでしょうか?

その鍵となるのは以下の3つの対策です。

  1. OSやアプリケーションを100%信用しない。
    事前に十分に試験を実施し「うるう秒」挿入による影響を把握しましょう。
  2. 時刻戻りを起こさせない。
    ファイルシステムのタイムスタンプ不整合や分散処理システムのログメッセージ不正合から障害が発生することを意識してください。
  3. 08:59:60 を刻ませない。
    通常ありえない60秒を刻むことは、変数の範囲外など様々な障害を引き起こす原因となります。「うるう秒」を乗り越える最も重要なポイントは、システムに60秒を意識させないことです。

セイコーソリューションズのタイムサーバーシリーズを利用することで、これらの対策を事前に、簡単に完了することができます。ぜひ、ご検討されてはいかがでしょうか。

次回は、Windows、Linuxなどの主要OSの「うるう秒」動作・対策についてと、タイムサーバーシリーズによる簡単・確実な「うるう秒」対策の実例についてご紹介したいと思います。


以下、注釈

※1Linuxカーネル…Linuxシステムの中核をなす基本機能を実装したソフトウェア。
※2オンプレミス環境…企業などが情報システムを自社で保有し、自社の設備において運用すること。

著者プロフィール

橋本 直也

著者近影:橋本氏セイコーソリューションズ株式会社
製品企画部門で、マーケティング・プロジェクトマネージメントを担当

■経歴
1992年~ 2004年 沖電気工業株式会社にてATM交換機のハードウェア開発に従事
2004年  入社
2004年~ 2013年4月までハードウェア開発エンジニア、主に方式設計に従事
2013年~ 製品企画部門へ異動

近年は、PTP IEEE1588時刻同期関連製品の研究開発、マーケティング業務に従事。現在に至る。

講習実績

関連製品

タイムサーバー

タイムサーバー

ネットワーク上の機器に標準時刻を高精度に配信し、時刻をセキュアに同期。時刻同期のトラブルを解消します。

導入事例


東京証券取引 タイムサーバー事例 アイキャッチ

株式会社東京証券取引所

うるう秒対策はアジャスト調整で万全です


DMM.com タイムサーバー事例 アイキャッチ

株式会社DMM.comラボ

うるう秒対策、豊富な時刻ソース、リーズナブルな価格が導入の決め手です


j_tokyo-u_main

東京大学 情報基盤センター

NTPサーバーの脆弱性を利用したサイバー攻撃対策として、サポートが確かなアプライアンス製品を採用


j_econtext_main2

株式会社デジタルガレージ イーコンテクストカンパニー

何百人というお客様の情報を守るために必要な世界基準のセキュリティーをタイムサーバーで実現