IBM Support

2017年1月1日のうるう秒のAIX,VIOS,HMCおよびPowerKVMへの影響について

Flashes (Alerts)


Abstract

2017年1月1日に 1年半ぶりにうるう秒の調整が実施されます。この、AIX, VIOS および HMCにおける影響について記載します。

Content

更新ログ


更新ログ
(2016/12/05 15:45) slewalwaysの記述を修正


2017年1月1日に 1年半ぶりにうるう秒の調整が実施されます。
今回の調整は、日本標準時 (JST) 2017年1月1日午前8時59分59秒と午前9時00分00秒の間に、「午前8時59分60秒」を挿入する事で調整が行われます。
これに際して、うるう秒の AIX, VIOS および HMCにおける影響について記載します。


■AIX, VIOS におけるうるう秒対応、NTPデーモンによる補正について

AIX, VIOS の管理する UNIX時間はうるう秒に対応しておらず、「8時59分60秒」は存在していません。
NTPデーモンが稼動しており、上位のサーバよりうるう秒実施予告情報を得た場合には、午前9時を経過したタイミングでシステムの時刻を 1秒戻す調整が行われます。
  • デフォルトでは、9:00経過後に時刻を1秒前に戻す補正が行われます。1秒よりも短い間隔でタイムスタンプを取得しているアプリケーションでは、時刻の戻りが検出される可能性があります。
  • NTPデーモンを -x オプション付きで実行した場合、または ntp.conf ファイルに "slewalways yes" を設定した場合は、9:00経過後に時刻を 1秒前にずらす処理が行われます。細かく時刻を戻すことで見かけ上の時刻をずらすような処理が行われており、よほど短い間隔(0.99ミリ秒以内)でタイムスタンプを取得しない限り、この微小な時刻の戻りが確認されることはありません。
  • AIX において、gettimeofday() を使って時刻を取得する際、環境変数 GETTOD_ADJ_MONOTONIC の値を「1」に設定しておくと上記の時刻の戻りが見えないようになります。詳細はマニュアル(Knowledge Center)の gettimeofday( )の説明を参照してください。

gettimeofday, settimeofday, or ftime Subroutine
http://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/com.ibm.aix.basetrf1/gettimeofday.htm

AIX Expansion Pack に含まれる NTPv4 (ntp.rte) は AIX6.1はバージョン6.1.6.4、AIX7.1, AIX7.1は7.1.0.4 より前のバージョンではうるう秒を認識しません。
よって事前に Leap Indicator の予告情報を受け取っていても、うるう秒挿入のタイミング(2017年1月1日午前9時00分00秒)での時刻補正は行われません。
そのため、2017年1月1日午前9時00分00秒以降、うるう秒に対応している上位の NTP サーバーや周囲のシステムと 1秒の差が生じることになります。
この時刻差は上位の NTP サーバーとの時刻差として認識され、時刻補正が行われます。
  • 標準で導入されるNTP バージョン3では当問題は発生しません。NTP バージョン4の利用には拡張パックからの追加導入が必要となります。
  • 拡張パックのダウンロードサイトより、本障害の修正を含む最新版のファイルセットが入手可能となっています。AIX6.1はバージョン6.1.6.4以降、AIX7.1, AIX7.2は7.1.0.4以降を利用ください。

AIX Web Download Pack Programs
http://www.ibm.com/services/forms/reg/pick.do?source=aixbp&lang=en_US
  • VIOS は通常、時刻同期が強く推奨されることはありません。VIOS ではうるう秒の挿入による仮想化機能への影響はありません。
  • Shared Storage Pool (SSP) を使用している場合、VIOS は SSP クラスター内で NTP による時刻同期が推奨されています。この場合、うるう秒の挿入が実施されると NTP により徐々に時刻同期が行われます。


参考情報:
Leap Second Information for AIX
http://www.ibm.com/support/docview.wss?uid=isg3T1022057
Leap second and VIO Server
http://www.ibm.com/support/docview.wss?uid=isg3T1024425


■HMC のうるう秒対応について

HMC においても AIX, VIOS と同様に UNIX 時間はうるう秒に対応していません。
HMC においても NTP による時刻同期はサポートされており、上位のサーバよりうるう秒実施予告情報を得た場合には、午前9時を経過したタイミングでシステムの時刻を 1秒戻す調整が行われます。

HMC における NTP の設定方法につきましては、以下の文書を参照ください。

How to Synchronize HMC Clock with a Network Time Protocol (NTP) Time Server
http://www.ibm.com/support/docview.wss?uid=nas8N1015481

HMC については V7 R780, V7 R790 に対してうるう秒の挿入時にシステムハングやパフォーマンス低下が発生する可能性があります。
HMC V7 R780, V7 R790 については 2017年1月1日時点ではサポートが終了していますので、HMC V8 R830 以降へのバージョンアップをご検討ください。

障害の発生するバージョンPTFの前提レベル修正が提供されるPTF
HMC V7 R790HMC V7 R790 SP2MH01519
HMC V7 R780HMC V7 R780 SP2MH01518
HMC V7 R770HMC V7 R780 SP4MH01516

