ヘッダをスキップ   製品サポート情報      製品使用上の重要なお知らせ
 
ページタイトル

製品使用上の注意事項

製品使用上の重要な注意事項をお知らせします。
 

2015年6月18日

事例1:RHEL6うるう秒の挿入によりOSのハングアップが発生する問題
事例2:RHEL6うるう秒の挿入によりアプリケーションのCPU利用率が高騰する問題
事例3:RHEL6ntpdをslewモードで動作させている状態でも、うるう秒が挿入される問題
事例4:RHEL4うるう秒の挿入によりOSのハングアップが発生する問題
事例5:RHEL5うるう秒の挿入によりOSのハングアップが発生する問題
事例6:RHEL6うるう秒挿入時にTAIオフセットの追加が遅れる問題
事例7:RHEL6うるう秒挿入時にタイマーが意図とした時刻に動作しない問題

事例1:RHEL6うるう秒の挿入によりOSのハングアップが発生する問題


[対象製品]



Red Hat Enterprise Linux 6 (x86)、Red Hat Enterprise Linux 6 (x86_64)

[現象]



Leap Indicatorの配信を実施するNTPサーバと時刻同期をしている環境において、うるう秒が挿入される24時間前から、うるう秒が挿入されるまでの間にOSがハングアップすることがあります。

[発生条件]



次の条件のすべてに該当する場合に、タイミングにより本現象が発生することがあります。

  1. kernelのバージョンが2.6.32-279.5.2.el6(RHEL6.3セキュリティアップデート)未満である。※1
  2. Leap Indicatorの配信をするNTPサーバと時刻同期をしている。※2
  3. うるう秒が挿入される24時間前から、うるう秒が挿入されるまでの間にシステムが稼働している。
  4. うるう秒が挿入される24時間前から、NTPクライアントをstepモードで動作させている。※3

※1:
2.6.32-279.5.2.el6未満であっても、2.6.32-220.25.1.el6以降のRHEL6.2 EUS(Extended Update Support)カーネルであれば本現象は発生しません。
なお、RHEL6.2 EUSカーネルを入手するためには、サポートサービス(24) for Red Hat Enterprise Linux Server 6 / Advanced Editionのご契約が必要となります。

※2:
利用しているNTPサーバが、Leap Indicatorの配信を実施するかはNTPクライアントから確認する方法はありません。そのため、Leap Indicatorの配信を実施するかはNTPサーバにて確認してください。

※3:
NTPクライアントの動作モードは次のコマンドで確認することができます。ntpdの引数に-xオプションが付いていない場合はstepモードで動作しています。

# ps auxww | grep ntpd

△(出力例)stepモードで動作している場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g

△(出力例)stepモードで動作していない場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g -x


[原因]



カーネルの不具合です。
カーネルに対してうるう秒挿入を指示するadjtimexシステムコールにロック取得順序の誤りがあるため、同じロックを取得するsleepシステムコールなどのタイマー登録処理が同時に動いた場合にデッドロックが発生し、OSがハングアップすることがあります。


[回避方法]



次のどちらかの方法により、回避することができます。

  1. うるう秒挿入時刻の24時間前までに、ntpdサービスをslewモードで起動する。

    1. /etc/sysconfig/ntpdファイルのOPTION行に"-x"を追加します。

      ▲(例)
      OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -x"

    2. ntpdサービスを再起動します。

      # service ntpd restart

  2. うるう秒挿入時刻の24時間前までに、ntpdサービスを停止する。

    次の手順でうるう秒挿入の前処理(Leap Indicatorの受信)が実施されるまでに時刻同期(ntpdサービス)を停止し、うるう秒挿入が実施されるまでntpdサービスを起動しないことで回避することができます。

    1. うるう秒挿入時刻の24時間前までに、次のコマンドでntpdサービスを停止します。

      # service ntpd stop

    2. うるう秒挿入時刻を経過した後、システムの時刻が1秒未来を示しているためシステムの時刻を補正します。なお、次のコマンドはシステムの時刻を強制的に1秒戻すため、時刻戻りの影響を受けるソフトウェアを停止してから実行してください。

      # service ntpdate start

    3. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。

      # service ntpd start


