平成29年 (2017年) 1月1日に挿入されるうるう秒について

※ 12月27日時点でのうるう秒の対処を行っている場合、その他に対処する必要はございません。

本ドキュメントの対象となる製品

  • Asianux Server 7 for x86_64

概要

平成 29 年 (2017 年) 1 月 1 日 (日) に「うるう秒」による時刻の調整が行われます。本ドキュメントでは、Asianux Server 7 == MIRACLE LINUX V7 (以降 Asianux Server 7) 上で対処が必要な環境ならびにうるう秒挿入時の動作について説明します。

詳細

平成 29 年 (2017 年) 1 月 1 日 (日) に「うるう秒」の調整が行われ、午前 8 時 59 分 59 秒と午前 9 時 00 分 00 秒の間に「8 時 59 分 60 秒」が挿入されます。

本ドキュメントでは Asianux Server 7 で必要な対処ならびにうるう秒挿入時の動作について説明します。利用している環境を判別する方法につきましては「参考情報: 時刻補正の方式を確認する方法」をご参照ください。

対処が必要な環境

  • chronyd を利用している場合
  • leapsecmode system (デフォルト) または leapsecmode step で利用している場合

kernel-3.10.0-514.el7 以下のカーネルには、カーネルによるうるう秒挿入時に CPU 利用率が高騰する可能性のある問題があります。また、chrony-2.1.1-4.0.1.el7.AXS7 未満には smoothtime 設定が有効である場合、chronyd がクラッシュする可能性があります。

対処法として、(1) leapsecmode slew に変更する、あるいは(2)kernelchrony を最新版にアップデートした上で leapsecmode step または slew に変更する必要があります。
chrony-2.1.1-4.0.1.el7.AXS7 (2016 年 12 月 27 日現在最新のパッケージ) https://tsn.miraclelinux.com/ja/node/7605

kernel-3.10.0-514.2.2.el7

  • ntpd を利用している場合
  • slew モードで起動している場合

ご利用中の ntp パッケージのバージョンによっては slew モードで動作しているときにうるう秒が発生した場合、システムクロックが step モードのように即座に変更される不具合があります。

事前に以下のバージョン以降のパッケージにアップデートしてください。
ntp-4.2.6p5-19.1.0.1.el7.AXS7 (上記不具合を修正したバージョン)
https://tsn.miraclelinux.com/ja/node/5556

ntp-4.2.6p5-25.0.1.el7.AXS7 (2016 年 12 月 27 日現在最新のパッケージ)
https://tsn.miraclelinux.com/ja/node/7613

    • step モードで起動している場合

kernel-3.10.0-514.el7 以下のカーネルには、カーネルによるうるう秒挿入時に CPU 利用率が高騰する可能性のある問題があります。
ntpd を slew モードで動作させる、kernel を最新版にアップデートするなど、他の対処方法をご検討ください。

kernel-3.10.0-514.2.2.el7

https://tsn.miraclelinux.com/ja/node/7648

  • 時刻補正を行っていない場合
    • Asia/Tokyo タイムゾーンを使用する場合

うるう秒挿入後に手動で時刻を補正する必要があります。

※ 注意事項
○ 時刻の設定時時刻の遡りが発生し、お使いのソフトウェアによっては問題が発生するおそれがあります。

    • right/Asia/Tokyo タイムゾーンを使用する場合

事前に最新の tzdata パッケージにアップデートする必要があります。

以下のパッケージにアップデートしてください。
tzdata-2016i-1.el7 (2016 年 12 月 27 日現在の最新パッケージ (2017 年 1 月 1 日のうるう秒に対応))
https://tsn.miraclelinux.com/ja/node/7576

うるう秒挿入時の動作と注意事項

うるう秒を挿入する動作は、うるう秒をサポートしている上位 NTP サーバからうるう秒の調整に関する情報 (Leap Indicator) を NTP クライアントが受信することで調整が行われます。

  • 時刻補正を行っている場合
    • chrony を利用している場合

Leap Indicator を受信したときに行われるうるう秒の補正方法は設定ファイル内の leapsecmode 設定にて指定します。これは通常時に実施される時刻の補正方法とは独立して指定できることにご注意ください。

      • leapsecmode の設定が system または step である場合

うるう秒が挿入されるタイミングで、協定世界時 (UTC) の 2016 年 12 月 31 日 23 時 59 分 59 秒のあとに、さらに 12 月 31 日 23 時 59 分 59 秒を繰り返します。

※ 注意事項うるう秒の前後で時刻の遡りが発生し、お使いのソフトウェアによって問題が発生するおそれがあります。

      • leapsecmode の設定が slew である場合

