2015/06/22 更新
2015年7月1日の「うるう秒」挿入に関して
1.概要
総務省並びに情報通信研究機構(NICT)から発表ありましたように、2015年7月1日に「うるう秒」の挿入が行われます。うるう秒の調整は、原子時計を元に求められた協定世界時(UTC)と地球の自転を観測して得られた時刻(UT1)の差を吸収するために行われるものです。今回の調整では、UTCに常年には存在しない2015年6月30日23時59分60秒(日本時間では2015年7月1日8時59分60秒)が「うるう秒」として挿入されます。
2.計算機システムへの影響
一般的な計算機システムは「うるう秒」を意識しません(1分を常に60秒として扱います)。計算機の時計は、2015年6月30日23時59分59秒(日本時間表示で2015年7月1日8時59分59秒)の次を2015年7月1日0時0分0秒(日本時間表示で2015年7月1日9時0分0秒)としてカウントするため、UTCに対して計算機の時計(システム時刻)は1秒進むことになります。これによって、ソフトウェアが表示や印字する時刻も1秒進むことになりますが、高い精度の時刻管理を必要とする特殊なシステム以外では、これが直接的に問題になることはありません。
協定世界時[UTC] (日本標準時[JST]) |
2015/06/30 23:59:58 (2015/07/01 08:59:58) |
2015/06/30 23:59:59 (2015/07/01 08:59:59) |
2015/06/30 23:59:60 (2015/07/01 08:59:60) |
2015/07/01 00:00:00 (2015/07/01 09:00:00) |
2015/07/01 00:00:01 (2015/07/01 09:00:01) |
|
計算機の時計 (ローカル時刻) |
2015/06/30 23:59:58 (2015/07/01 08:59:58) |
2015/06/30 23:59:59 (2015/07/01 08:59:59) |
2015/07/01 00:00:00 (2015/07/01 09:00:00) |
2015/07/01 00:00:01 (2015/07/01 09:00:01) |
2015/07/01 00:00:02 (2015/07/01 09:00:02) |
|
しかしながら、NTP※1やSNTP※2を使って時刻同期を行っているシステムでは、時刻同期の影響を受ける可能性があります。
NTPやSNTPを使って時刻同期を行っているシステムでは、特定の間隔で計算機の時刻補正が行われます。「うるう秒」によって相対的に進んだ計算機の時計もこのときに補正されます(時計を1秒戻します)。
しかしながら、一部のソフトウェアは計算機の時計の逆戻りには敏感です。時計を戻すことによって思わぬエラーが生じる可能性は皆無ではありません(例えば、データに打刻した後に時計が戻されると、プログラムによってはそのデータを存在するはずのない未来のデータ、即ち不正データと見なしてしまうかもしれません)。また、Linuxの一部のバージョンなどには、NTPによるうるう秒調整※3自体に問題があるものがあります(後述)。
このような潜在的な問題を避けるため、多くのNTPクライアントは、時刻を一度に変更するのではなく、時計の進み方を遅くしたり速くしたりして徐々に時刻を合わせる機能(Slew調整の機能)を持っています。この機能を利用すれば時計の逆戻りは起こりません。「うるう秒」による時刻調整に限らず、NTPを用いた時刻同期を行う場合には、この機能(Slew調整の機能)のご利用をお勧めします
※1: |
NTP: Network Time Protocol
ネットワークを利用して上位のNTPサーバから時刻を取得し、自機の時計をそれに合わせる仕組み。自身もより下位のNTPクライアントに対してNTPサーバの役割を担う。通常、最上位のNTPサーバにはGPSやJJYから正確な時刻を取得する専用のタイムサーバを使用する。 |
※2: |
SNTP: Simple Network Time Protocol
NTPのクライアント機能に特化して構造を単純にした時刻同期の仕組み。 |
※3: |
Leap Indicatorによるうるう秒調整
NTPサーバーはうるう秒挿入の24時間前からLeap Indicatorと呼ばれる情報を配信する。一部のOS(LinuxやSolarisなど)はLeap Indicatorを検出すると、それを記憶して0時0分0秒(UTC)ちょうどに時刻調整を行なう。NTPサーバーによってはLeap Indicatorの配信を抑止できるものもある。
|
3.日立ソフトウェア製品への影響
- ◆Linux障害事例
- Linuxの一部のバージョンでは、Leap Indicatorによるうるう秒調整で問題が発生する場合があります。回避策の実施または、対策されたバージョンへのアップデートをお願いします。
- 「うるう秒挿入時に発生するLinuxの問題」
- ◆VMware障害事例
- VMware では、Leap Indicatorによるうるう秒調整で問題が発生する場合があります。回避策の実施または、対策されたバージョンへのアップデートをお願いします。
- 「うるう秒挿入時に発生するVMwareの問題」
- ◆HP-UX障害事例
- HP-UXのNTPv4において、うるう秒の時刻補正時にSlewモードであっても時刻戻りが発生する問題があります。回避策の実施または、対策されたバージョンへのアップデートをお願いします。
- 「NTPv4において、うるう秒の時刻補正時にSlewモードであっても時刻戻りが発生するHP-UXの問題」
- ◆日立ミドルウェア製品障害事例
- 日立ミドルウェア製品は、計算機の時計の逆戻りを避けていただければ、特別なケース※4を除きその影響を受けることはありません。
- ※4:うるう秒付きタイムゾーン(下記参照)などを使用して意図的に「23:59:60 UTC」や「08:59:60 JST」などの時刻を作った場合は、システムに不整合が生じる場合があります。
- 「うるう秒付きタイムゾーンを有効にした環境上でUTC(協定世界時)に設定して運用した場合に発生する問題」
うるう秒付きタイムゾーン
Linuxでは、時刻計算にうるう秒付きタイムゾーン情報を利用することで、時計の進みを表面上発生させないようにすることができます。
しかし、うるう秒付きタイムゾーンを使用すると、Unix時間と呼ばれる1970年1月1日からの通算秒が他のシステムより多く計算されることになります。
NTPの利用を含め、他の計算機と連携して動作するシステムでは、うるう秒付きタイムゾーンは使用しないでください。
RedHat Enterprise Linuxでは、通常のタイムゾーン情報を/usr/share/zoninfo、うるう秒付きタイムゾーン情報を/usr/share/zoninfo/rightに格納しています。どちらのタイムゾーン情報が使われているかは以下の方法で確認できます。
ファイル名 |
通常のタイムゾーン |
うるう秒付きタイムゾーン |
/etc/localtimeのリンク先(コピー元) |
/usr/share/zoneinfo/Asia/Tokyo |
/usr/share/zoneinfo/right/Asia/Tokyo |
/etc/sysconfig/clockの内容 |
ZONE="Asia/Tokyo" |
ZONE="right/Asia/Tokyo" |
|
4.日立サーバ製品への影響
日立サーバ製品では、NTPによるうるう秒調整時に発生する問題があります。回避策の実施、または対策版の適用をお願いします。
・「EP8000向けハードウェアマネージメントコンソールうるう秒調整時にハングアップが発生するケースについて」
【別紙】「EP8000ハードウェアマネージメントコンソールにおける NTP設定手順書」
・「BIG-IP 1500 うるう秒調整時に接続済みコネクションの切断が発生するケースについて」
【別紙】「BIG-IP 1500 NTP 設定削除/再設定手順書」
・「AX2500/AX2000HL うるう秒調整時に装置再起動が発生するケースについて」
【別紙】「AX2500/AX2000HL NTP サーバ同期設定無効化手順書」
・「ロードバランサブレードにおけるNTP機能使用時のうるう秒問題」
5.日立ストレージ製品への影響
日立ストレージ製品は、うるう秒挿入の影響をうけません。
6.問い合わせ先
お問い合わせは、各製品のサポート契約をご確認の上、日立ソリューションサポートセンタのサポート窓口にお問い合わせください。
|