[対策方法]



■サポートサービス(24) for Red Hat Enterprise Linux Server 6 / Advanced Editionを契約していない場合

RHEL6.3セキュリティアップデートに含まれる次のパッケージをインストールしてください。

[注意]
弊社製サーバに対応した一部のデバイスドライバや、一部の日立オープンミドルウェア製品が次のパッケージに対応していないことがあります。次のパッケージへの対応状況などにつきましてはサポートサービス窓口までお問い合わせください。
また、対応するデバイスドライバが提供されていない弊社製サーバをご利用している場合は、回避策を適用するか、改良版メディア(RHEL6.4以降)の適用をお願いします。

[x86の場合]

kernel-2.6.32-279.5.2.el6.i686.rpm

[x86_64の場合]

kernel-2.6.32-279.5.2.el6.x86_64.rpm

修正パッケージの概要については、次を参照してください。

Errata http://rhn.redhat.com/errata/RHBA-2012-1199.html

■サポートサービス(24) for Red Hat Enterprise Linux Server 6 / Advanced Editionを契約している場合

RHEL6.2 EUSカーネルに含まれる次のパッケージをインストールしてください。

[注意]

弊社製サーバに対応した一部のデバイスドライバや、一部の日立オープンミドルウェア製品が次のパッケージに対応していないことがあります。次のパッケージへの対応状況などにつきましてはサポートサービス窓口までお問い合わせください。

[x86の場合]

kernel-2.6.32-220.25.1.el6.i686.rpm

[x86_64の場合]

kernel-2.6.32-220.25.1.el6.x86_64.rpm

修正パッケージの概要については、次を参照してください。

Errata http://rhn.redhat.com/errata/RHBA-2012-1198.html


[その他]



本不具合の詳細は、次を参照してください。

Bugzilla #836748:livelock in leapsecond insertion



↑ページトップへ

事例2:RHEL6うるう秒の挿入によりアプリケーションのCPU利用率が高騰する問題


[対象製品]



Red Hat Enterprise Linux 6 (x86)、Red Hat Enterprise Linux 6 (x86_64)

[現象]



Leap Indicatorの配信を実施するNTPサーバと時刻同期をしている環境において、うるう秒の挿入以降、タイマーが本来よりも1秒早くタイムアウトしてしまうことがあります。この影響で、1秒以内のタイムアウト値を指定するアプリケーションが動作している場合、そのアプリケーションのCPU使用率(%usr)が高騰することがあります。
Red Hat社の事例ではjavaプロセスやmysqlプロセスのCPU使用率が高騰したと報告されていますが、日立オープンミドルウェア製品にてCPU使用率が高騰した事例は報告されておりません。


[発生条件]



次の条件のすべてに該当する場合に、本現象が発生することがあります。

  1. kernelのバージョンが2.6.32-279.5.2.el6(RHEL6.3セキュリティアップデート)未満である。※1
  2. Leap Indicatorの配信をするNTPサーバと時刻同期をしている。※2
  3. うるう秒の挿入時にNTPクライアントをstepモードで動作させている。※3
  4. 1秒以内のタイムアウト値を指定してfutexシステムコールやtimerfd_settimeシステムコールを実行するアプリケーションが動作している。※4

※1:
2.6.32-279.5.2.el6未満であっても、2.6.32-220.25.1.el6以降のRHEL6.2 EUS(Extended Update Support)カーネルであれば本現象は発生しません。
なお、RHEL6.2EUSカーネルを入手するためには、サポートサービス(24) for Red Hat Enterprise Linux Server 6/Advanced Editionのご契約が必要となります。

※2:
利用しているNTPサーバが、Leap Indicatorの配信を実施するかはNTPクライアントから確認する方法はありません。そのため、Leap Indicatorの配信を実施するかはNTPサーバにて確認してください。

※3:
NTPクライアントの動作モードは次のコマンドで確認することができます。ntpdの引数に-xオプションが付いていない場合はstepモードで動作しています。

# ps auxww | grep ntpd

