Linux上でのうるう秒の動作について

[対象となる製品のバージョン]

 Asianux Server 3 for x86 (32bit)

 Asianux Server 3 for x86-64 (64bit)

 Miracle Linux V4.0 (32bit)

 Miracle Linux V4.0 (64bit)

 

[概  要]

本ドキュメントでは、うるう秒が発生する際の Miracle Linux V4.0 および Asianux Server 3 上での動作について説明します。

 

[対処方法]
NTP を利用している場合と利用していない場合で動作が異なります。以下にそれぞれの場合に分けて説明します。

なお、本ドキュメントでは、2008年12月31日から2009年1月1日にかけて発生する、うるう秒が挿入される場合 (UTC時間で12月31日 午後11時59分60秒が発生する時) を例として説明します。

 

■ NTPを使用している場合

Miracle Linux V4.0 および Asianux Server 3 に含まれる ntp パッケージは、うるう秒をサポートしていますので、上位の NTP サーバーがうるう秒をサポートしている場合は対処は必要ありません。

 

上位の NTP サーバーがうるう秒をサポートしていない場合、1月1日 午前9時0分0秒を境に1秒ずれることになります。ただしその後 NTP サーバーが正しい時間を刻み出せば、その時間に従って時間を調整します。

 

うるう秒が発生する場合、日本時間では午前8時59分60秒(UTC時間では、午後11時59分60秒) が発生しますが、NTP で同期している場合は日本時間午前8時59分59秒が2秒間続くことになります。

この違いについて以下の表にまとめます。
 
実際の時間 (UTC)
NTPがうるう秒をサポート(JST)
NTPがうるう秒を非サポート(JST)
12月31日 23:59:58
1月 1日 08:59:58
1月 1日 08:59:58
12月31日 23:59:59
1月 1日 08:59:59
1月 1日 08:59:59
12月31日 23:59:60
1月 1日 08:59:59
1月 1日 09:00:00
1月 1日 00:00:00
1月 1日 09:00:00
1月 1日 09:00:01

 

なお、GPS 時計を利用した NTP サーバーなどではうるう秒をサポートしていない場合があります。そのためうるう秒をサポートしているかどうかは製造元や上位の NTP サーバーの管理者等へお問い合わせください。

 

■ NTPを使用していない場合

タイムゾーンが Asia/Tokyo の場合は、日本時間1月1日 午前9時0分0秒を境に1秒ずれることになります。タイムゾーンが right/Asia/Tokyo の場合はうるう秒をサポートしていますが、tzdata パッケージを最新版にアップデートする必要があります。

 

実際の時間と使用しているタイムゾーンによる違いを以下の表にまとめます。
 
実際の時間 (UTC)
Asia/Tokyo
right/Asia/Tokyo
12月31日 23:59:58
1月 1日 08:59:58
1月 1日 08:59:58
12月31日 23:59:59
1月 1日 08:59:59
1月 1日 08:59:59
12月31日 23:59:60
1月 1日 09:00:00
1月 1日 08:59:60
1月 1日 00:00:00
1月 1日 09:00:01
1月 1日 09:00:00

 

また、 right/Asia/Tokyo にタイムゾーンを変更している場合、うるう秒が発生すると、/var/log/messages に以下のログを出力します。

 

Clock: inserting leap second 23:59:60 UTC

 

[注意事項]

本ドキュメントの内容は、予告なしに変更される場合があります。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[更新履歴]

2008年 12月8日 新規作成