PTF を適用できない場合の回避策として、うるう秒挿入の24時間より前、すなわち 1/1 の 9:00 AM より前に NTP を SLEW モードに変更する方法があります。
HMC の NTP を SLEW モードに変更するためにはハードウェア・サポートに連絡し、HMC の M/T, S/N, 作業日を伝え、one day passcode を入手する必要があります。


■PowerKVM のうるう秒対応について

PowerKVM は 2017年10月時点で tzdata の更新パッケージは提供されておらず、うるう秒に対応していません。
PowerKVM においても NTP による時刻同期はサポートされており、上位のサーバよりうるう秒実施予告情報を得た場合には、午前9時を経過したタイミングでシステムの時刻を 1秒戻す調整が行われます。

<参考情報> うるう秒について

■うるう秒について

2017年1月1日に、うるう秒の調整が行われるとの発表がなされています。今回のうるう秒の調整は、「協定世界時 (注1)」に1秒のうるう秒を挿入するものです。
これは、地球の公転・自転に基づき時刻を決める「世界時 (注2)」と、「協定世界時」とのずれが0.9秒に近づいたために行われる調整です。
「協定世界時」は1秒の長さを原子時計に基づく「国際原子時 (注3)」と同じとし、その上で「世界時」との差が0.9秒以上にならないように調整されたものです。
地球の自転速度が不規則なため、うるう秒調整の実施は必要に応じて行われ、いつ行われるかはわかりません(今回は3年ぶりのうるう秒調整です)。
今回の調整は、日本標準時 (JST) における2017年1月1日午前8時59分59秒と午前9時00分00秒の間に、「午前8時59分60秒」を挿入して行われます。


■用語の説明

注1:協定世界時 (UTC)
   国際原子時 (TAI) をもとに、世界時 (UT1) から0.9秒以上ずれないように調整した時系です。
   世界時(UT1)から0.9秒以上ずれないようにするために行われる調整がうるう秒です。
   現在の協定世界時は1972年から運用が開始されており、1972年1月1日0時の時点で国際原子時とのずれを10秒として開始されました。
   現時点では、「協定世界時」は「国際原子時」から36秒遅れていますが、2017年1月1日の調整以降は、37秒遅れていることになります。
   日本標準時 (JST) は、協定世界時を9時間進めたものです。

注2:世界時 (UT)
   地球の自転・公転に基づく時系で、天文観測から得られる時間をもとにしています。
   厳密には、UT0、UT1、UT2の三種類あります。
   UT0:平均太陽時と呼ばれるもので、天文観測によって得られる恒星時から計算で求められます。地球上の位置・季節により変動します。
   UT1:UT0から、地球上の位置による変動を取り除いたものです。
   UT2:UT1から、季節変動による影響を取り除いたものです。

注3:国際原子時 (TAI)
   1秒を定義して、常に一定の時間間隔で時が進みます。
   各国に置かれている原子時計の平均として決定されている時系で、1958年1月1日0時に世界時と一致させて始まっています。


■NTPによるうるう秒情報の配布

うるう秒が発生する年は事前に決められているわけではありません。
そのため、何らかの時刻合わせを行わない場合、正のうるう秒による調整直後には、システムの時刻は日本 標準時に対して1秒進んでいる (もしくは、負のうるう秒による調整の場合は1秒遅れている) ことになります。
この時刻を再び日本標準時に合わせる方法としては、以下の2つの方法があります。
1. 手動でうるう秒調整後の時刻にあわせる。
2. Network Time Protocol (NTP) を利用する。

NTPパケットの中のLI (Leap Indicator) ビットがうるう秒に関する情報を示しており、以下の4種類の値のどれかがセットされています。

00 うるう秒調整は発生しません (時刻は通常どおり)
01 正のうるう秒調整が発生します (UTC 23時59分60秒がある)
10 負のうるう秒調整が発生します (UTC 23時59分59秒がない)
11 うるう秒についての情報を持っていません (時刻が同期してない)

LIビットの値は NTPプロトコルに従って、上位のNTPサーバーから下位のNTPサーバーへと伝達されていきます。
上位のNTPサーバーがうるう秒に対応していれば、NTPによりうるう秒調整の情報が配布されますので、その情報を元に調整が行われます。
但し、たとえNTPを利用していても、上位のNTPサーバーがうるう秒に対応していない場合には、うるう秒調整が行われていないシステムと同様の動きになります。

2017年1月1日の「うるう秒」調整のために、2016年12月31日よりLIビットが"01"となります。なおNTPサーバーはLIビットをセットするだけで、それ以外はなにもしません。
そして2017年1月1日の9時 (JST) に解除されます。




以上

[{"Product":{"code":"SWG10","label":"AIX"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"}],"Version":"Not Applicable","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}},{"Product":{"code":"SSO02QC","label":"IBM Virtual I\/O Server"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Not Applicable","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}},{"Product":{"code":"SGGSNP","label":"Hardware Management Console V9"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Historical Number

B169D125C47C4E7C4925805A002D7CB2

Product Synonym

対象システム:AIX;VIOS;Power Systems;HMC;PowerKVM

Document Information

Modified date:
25 September 2022

UID

jpn1J1013207