△(出力例)stepモードで動作している場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g

△(出力例)stepモードで動作していない場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g -x

※4:
futexシステムコールについては、オペレーションを指定する引数に、FUTEX_CLOCK_REALTIME、FUTEX_LOCK_PIもしくはFUTEX_TRYLOCK_PIを指定した場合に該当します。
また、timerfd_settimeシステムコールについては、timerfd_createシステムコール実行時に、タイマーの進捗を管理するクロックとしてCLOCK_REALTIMEを指定している場合に該当します。


[原因]



カーネルの不具合です。
うるう秒の挿入処理に、タイムアウト時刻を補正する変数の値を更新しない不具合がありました。
この不具合により、うるう秒の挿入以降、タイマーが本来よりも1秒早くタイムアウトしてしまうことがあります。
この影響で、1秒以内のタイムアウト値を指定するアプリケーションが動作している場合、即時にタイムアウトをしてしまうため、そのアプリケーションのCPU使用率(%usr)が高騰することがあります。


[回避方法]



次の手順でうるう秒挿入の前処理(Leap Indicatorの受信)が実施されるまでに時刻同期(ntpdサービス)を停止し、うるう秒挿入が実施されるまでntpdサービスを起動しないことで回避することができます。

  1. うるう秒挿入時刻の24時間前までに、次のコマンドでntpdサービスを停止します。
    # service ntpd stop

  2. うるう秒挿入時刻を経過した後、システムの時刻が1秒未来を示しているためシステムの時刻を補正します。
    次のコマンドはシステムの時刻を強制的に1秒戻すため、時刻戻りの影響を受けるソフトウェアを停止してから実行してください。
    なお、次のコマンドによる時刻補正では本現象は発生しません。

    # service ntpdate start

  3. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。
    # service ntpd start


[発生時の対処方法]



システムを再起動、もしくは次の手順でntpdateを実行して時刻を再設定することで現象から回復することができます。

  1. 次のコマンドでntpdサービスを停止します。

    # service ntpd stop
  2. システムの時刻をNTPサーバの時刻で補正します。次のコマンドはシステムの時刻を強制的に変更するため、時刻進み・戻りの影響を受けるソフトウェアを停止してから実行してください。

    # service ntpdate start
  3. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。

    # service ntpd start

[補足]
現象が発生していることを確認するコマンドはありません。
そのため、うるう秒が挿入されてから1度もシステムを再起動していない場合は、現象が発生している可能性がありますので現象から回復させるために本手順の実施をお勧めします。


[対策方法]



■サポートサービス(24) for Red Hat Enterprise Linux Server 6/Advanced Editionを契約していない場合

RHEL6.3セキュリティアップデートに含まれる次のパッケージをインストールしてください。

[注意] 弊社製サーバに対応した一部のデバイスドライバや、一部の日立オープンミドルウェア製品が次のパッケージに対応していないことがあります。次のパッケージへの対応状況などにつきましてはサポートサービス窓口までお問い合わせください。
また、対応するデバイスドライバが提供されていない弊社製サーバをご利用している場合は、回避策を適用するか、改良版メディア(RHEL6.4以降)の適用をお願いします。

[x86の場合]

kernel-2.6.32-279.5.2.el6.i686.rpm

[x86_64の場合]

kernel-2.6.32-279.5.2.el6.x86_64.rpm

修正パッケージの概要については、次を参照してください。
Errata http://rhn.redhat.com/errata/RHBA-2012-1199.html

■サポートサービス(24) for Red Hat Enterprise Linux Server 6/Advanced Editionを契約している場合

RHEL6.2 EUSカーネルに含まれる次のパッケージをインストールしてください。

[注意]
弊社製サーバに対応した一部のデバイスドライバや、一部の日立オープンミドルウェア製品が次のパッケージに対応していないことがあります。
次のパッケージへの対応状況などにつきましてはサポートサービス窓口までお問い合わせください。

[x86の場合]

kernel-2.6.32-220.25.1.el6.i686.rpm

[x86_64の場合]

kernel-2.6.32-220.25.1.el6.x86_64.rpm

