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 を利用している場合と利用していない場合で動作が異なります。以下にそれぞれの場合に分けて説明します。

なお、本ドキュメントでは、20081231日から200911日にかけて発生する、うるう秒が挿入される場合 (UTC時間で1231日 午後115960秒が発生する時) を例として説明します。

 

NTPを使用している場合

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

 

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

 

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

この違いについて以下の表にまとめます。
 
実際の時間 (UTC)
NTPがうるう秒をサポート(JST)
NTPがうるう秒を非サポート(JST)
1231 23:59:58
1月 1 08:59:58
1月 1 08:59:58
1231 23:59:59
1月 1 08:59:59
1月 1 08:59:59
1231 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 の場合は、日本時間11日 午前900秒を境に1秒ずれることになります。タイムゾーンが right/Asia/Tokyo の場合はうるう秒をサポートしていますが、tzdata パッケージを最新版にアップデートする必要があります。

 

実際の時間と使用しているタイムゾーンによる違いを以下の表にまとめます。
 
実際の時間 (UTC)
Asia/Tokyo
right/Asia/Tokyo
1231 23:59:58
1月 1 08:59:58
1月 1 08:59:58
1231 23:59:59
1月 1 08:59:59
1月 1 08:59:59
1231 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年 128日 新規作成