システムエンジニアという仕事の関係上、「うるう秒」の話題で盛り上がっています。
そして、うるう秒(閏秒)が挿入されるのは、「2015年7月1日」で、通常より1秒長い、24時間1秒になります。
うるう秒とは、現行の協定世界時(UTC)と地球の自転のズレを調整するために追加、もしくは削除される時間のことを指します。
また、2012年7月1日に実施された際には、LinuxOSなどでうるう秒バグが発生し、問題になりました。
まず、私はこれまでWindowsサーバーを構築する事が多かったのですが、うるう秒で大きな問題が発生したと聞いたことがありません。
では、Microsoft製品では、うるう秒対策は必要か?という事で、公式サイトに説明があります。
>>うるう秒に関するサポートについて(Microsoft)
以下は一部抜粋です。
---
OSにおいて
・
・
・
Windows Time サービスの時刻同期のしくみについては、技術情報 (KB 2722681) を参照してください。
---
WindowsOSは、うるう秒の処理を行わず、そのままズレたまま進みますが、次回のNTPサーバとの同期で修正されるという流れですね。
また、SQLやExchangeなども基本的には、うるう秒を意識ないようですね。どちらかというと、OS上で動作するアプリがうるう秒を意識する場合、OSとの差が生じて問題が起きるパターンがありそうです。
この場合も、アプリに依存すると思いますので、Windows製品の場合は、調査箇所が限定されそうです。
続いて、Linuxですが、IBMのサイトに分かりやすい説明が書かれていました。
>>System x における「うるう秒」の調整と対応について
基本はWindowsと同じ考え方で、NTPを参照していない場合は、時刻が1秒遅れます。その場合、うるう秒を意識するアプリが上で動作している場合、不整合がおきる場合があります。
また、Windowsとの違いとしては、Linuxの場合は、うるう秒を意識させる事ができる点です。つまり、アプリケーションに合わせて、対応する事ができます。
やはり重要なのは、アプリケーションの動作を確認する事ですね。
---
追記
Windows製品は、うるう秒対策は必要ないと書きましたが、導入するソフトウェア、アプリケーションによっては、当然、意識する必要があります。そこで、Windows Server 2012 R2でslewモードを設定する方法について説明した記事を書きました。※厳密には、slewモードに設定するというよりは、stepモードで動作するまでの時間を調整する設定になります。
→WindowsServer2012R2、w32tmでのslewモード対策、設定方法
ワークグループ環境のWindows Server 2012 R2サーバについては、デフォルトの値では、「1秒」以上の時刻差があると、stepモードで動作してしまいますし、w32tm自体が1秒程度の時刻差が起こるサービスとしているので、基本的にstepモードで動作する仕様となっているので、注意が必要です。
また、このstepモードで動作する値は、ドメインコントローラーかドメインメンバーサーバーか、またはワークグループ環境かで変わってくるので、そこも注意してください。
※会社でスマホのバッテリーがなくなる!という方にお勧めのモバイルバッテリーです。会社でスマホの充電が難しい場合も助かると思います。