修正パッケージの概要については、次を参照してください。
Errata http://rhn.redhat.com/errata/RHBA-2012-1198.html


[その他]




本不具合の詳細は、次を参照してください。
Bugzilla #836803:RHEL6: Potential fix for leapsecond caused futex related load spike


↑ページトップへ

事例3:RHEL6ntpdをslewモードで動作させている状態でも、うるう秒が挿入される問題


[対象製品]



Red Hat Enterprise Linux 6 (x86)、Red Hat Enterprise Linux 6 (x86_64)

[現象]



ntpdをslewモードで動作させている状態でも、うるう秒が挿入されるタイミングで時刻戻りが発生することがあります。


[発生条件]



次の条件のすべてに該当する場合に、本現象が発生します。

  1. ntpのバージョンが4.2.6p5-1.el6(RHEL6.5)または4.2.6p5-2.el6_6(RHEL6.6セキュリティアップデート)である。
  2. Leap Indicatorの配信をするNTPサーバと時刻同期をしている。※1
  3. うるう秒が挿入されるタイミングでntpdをslewモードで動作させている。※2

※1:
利用しているNTPサーバが、Leap Indicatorの配信を実施するかはNTPクライアントから確認する方法はありません。そのため、Leap Indicatorの配信を実施するかはNTPサーバにて確認してください。

※2:
NTPクライアントの動作モードは次のコマンドで確認することができます。ntpdの引数に-xオプションが付いている場合はslewモードで動作しています。

# ps auxww | grep ntpd

△(出力例)slewモードで動作している場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g -x

なお、ntpdの引数に-xオプションが付いていない場合でも、/etc/ntp.confファイルのtinker stepオプションに0.5より大きい値、または0を設定している場合は、本条件に該当します。

△(設定例)/etc/ntp.conf

tinker step 1


[原因]



ntpdの不具合です。
ntpdをslewモードで動作させている場合は、本来うるう秒が挿入されてもシステム時刻にうるう秒は挿入されませんが、不具合によりうるう秒が挿入されます(時刻戻りが発生します)。

[注意]
ntpdをslewモードではなく、stepモードで動作させている場合は、うるう秒が挿入された時点でシステム時刻を強制的に1秒戻し、08:59:59が2回発生します。この動作は、ntpの不具合ではありません。
うるう秒が挿入された場合、/var/log/messagesファイルに次のメッセージが出力されます。

kernel: Clock: inserting leap second 23:59:60 UTC


[回避方法]



うるう秒挿入のタイミングでntpdサービスを停止させていることにより、本現象を回避することができます。

  1. うるう秒挿入時刻以前に、次のコマンドでntpdサービスを停止します。

    # service ntpd stop

  2. うるう秒挿入時刻を経過した後、NTPサーバとのずれを補正します。なお、次のコマンドはシステム時刻を強制的に補正するため、時刻補正の影響を受けるソフトウェアを停止してから実行してください。

    # service ntpdate start

    なお、本手順を省略した場合は、ntpd起動後にslewモードで時刻を補正することになり、時刻戻りは回避できます。
    ただし、/etc/ntp.confファイルのtinker stepオプションに0以外の小さい値を設定している場合は、システム時刻のずれの状態によってはstepモードで時刻が補正されてしまい、時刻戻りが発生してしまう可能性があります。

  3. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。
    # service ntpd start


[発生時の対処方法]



なし


[対策方法]



RHEL6.6セキュリティアップデートに含まれる次のパッケージ、もしくはそれ以降のバージョンのパッケージをインストールすることで対策できます。

[x86の場合]

・ntp-4.2.6p5-3.el6_6.i686.rpm
・ntpdate-4.2.6p5-3.el6_6.i686.rpm
・ntp-debuginfo-4.2.6p5-3.el6_6.i686.rpm
・ntp-doc-4.2.6p5-3.el6_6.noarch.rpm
・ntp-perl-4.2.6p5-3.el6_6.i686.rpm

[x86_64の場合]

