4分ぐらい進んでたので、ntp で時刻を修正した。


# date
Fri May  6 22:49:14 JST 2011
 
# ntpdate ntp.nict.jp
 6 May 22:44:52 ntpdate[15398]: step time server 133.243.238.244 offset -262.914510 sec
 
# date
Fri May  6 22:44:52 JST 2011
 
# hwclock --systohc
 
# date
Fri May  6 22:44:54 JST 2011

でも、4分も戻っちゃうってことはいろんなログに影響が出そうでこわい。
進めるんだったら良かったんだけど。
すごくずれてる時は何回かにわけて少しずつ時刻を正確なものに近づけていったほうが無難かも。

ntp.nict.jp についての情報。

* 日本標準時を供給している独立行政法人情報通信研究機構(NICT)によるサービス。
* 公式情報: 日本標準時プロジェクト 公開NTP

* ホスト名での指定を推奨。下記ホスト名を指定すると4台のNTPサーバをラウンドロビンで参照する。

ntp.nict.jp

* stratum 1でありながら個人での利用も認めている。
* 精度は日本標準時に対して10ナノ秒以内。

NTP/推奨公開サーバ - wiki@nothing

自動で微調整して正確な時刻に近づけていくとか。

-x 通常は、オフセットが設定閾値 (デフォルトは 128 ms) より小さい場
合、時刻は徐々に微調整 (slew) されます。設定閾値より大きい場合
に、単に時刻設定 (step) されます。このオプションは全ての場合にお
いて微調整するように強制します。設定閾値を 0 に設定した場合、 -x
オプションの有無に関わらず、また、値に関わらず、全てのオフセット
で時刻設定します。大きな時刻誤差や周波数誤差を扱うために設計され
た時計状態機械を通さずに時刻合わせするため、一般には、これはうま
いやり方ではありません。注意: 微調整の速度は 0.5 ms/s までに制限
されていますので、1 秒調節するのに 2000 秒の償却期間が必要です。
このため、たくさんの秒数を調節するには、償却に数時間や数日を要す
ることもあります。このオプションは -q オプションといっしょに使用
することができます。

NTP はどのように動作するか
ntpd ユーティリティは、設定した 1 個以上のサーバと、指定したポーリング間
隔でメッセージ交換を行ないます。実行を開始する際に、最初の起動か何度目か
の起動かによって、このプログラムはこれらのサーバの多数といくつかのメッ
セージの交換を必要とします。その結果、信号処理と緩和アルゴリズムにより
データを蓄積し、データを整え、時刻設定を行ないます。バーストからネット
ワークを守るため、各サーバに対する初期ポーリング間隔は 0 から 16 秒の間の
ランダムな値で遅らされます。デフォルトの初期ポーリング間隔は 64 秒です。
時計を設定するまでに数分を費やしてしまうことがあります。 ntp.conf(5) に記
述されているように、設定コマンド server で指定するキーワード iburst を使
い、時計設定するまでの初期遅延を減少させることができます。

現代のオペレーティングシステムとハードウェアの大部分は、 time-of-year
(TOY) チップを持っており、電源断の間も時刻を保持しています。マシンが起動
すると、このチップを使いオペレーティングシステムの時刻を初期化します。マ
シンが NTP サーバに対して時刻同期を取った後で、オペレーティングシステムは
そのチップの時刻を必要に応じ修正します。 TOY チップが存在しないか、何らか
の理由で TOY チップの時刻とサーバの時刻の違いが 1000 秒より大きい場合、
ntpd は何か決定的にまずいことが生じたと仮定します。この場合に意味のある動
作は、オペレータが介在し手動で時計を設定することです。この場合、 ntpd は
パニックメッセージをシステムログに出力し実行終了します。 -g フラグはこの
チェックを上書きし、チップの時刻に関わらずサーバの時刻が時計に設定されま
す。しかしながら、CMOS バッテリの故障やクロックカウンタの不調などのハード
ウェアの故障から身を守るために、一度クロックを設定してから誤差が 1000 秒
を越えた場合、いずれにしても ntpd は実行終了します。

通常の状態では、 ntpd は、時刻が実質的に連続に推移し不連続が生じないよう
に、時計を僅かな刻みで修正します。ネットワークの輻輳が著しい状態では、往
復遅延時間の変動 (jitter) が 3 秒を越え、同期距離 (これは、往復遅延時間の
半分と誤差量の項の和) が著しく大きくなる可能性があります。 128ms 以下のサ
ンプルオフセットが存在しない時間間隔が 900 秒を越えないかぎり、 ntpd のア
ルゴリズムでは、128ms を越えるサンプルオフセットを捨てます。オフセットが
どのような値であっても、その後最初に採取されるサンプルが示す値で時計を設
定します。現実には、誤って時刻を設定し間違った警告を発生する率は、この処
理によりほとんどなくなったと言ってもいいほどに減少されます。

この動作の結果として、一度時計が設定されると、ネットワーク経路の輻輳と遅
延時間変動が極めて大きな場合であっても、 128ms を越えた変動は極めてまれに
しか生じません。ときどき、特に ntpd が最初に起動したときには、誤差が
128ms を越えることがあります。ローカル時計の時刻がサーバと比べ 128 秒以上
先に進んでいる場合、これにより、逆向きの時計設定が生じることがあります。
アプリケーションによっては、この動作に耐えられないものもあるかもしれませ
ん。コマンド行に -x オプションを含めている場合、時計の設定は決して行なわ
れません。時刻の微調整のみを行ないます。

-x オプションを使うと決める前に、それによる問題を注意深く調査する必要があ
ります。可能な最大微調整速度は 500 parts-per-million (PPM) に制限されてい
ます。これは、NTP プロトコル設計とアルゴリズム設計が根拠とする正しさの原
理による結論です。結果として、ローカル時計が許容可能なオフセットに収束す
るまでに長い時間を必要とする可能性があります。時計が許容可能な範囲外にあ
る場合、1 秒につき約 2,000 秒が必要となります。その間は、ローカル時計は他
のネットワーク時計のどれとも一貫性はなく、このシステムは、正しく同期した
ネットワーク時間を必要とする分散アプリケーションに利用することができませ
ん。

上記の予防策にも関わらず、大きな周波数誤差が存在する場合に、ときどき、結
果として時間オフセットは 128ms の範囲を逸脱し、その際に、時刻設定または時
刻の微調整が必要となります。そのような時刻修正のあと、最初のサンプルも受
理可能な範囲外となるほど周波数誤差が大きいならば、 ntpd は、 ntp.drift
ファイルが存在しない場合と同じ状態に入ります。この動作の意図は、周波数を
素早く補正し、通常の追跡モードに動作を戻すことにあります。最も極端な場合
(time.ien.it のことを思い出しますが) として、時刻設定/微調整による時刻補
正と、その後周波数補正とが生じることもあります。この動作は、このような場
合に、サーバを設定する際にキーワード burst を使う助けになります。

On-line Manual of "ntpd"

Ref. ヅラッシュ! - PCの時刻を正確に設定する

tags: ntp linux

Posted by NI-Lab. (@nilab)