Computer and Network/computers/うるう秒対応
2012.07.01 におけるうるう秒挿入に対し、以下の対応を行いました。
手順
同期はとれていたのでリブートの必要がないと思われるが一応マシンリブート
以下、廣田さんのメール 2012.06.16 [aste-comp 67080] Re: うるう秒について
廣田です。
連続波カメラのソフト開発で、時刻系についていろいろ調べる必要があったので、そこで得た知識を元に 推測を交えてコメントします。
閏秒対応で考慮に入れなければならないコンポーネントは、
1. GPS時計装置 (とそれにNTPでぶら下がる装置)
閏秒(23:59:60)の挿入に伴い、UTC-TAIのオフセットが変わる、(閏秒対応システムであれば)Unix time計算用のカウンタが一増える、 などの影響がでます。GPS時計装置は衛星から「そろそろ閏秒が入る」という情報をもらっており、ntpのパケット内にその情報を含めて、 配下のマシン(aste-2c)に配信しています (aste-2c上でntpq -c rvで、leap indicatorの情報を見ることができます)。
閏秒が入るときのシステムの対応としては、1) 23:59:60を挿入する or 2) 一秒の長さを微妙に変化させてやり過ごす、の2種類があります (システムの実装依存)。
どちらにせよ、システムの挙動にやっかいな影響を及ぼし得るので、閏秒を跨ぐ時間帯はシステムをシャットダウンする、閏秒挿入後に システムを再起動するという対応が良いと思います。
NTPの構成は以下のようになっているので、
GPS時計装置(stratum=0) -> aste-2c(stratum=1) -> (他のマシン:aste-1c, aste-3c, aste-1x, etc, stratum=2)
各マシンの再起動後、一時間ぐらい放置してntp同期が落ち着くのを待つという手順で良いと思います。
# 各マシン上で、ntpq -pとしたときに、delayが0.3程度, dispが0.03程度になっていたらOKだと思います。
2. エコー計測器
この装置は、外部から閏秒の情報を得る知性が無い(と思われる)ので、手動で閏秒挿入を知らせてやる必要があると思います。 (確か)パネル全面に閏秒挿入用のスイッチがあったので、閏秒挿入後にそのスイッチを一回手動で入れてやる必要があると 思います。
# 想像が正しければ、パネル全面の時刻表示が一秒戻るはずです。
キャビン内に一人、観測コンテナに一人配置して、時刻表示をトランシーバで確認しながら作業を進める必要があると思います。
3. time.dat
UTCの閏秒挿入に伴い、TAI-UTC間のoffsetが34秒から35秒に変化します
http://maia.usno.navy.mil/ser7/tai-utc.dat
今aste-1c, aste-2cなどのtime.datをチェックしてみたら、
aste-1c{asteobs}51: tail /cosmos3/aste/etc/time.dat 20121128, 56259, 34, -0.675 20121129, 56260, 34, -0.676 20121130, 56261, 34, -0.676 20121201, 56262, 34, -0.676 20121202, 56263, 34, -0.677 20121203, 56264, 34, -0.677 20121204, 56265, 34, -0.678 20121205, 56266, 34, -0.679 20121206, 56267, 34, -0.680 20121207, 56268, 34, -0.681
と2012/07/01でもTAI-UTCのオフセットが34秒のままとなっているので、アップデートが必要です。
# 別件ですが、time.datに記載されているUTC-UT1オフセットはあくまで過去のトレンドから外挿した予測値なので、time.datはある
# 程度頻繁にアップデートした方が良いのではと思います。
# time.dat作成に必要な情報は、http://maia.usno.navy.mil/ser7/tai-utc.dat, http://maia.usno.navy.mil/ser7/finals2000A.data
# から収集できます。