・ntp-4.2.6p5-3.el6_6.x86_64.rpm
・ntpdate-4.2.6p5-3.el6_6.x86_64.rpm
・ntp-debuginfo-4.2.6p5-3.el6_6.x86_64.rpm
・ntp-doc-4.2.6p5-3.el6_6.noarch.rpm
・ntp-perl-4.2.6p5-3.el6_6.x86_64.rpm

[補足]
次に示すパッケージは、必要に応じてインストールしてください。

・ntp-debuginfo
・ntp-doc
・ntp-perl

修正パッケージの概要については、次を参照してください。

Errata https://rhn.redhat.com/errata/RHBA-2015-0690.html


[その他]




本不具合の詳細は、次を参照してください。
Bugzilla #1199978 ntpd -x steps clock on leap second


↑ページトップへ

事例4:RHEL4うるう秒の挿入によりOSのハングアップが発生する問題


[対象製品]



Red Hat Enterprise Linux 4 (x86)、Red Hat Enterprise Linux 4 (IPF)、Red Hat Enterprise Linux 4 (x86_64)

[現象]



Leap Indicatorの配信を実施するNTPサーバと時刻同期をしている環境において、うるう秒が挿入されるタイミングでOSがハングアップすることがあります。

[発生条件]



次の条件のすべてに該当する場合に、タイミングにより本現象が発生することがあります。

  1. kernelのバージョンが2.6.9-89.EL(RHEL4.8)未満である。
  2. Leap Indicatorの配信をするNTPサーバと時刻同期をしている。※1

※1:
利用しているNTPサーバが、Leap Indicatorの配信を実施するかはNTPクライアントから確認する方法はありません。そのため、Leap Indicatorの配信を実施するかはNTPサーバにて確認してください。


[原因]



カーネルの不具合です。
カーネルは、うるう秒挿入時に次のカーネルメッセージを出力しますが、カーネルメッセージを出力するprintk関数とカーネルのスピンロック処理であるxtime_lockとの間でデッドロックが発生し、OSがハングアップすることがあります。

kernel: Clock: inserting leap second 23:59:60 UTC


[回避方法]



次の手順でうるう秒挿入の前処理(Leap Indicatorの受信)が実施されるまでに時刻同期(ntpdサービス)を停止し、うるう秒挿入が実施されるまでntpdサービスを起動しないことで回避することができます。

  1. うるう秒挿入時刻の24時間前までに、次のコマンドでntpdサービスを停止します。

    # service ntpd stop

  2. うるう秒挿入時刻を経過した後、システムの時刻が1秒未来を示しているためシステムの時刻を補正します。なお、次のコマンドはシステムの時刻を強制的に1秒戻すため、時刻戻りの影響を受けるソフトウェアを停止してから実行してください。

    # ntpdate <NTPサーバのIPアドレス>
  3. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。

    # service ntpd start


[対策方法]



RHEL4.8に含まれる次のパッケージ、もしくはそれ以降のバージョンのパッケージをインストールすることで対策できます。

[x86の場合]

kernel-2.6.9-89.EL.i686.rpm

[x86_64の場合]

kernel-2.6.9-89.EL.x86_64.rpm

[IPFの場合]

kernel-2.6.9-89.EL.ia64.rpm

修正パッケージの概要については、次を参照してください。

Errata https://rhn.redhat.com/errata/RHSA-2009-1024.html


[その他]



本不具合の詳細は、次を参照してください。

Bugzilla #479764 Leap second message can hang the kernel



↑ページトップへ

事例5:RHEL5うるう秒の挿入によりOSのハングアップが発生する問題


[対象製品]



Red Hat Enterprise Linux 5 (x86)、Red Hat Enterprise Linux 5 (IPF)、Red Hat Enterprise Linux 5 (x86_64)

[現象]



Leap Indicatorの配信を実施するNTPサーバと時刻同期をしている環境において、うるう秒が挿入されるタイミングでOSがハングアップすることがあります。

[発生条件]



次の条件のすべてに該当する場合に、タイミングにより本現象が発生することがあります。

  1. kernelのバージョンが2.6.18-164.el5(RHEL5.4)未満である。
  2. Leap Indicatorの配信をするNTPサーバと時刻同期をしている。※1
  3. うるう秒が挿入される24時間前から挿入されるまでの間に、ntpdをstepモードで動作させている。※2