うるう秒が挿入された後、ずれを補正するために単位時間あたりに進む時刻を調整し、徐々に同期します。

※ 注意事項
○ 時刻の補正に時間がかかります
○ 他のシステム、または日本標準時との間で最大 1 秒程度のずれが生じます

    • ntpd を利用している場合

Leap Indicator を受信した時に行われる時刻補正の方法と通常時に行われる時刻補正の方法を、chrony のように独立して指定することはできません。ntpd を起動した時のモードで補正します。

      • step モードで起動している場合

うるう秒が挿入されるタイミングで、協定世界時 (UTC) の 2016 年 12 月 31 日 23 時 59 分 59 秒のあとに、さらに 12 月 31 日 23 時 59 分 59 秒を繰り返します。

※ 注意事項うるう秒の前後で時刻の遡りが発生し、お使いのソフトウェアによって問題が発生するおそれがあります。

      • slew モードで起動している場合

うるう秒が挿入された後、ずれを補正するために単位時間あたりに進む時刻を調整し、徐々に同期します。

※ 注意事項
○ 時刻の補正に時間がかかります
○ 他のシステム、または日本標準時との間で最大 1 秒程度のずれが生じます

  • 時刻補正を行っていない場合

時刻補正用のパッケージを使用していない場合は、設定するタイムゾーンにより動作が異なります。

    • Asia/Tokyo タイムゾーンを使用する場合

Asia/Tokyo タイムゾーンでは、うるう秒の調整が行われず、うるう秒が挿入された後に標準時と 1 秒の差が生じます。

    • right/Asia/Tokyo タイムゾーンを使用する場合

tzdata パッケージを最新にアップデートし、タイムゾーンを right/Asia/Tokyo に設定することでうるう秒への対応が行われます。最新の tzdata パッケージに更新しない場合、うるう秒への調整が行われず、うるう秒が挿入された後に標準時と時差が生じます。

※ 注意事項
○ タイムゾーンとして right/Asia/Tokyo を設定することで、いわゆる UNIX 時刻と協定世界時 (UTC) や日本標準時 (JST) などのローカル時刻との関係が変更され、相互変換時にうるう秒などが考慮されます。これによって、お使いのソフトウェアによっては問題が発生するおそれがあります。

参考情報: 時刻補正の方式を確認する方法

時刻補正をどのように行っているかを確認するには、関連パッケージがインストールされているか、また、該当するサービスが有効にされているかを確認します。

パッケージがインストールされているか確認するには、以下のコマンドを実行してください。パッケージがインストールされている場合は、パッケージ名とバージョンが表示されます。

$ rpm -q パッケージ名

chrony パッケージがインストールされているか確認するには、以下のコマンドを実行してください。インストールされている場合、以下のように表示されます。

(例)

$ rpm -q chrony
chrony-2.1.1-1.0.1.el7.AXS7.x86_64

chrony パッケージがインストールされているか確認するには、以下のコマンドを実行してください。パッケージがインストールされている場合、パッケージ名とバージョンが表示されます。

(例)

$ rpm -q chrony
chrony-2.1.1-1.0.1.el7.AXS7.x86_64

どちらもインストールされていない場合、上記「時刻補正を行っていない場合」を参照してください。

インストールされているパッケージに関して、実行中のサービスを確認してください。実行中のサービスを確認するには以下のコマンドを実行してください。実行されている場合、Active の内容が "active (running)" と表示されます。その結果より上記の該当する項を参照してください。

$ systemctl status サービス名

chrony パッケージが提供する chronyd サービスが実行されているか確認するには、以下のコマンドを実行してください。実行している場合は以下のように表示されます。

$ systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 水 2016-09-07 14:25:05 JST; 3 weeks 5 days ago
 :
 :

ntp パッケージが提供する ntpd サービスが実行されているか確認するには、以下のコマンドを実行してください。実行している場合は以下のように表示されます。

$ systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 月 2016-10-03 17:46:54 JST; 8s ago
 :
 :

参照 URL

総務省「うるう秒」挿入のお知らせ
http://www.soumu.go.jp/menu_news/s-news/01tsushin03_02000177.html

注意事項

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。
本ドキュメントの内容は、予告なしに変更される場合があります。
本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
本ドキュメントの内容に基づき、導入、設定、運用を行ったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

更新履歴

2016年11月01日 新規作成
2016年12月27日 chronyd と ntpd の step モードについて追記
2016年12月28日 kernel のアップデートについて追記

Asianux Server 7 == MIRACLE LINUX V7 サポートRSS

サポート関連情報RSS