vine-users ML アーカイブ



[vine-users:070540] Re: 時刻合 わせはどうしていますか? (ntpdate がみつからない)

  • From: SAWAMI Hiroaki <hiro-s@xxxxxxxxxxxxxx>
  • Subject: [vine-users:070540] Re: 時刻合 わせはどうしていますか? (ntpdate がみつからない)
  • Date: Mon, 21 Feb 2005 17:15:25 +0900 (JST)
さわみです。

From: 深海水草 <VYG01106@xxxxxxxxx>
Subject: [vine-users:070538] Re: 時刻合わせはどうしていますか?(ntpdate がみつからない)
Date: Mon, 21 Feb 2005 15:56:48 +0900
Message-ID: <20050221154743.25F2.VYG01106@xxxxxxxxx>

> >   大昔には、ntpdate を cron で動かすというのもありました
> 
> 大昔!?なんですか? Web では結構紹介されているみたいなんで
> すけど...。ちょっと google で引っかけただけで10件はありま
> した。

昔、xntpd がメジャーだった頃は 10 分もずれると daemon が落ちたも
のでした。ntp-4.x ベースになってからは、日付がずれていてもきっち
りと合わせてくれます。

なもんで、xntpd が落ちていたら ntpdate で合わせて xntpd を起動し
直すようなスクリプトを書いて、cron で回してたりしていました。

せっかくなので、FYI として。
以下、i386 の話です。

kernel source の arch/i386/kernel/time.c を読むと分かりますが、外
部ソースとクロックの同期を取っている場合、kernel が 11 分おきにシ
ステムクロックを CMOS クロックに反映させています。

ntpdate で時刻を合わせる場合、ntpdate 実行後に hwclock で CMOS に
書き込んでやらないとハードウェアクロックがずれたままになりますが、
ntpd で時刻合わせをすればそのような必要がなくなります。

この機能は set_rtc_mmss で提供されていますが、システムクロックの
分・秒と CMOS クロックの分・秒の差の絶対値が 30 分を超えると、

  set_rtc_mmss: can't update from (CMOS_clock) to (system_clock)

というメッセージをログに吐いて、(その時だけ)実行されません。

# 「分・秒の差の絶対値」というところがミソです。
# 条件によってはズレが 1sec の場合でも再現します。
-- 
SAWAMI Hiroaki (沢味 広明)
hiro-s@xxxxxxxxxxxxxx
hiro@xxxxxxxxxxxxx