※1:
利用しているNTPサーバが、Leap Indicatorの配信を実施するかはNTPクライアントから確認する方法はありません。そのため、Leap Indicatorの配信を実施するかはNTPサーバにて確認してください。

※2:
NTPクライアントの動作モードは次のコマンドで確認することができます。ntpdの引数に-xオプションが付いていない場合はstepモードで動作しています。

# ps auxww | grep ntpd

△(出力例)stepモードで動作している場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g

△(出力例)stepモードで動作していない場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g -x

なお、ntpdの引数に-xオプションが付いていない場合でも、/etc/ntp.confファイルのtinker stepオプションに0.5より大きい値、または0を設定している場合は、本条件に該当しません。

△(設定例)/etc/ntp.conf

tinker step 0

また、ntpのバージョンがntp-4.2.2p1-9.el5未満の場合は、設定にかかわらず本条件に該当します。


[原因]



カーネルの不具合です。
カーネルは、うるう秒挿入時に次のカーネルメッセージを出力しますが、カーネルメッセージを出力するprintk関数とカーネルのスピンロック処理であるxtime_lockとの間でデッドロックが発生し、OSがハングアップすることがあります。

kernel: Clock: inserting leap second 23:59:60 UTC


[回避方法]



次のどちらかの方法により、回避することができます。

  1. うるう秒挿入時刻の24時間前までに、ntpdサービスをslewモードで起動する。

    本回避策は、ntpのバージョンがntp-4.2.2p1-9.el5以降の場合に有効です。
    1. /etc/sysconfig/ntpdファイルのOPTION行に"-x"を追加する、または/etc/ntp.confファイルのtinker stepオプションに0.5より大きい値、または0を設定する。

      ▲(例)/etc/sysconfig/ntpd
      OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -x"

      ▲(例)/etc/ntp.conf
      tinker step 0

    2. ntpdサービスを再起動します。

      # service ntpd restart

  2. うるう秒挿入時刻の24時間前までに、ntpdサービスを停止する。

    次の手順でうるう秒挿入の前処理(Leap Indicatorの受信)が実施されるまでに時刻同期(ntpdサービス)を停止し、うるう秒挿入が実施されるまでntpdサービスを起動しないことで回避することができます。

    1. うるう秒挿入時刻の24時間前までに、次のコマンドでntpdサービスを停止します。

      # service ntpd stop

    2. うるう秒挿入時刻を経過した後、システムの時刻が1秒未来を示しているためシステムの時刻を補正します。なお、次のコマンドはシステムの時刻を強制的に1秒戻すため、時刻戻りの影響を受けるソフトウェアを停止してから実行してください。

      # ntpdate <NTPサーバのIPアドレス>

    3. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。

      # service ntpd start


[対策方法]



RHEL5.4に含まれる次のパッケージ、もしくはそれ以降のバージョンのパッケージをインストールすることで対策できます。

[x86の場合]

kernel-2.6.18-164.el5.i686.rpm

[x86_64の場合]

kernel-2.6.18-164.el5.x86_64.rpm

[IPFの場合]

kernel-2.6.18-164.el5.ia64.rpm

修正パッケージの概要については、次を参照してください。

Errata https://rhn.redhat.com/errata/RHSA-2009-1243.html


[その他]



本不具合の詳細は、次を参照してください。

Bugzilla #479765 Leap second message can hang the kernel



↑ページトップへ

事例6:RHEL6うるう秒挿入時にTAIオフセットの追加が遅れる問題


[対象製品]



Red Hat Enterprise Linux 6 (x86)、Red Hat Enterprise Linux 6 (x86_64)

[現象]



TAIオフセットを利用しているアプリケーションにおいて、うるう秒挿入時にTAIオフセットの追加が遅れる問題が発生し、正確な時刻情報を取得できない場合があります。

[発生条件]



次の条件のすべてに該当する場合に、本現象が発生します。

  1. kernelのバージョンが2.6.32-504.23.4.el6(RHEL6.6セキュリティアップデート)未満である。
  2. アプリケーションでTAIオフセットを利用している。※1
  3. Leap Indicatorの配信をするNTPサーバと時刻同期をしている。※2
  4. うるう秒が挿入される24時間前から挿入されるまでの間に、ntpdをstepモードで動作させている。※3

※1:
TAIオフセットとは、adjtimex()で得られるtimex構造体のtaiフィールドの情報であり、TAI(国際原子時)からの時刻差を示し、うるう秒が挿入されるタイミングで1秒追加されます。

※2:
利用しているNTPサーバが、Leap Indicatorの配信を実施するかはNTPクライアントから確認する方法はありません。そのため、Leap Indicatorの配信を実施するかはNTPサーバにて確認してください。

※3:
NTPクライアントの動作モードは次のコマンドで確認することができます。ntpdの引数に-xオプションが付いていない場合はstepモードで動作しています。

# ps auxww | grep ntpd

△(出力例)stepモードで動作している場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g

△(出力例)stepモードで動作していない場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g -x

なお、ntpdの引数に-xオプションが付いていない場合でも、/etc/ntp.confファイルのtinker stepオプションに0.5より大きい値、または0を設定している場合は、本条件に該当しません。

△(設定例)/etc/ntp.conf

tinker step 0


[原因]



カーネルの不具合です。
ntpdをstepモードで動作させている場合は、うるう秒が挿入された時点でシステム時刻を強制的に1秒戻し、08:59:59が2回発生します。本来、2回目の08:59:59が発生したタイミングでTAIオフセットが1秒追加されなければなりませんが、不具合によりその1秒後の09:00:00のタイミングで追加されてしまう問題が発生します。


[回避方法]



次のどちらかの方法により、回避することができます。

  1. うるう秒挿入時刻の24時間前までに、ntpdサービスをslewモードで起動する。
    1. /etc/sysconfig/ntpdファイルのOPTION行に"-x"を追加する、または/etc/ntp.confファイルのtinker stepオプションに0.5より大きい値、または0を設定する。

      ▲(例)/etc/sysconfig/ntpd
      OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -x"

      ▲(例)/etc/ntp.conf
      tinker step 0

    2. ntpdサービスを再起動します。

      # service ntpd restart

  2. うるう秒挿入時刻までに、ntpdサービスを停止する。

    次の手順でうるう秒挿入のタイミングでntpdサービスを停止させていることにより、本現象を回避することができます。

    1. うるう秒挿入時刻までに、次のコマンドでntpdサービスを停止します。

      # service ntpd stop

    2. 次のコマンドを実行します。

      # ntptime -s 0

    3. うるう秒挿入時刻を経過した後、NTPサーバとのずれを補正します。なお、次のコマンドはシステム時刻を強制的に補正するため、時刻補正の影響を受けるソフトウェアを停止してから実行してください。

      # service ntpdate start

    4. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。

      # service ntpd start


[対策方法]



RHEL6.6セキュリティアップデートに含まれる次のパッケージをインストールしてください。

[注意]
弊社製サーバに対応した一部のデバイスドライバや、一部の日立オープンミドルウェア製品が次のパッケージに対応していないことがあります。次のパッケージへの対応状況などにつきましてはサポートサービス窓口までお問い合わせください。また、対応するデバイスドライバが提供されていない弊社製サーバをご利用している場合は、回避策を適用ください。

[x86の場合]
・kernel-2.6.32-504.23.4.el6.i686.rpm

[x86_64の場合]
・kernel-2.6.32-504.23.4.el6.x86_64.rpm

修正パッケージの概要については、次を参照してください。

Errata https://rhn.redhat.com/errata/RHSA-2015-1081.html


[その他]



本不具合の詳細は、次を参照してください。

Bugzilla 該当する記載なし



↑ページトップへ

事例7:RHEL6うるう秒挿入時に、タイマーが意図とした時刻に動作しない問題


[対象製品]



Red Hat Enterprise Linux 6 (x86)、Red Hat Enterprise Linux 6 (x86_64)

[現象]



タイマーを設定した時刻にうるう秒が挿入されたとき、意図した動作とならないことがあります。それにより、アプリケーションが時刻とおりに動作しない場合があります。

[発生条件]



次の条件のすべてに該当する場合に、本現象が発生します。

  1. うるう秒が挿入される24時間前から挿入されるまでの間に、ntpdをstepモードで動作させている。※1
  2. Leap Indicatorの配信をするNTPサーバと時刻同期をしている。※2

※1:
NTPクライアントの動作モードは次のコマンドで確認することができます。ntpdの引数に-xオプションが付いていない場合はstepモードで動作しています。

# ps auxww | grep ntpd

△(出力例)stepモードで動作している場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g

△(出力例)stepモードで動作していない場合

ntp 7001 0.0 0.0 34452 1760 ? Ss Mar04 0:06 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g -x

なお、ntpdの引数に-xオプションが付いていない場合でも、/etc/ntp.confファイルのtinker stepオプションに0.5より大きい値、または0を設定している場合は、本条件に該当しません。

△(設定例)/etc/ntp.conf

tinker step 0

※2:
利用しているNTPサーバが、Leap Indicatorの配信を実施するかはNTPクライアントから確認する方法はありません。そのため、Leap Indicatorの配信を実施するかはNTPサーバにて確認してください。


[原因]



うるう秒が挿入されることで、カーネルのタイマーが意図しない時刻に動作するカーネルの不具合です。

(例)
08:59:58.0
08:59:59.0
08:59:59.0 <- うるう秒が挿入されたことで意図しない時刻にアプリケーションが動作
09:00:00.0 <- タイマーを設定した時刻


[回避方法]



次のいずれかの方法により、回避することができます。

  1. うるう秒挿入時刻の24時間前までに、ntpdサービスをslewモードで起動する。
    1. /etc/sysconfig/ntpdファイルのOPTION行に"-x"を追加する、または/etc/ntp.confファイルのtinker stepオプションに0.5より大きい値、または0を設定する。

      ▲(例)/etc/sysconfig/ntpd
      OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -x"

      ▲(例)/etc/ntp.conf
      tinker step 0

    2. ntpdサービスを再起動します。

      # service ntpd restart

      [注意]
      ntpのバージョンが4.2.6p5-1.el6(RHEL6.5)または、4.2.6p5-2.el6_6(RHEL6.6セキュリティアップデート)の場合
      ntpdをslewモードで動作させている状態でも、うるう秒が挿入されるタイミングで時刻戻りが発生することがあります。
      対策は、★事例3★を参照してください。
  2. うるう秒挿入時刻までに、ntpdサービスを停止する。

    次の手順でうるう秒挿入のタイミングでntpdサービスを停止させていることにより、本現象を回避することができます。

    1. うるう秒挿入時刻までに、次のコマンドでntpdサービスを停止します。

      # service ntpd stop

    2. 次のコマンドを実行します。

      # ntptime -s 0

    3. うるう秒挿入時刻を経過した後、NTPサーバとのずれを補正します。なお、次のコマンドはシステム時刻を強制的に補正するため、時刻補正の影響を受けるソフトウェアを停止してから実行してください。

      # service ntpdate start

    4. ntpdサービス、および停止していたソフトウェアを起動します。ntpdサービスは次のコマンドで起動することができます。

      # service ntpd start


[対策方法]



なし。


[その他]



本不具合の詳細は、次を参照してください。

Bugzilla 該当する記載なし



↑ページトップへ


更新履歴
2015年 6月18日
事例7を追加しました。
2015年 6月11日
うるう秒起因で発生する障害事例を公開しました。
↑ページトップへ

  • 当ホームページに記載されている製品には、他社開発製品が含まれています。これらの情報については他社から提供、または公開された情報を基にしています。弊社では、情報の正確性および完全性について注意を払っていますが、開発元の状況変化に伴い、当ホームページの記載内容に変更が生じることがあります。

本ページに関する問い合わせ(サポート契約のないお客様はこちらからお問い合わせください。)