ページ内ジャンプ:

アレゲなニュースと雑談サイト

GetSetによる 2005年01月21日 11時10分の掲載
集中より分散を部門より。

okap 曰く、 "2chの「時刻合わせ総合スレッド」に、20日、「福岡大学のNTP屋」からの書き込みがあった。トラフィックの増大で非常に大変な状態にあるようだ。"(続く…)

"以下、原文から引用する。

ところで、皆さんへお願いですが、出来るだけ負荷を分散したいのです。
今や、clock.nc.fukuoka-u.ac.jpへのアクセスは毎秒900件ほどになります。
引き合いに出して申し訳ないのだけれども、東大のntp.nc.u-tokyo.ac.jpでも毎秒3,4件程度のトラフィックです。

サーバーとの時刻差を求めるのに(往路の伝送時間-復路の伝送時間)/2を観測誤差として補正している原理からして、遠方になるほど観測誤差が大きくなる傾向にあります。

候補となるNTPサーバのそれぞれについてtracerouteなどで遅延時間を求めます。
遅延時間が安定していて、時間が短いのが望ましいサーバです。
ついでに、tracerouteの途中にあるルータを ntpq -p などでチェックしてみます。
Ciscoのルータなどはntpをサポートしているので、案外多くのサーバを発見できます。
念のため ntpqや,ntpdate -q などでまともなサーバかどうかも確認しておきます。
YahooBBなどのISPのユーザは出来るだけISP内で提供しているNTPサーバを参照するようにお願いします。

何だか泣き言をいっているようで恥ずかしいのですが、ご協力をお願いします。
タレコミ子も何を隠そう、NTPサーバと言えば福岡大と言うイメージがあった。これを機会にmfeed(http://www.jst.mfeed.ad.jp/)に切り替えようと思う。"

関連ストーリー

この議論は賞味期限が過ぎたので、保存されている。 新たにコメントを書くことはできない。
表示オプション しきい値:
(1) | 2 | 3 (スラッシュドット・ジャパン システム負荷過大: コメント数制限中 50)
  • hideyuki (4998) : 2005年01月21日 11時38分 (#682033)

    プロバイダ別 ntp サーバリスト [infoseek.co.jp]

    あと ntpd をローカルに動かしてる場合は

    server 210.173.160.27 maxpoll 17
    みたいに maxpoll を増やしておくと上位サーバの負荷が減ります。

  • make(1)に「未来の時刻に更新したファイルがあるよ!」など
    と文句を言われない ためには,各ホストのシステム・クロック
    のずれが常に1秒未満になっているようにす るのが望ましい.
    起動時, /etc/rc.d/rc.S によりハードウェア・クロック (RTC)
    の時刻がシステム・クロックに読み込まれる (/sbin/hwclock --hctosys).
    その後すぐに /etc/rc.d/rc.local 中で ntpdateによってシステム・
    クロックを正確な時刻に調整し, それが成功したなら,
    ハードウェア・クロックもその
    正確な 時刻に合わせる (/sbin/hwclock --systohc) ことにする.
    よって, ハードウェア・ クロックはだいたい合っていれば
    よいことにする. 各ホストともともプロバイダ等の提供するntpサーバを使って,
    起動時および1日1回, システム・クロックとハード ウェア・クロックとを
    調節する. LANにわざわざntpサーバは立てない. adjtimex の --tick と
    --frequency オプションを使ってシステム・クロックの進みまたは遅れ をなくしておけば,
    1日1回程度のntpdateで十分に「ずれが1秒未満」の精度を達成 できる.
    hwclock(8), adjtimex(8)の man pages や /etc/adjtime, /usr/include/sys/timex.h も一読されたい.

    起動時に時刻をあわせるため /etc/rc.d/rc.local など
    に次の数行を書く:

    +++ ここから
    # Configure the system clock with ntp.
    # This can be changed if your system keeps GMT.
    # ref. /etc/adjtime, hwclock(8), adjtimex(8), /usr/include/sys/timex.h
    if [ -x /usr/bin/ntpdate -a -x /sbin/hwclock ]; then
        /usr/bin/ntpdate -s ntp.example.net && /sbin/hwclock --systohc
    fi
    if [ -x /usr/local/bin/adjtimex ]; then
        /usr/local/bin/adjtimex --tick 10000 --frequency 1
    fi
    +++ ここまで

    crontab(5)に次の1行を追加して, 毎日20時20分 (あなたが
    日常的にPCを使いはじ める少し前がよい) に時刻をあわせる.

    20 20 * * * /usr/bin/ntpdate -s ntp.example.net && /sbin/hwclock --systohc

    /var/log/messages に offset が記録されるはずなので,
    それを元に --tick と --frequency の値を決める. たとえば

    Aug 22 20:20:03 eringi ntpdate[1180]: step time server X.Y.Z.123 offset 1.626606 sec
    Aug 23 20:20:03 eringi ntpdate[1490]: step time server X.Y.Z.123 offset 1.642889 sec
    Aug 24 20:20:03 eringi ntpdate[6441]: step time server X.Y.Z.123 offset 1.665247 sec

    なら1日平均1.645秒遅れるということなので, そのぶん
    システム・クロック をスピードアップする. 1.645/8.64*6553600=1247763
    だから,

    # /usr/local/bin/adjtimex --tick 10000 --frequency 1247763

    とする.

    # /usr/local/bin/adjtimex --print

    で設定を確認する. 11分ごとのハードウェア・クロックへの同期を行わない設定
    ((status & 64) が真) になっていることも確認しておく.
    システム・クロックの スピードが十分調整されたら,
    /etc/rc.d/rc.localにも同じadjtimexを書いておく.

    この調整が面倒なら, 2~3時間ごとくらいに ntpdate
    することにすれば「ずれが 1秒未満」の精度はたいてい達成できる.
    ntpdateの頻度はログのoffsetの値を見て 決めるとよい.
    --
    love && peace && free_software
    t-nissie
    • 同じようなことを考えているひと
          clockadj
          http://www.netfont.gr.jp/~matsu/clockadj/clockadj.html
      こっちの方が、簡単かも。(でも、Linuxもってないので、試していない。)

      えー、おれLinuxじゃないし、とかいうあなたは、clockspeed。
          clockspeed
          http://cr.yp.to/clockspeed.html

      日本語で説明がほしい、という人は、UNIX USERの2002/7号の
      djb特集をみるとよいかも。

      Intelやsparcじゃない人は、ごめんね。(だったはず。)

      #maxpollなんて知らんかった。17にしとこ。
      --
      もうそういう時代でしょ。オール電波。
    • 1個のコメント が現在のしきい値以下です。
  • shiraga (14233) : 2005年01月21日 20時47分 (#682433)
    ここを指定しておくと、OpenAccessサーバーからランダムに選んで接続します。
    地理的に近いサーバーに限定したいなら
    asia.pool.ntp.org
    とかを指定する事も可能。
    毎回径路が変わるから厳密な時刻合わせには向かないけど、負荷分散という観点では、どんどん利用すべきだと思います。
    解説はこちら [isc.org]。
    • 毎回径路が変わるから厳密な時刻合わせには向かないけど
      これは ntp で参照する先としては致命的では?
      ともあれ、nslookup pool.ntp.org で現在あてに出来る ntp サーバの一覧が手に入るのは有意義ですね。
      この結果から ntp.conf 作れば良きに計らってくれると思います。
      野良 ntp サーバもリストアップしてくれるとさらに良いのだけど。
      どこかにないですかね ntp サーバを網羅的にエントリしたサイト。
  • 階層 (スコア:2, すばらしい洞察)

    tyuu (9154) : 2005年01月21日 11時23分 (#682022) ホームページ 日記
    サイト内の一台(a)が外部のTPサーバと同期をとって
    サイト内の他はaと同期をとるってのが重要でしょ。

    プロバイダが提供してるなら、それより上に出ちゃイカンて
    • Re:階層 (スコア:2, 参考になる)

      Anonymous Coward : 2005年01月21日 11時33分 (#682030)
      2chのスレからリンクされている
      http://sonic64.hp.infoseek.co.jp/2004-12-02.html
      [infoseek.co.jp]
      を見ると、ntpサーバを用意しているISPって非常に
      少ないですね。
      本当にこれだけなんでしょうか。
      # うちは asahi-net なので、ISP が公開しているのを
      # 前から利用してます。

      こういうのの管理って、Wikiが向いてる気がするけど、
      どこかに適当な場所はないですかね。
      • flutist (16098) : 2005年01月21日 11時48分 (#682044)
        私もプロバイダはasahi-netですが、使ってるMac OS Xでは「日付と時間」環境設定で、NTPサーバーはapple.comドメイン内から選ぶようになってるので、ISPが用意してるかどうか、調べませんでした(たぶん任意のサーバーを設定できるんだろうけど)。

        Windowsでは、デフォルトのNTPサーバーって決まってないんですかね? そういうのに詳しくない人は、電話で時報聞きながら合わせるのかな。MicrosoftがNTPサーバー用意してくれてたりしないのかな。
        • phason (22006) : 2005年01月21日 11時55分 (#682051) 日記
          WindowsXPあたりから,time.windows.comを見に行くようになってますね.
          まあ,初期設定だと一週間に一度しか見に行ってくれないんですが.
        • Re:階層 (スコア:1, 参考になる)

          Fortune (6210) : 2005年01月21日 11時58分 (#682057) ホームページ
          少なくともWindowsXPだと
           time.windows.com
           time.nist.gov
           time-a.nist.gov
          の三つがデフォルトで選択できるようになってますね。

          でも、Windows標準のntpってあまり信用してません。
          なぜか、気付くと1,2分ずれてたりするんで。
          (こっちの環境が悪いだけかもしれませんが)
        • Nomad-AY (2520) : 2005年01月21日 11時58分 (#682060) ホームページ
          >Windowsでは、デフォルトのNTPサーバーって決まってないんですかね?
          一応、WindowsXPでは標準で「time.windows.com」が設定されており、しかも自動更新が最初から有効だった気がしますが。
          #コンパネ「日付と時刻のプロパティ」→「インターネット時刻」か、タスクの時刻表示をダブルクリックするなどして確認

          あと、ドメインに所属していると、ドメインサーバあたりと時刻同期をかけようとしたりするんでしたっけ?
          #そのサーバの時刻設定がぼろぼろで、OS起動時に桜時計などで合わせていたのに、すぐに狂わされてしまった気が(^^;;;
          --
          タブレット中毒者。
        • kokki- (11459) : 2005年01月21日 14時04分 (#682166)
          Mac OS Xの場合、環境設定パネルで、プルダウンから選ばず直接利用したいNTPサーバ名を打ち込んで見てくだされ。

          当方はfirewall内なので、siteが提供しているNTPサーバを上記のようにして利用しています。
        • sakuya-m (14007) : 2005年01月21日 12時08分 (#682064) 日記
          Kerberosのチケットの関係で時刻同期しておく必要があるからかと。
          # ここんとこActiveDirectory触ってないけどID
          --
          ---にょろ~ん
        • Re:階層 (スコア:2, 参考になる)

          kidmin (22955) : 2005年01月21日 13時28分 (#682144) ホームページ
          デフォルトでは、同期は一週間に一回しかしない設定のようです。
          レジストリをいじるしか変更する方法が無いようで、
          http://www.atmarkit.co.jp/fwin2k/win2ktips/050nettime/nettime2.html
          に方法が載ってます。

          桜時計やAdjustPCを使った方が楽かもしれません。
          --
          いや、別に好きでやってるからいいけどさ・・・。
        • typer (9666) : 2005年01月21日 13時33分 (#682148) 日記
          Win2kもtime.windows.comを見るようになってたかな?でも、デフォルトじゃ無効になってたはず。

          で、桜時計の方はデフォルトが福岡大だったかも。違ったかな?
        • Kenneth (10065) : 2005年01月21日 14時31分 (#682193)
        • 一日30秒ならまだましじゃないですか?
          私の自宅PC(ASUS A7N8X-VM)の方は、30分で10秒ぐらいずれるので、
          一日なら4分ぐらいずれることになります。
          仕方ないので、桜時計で2分に一回補正してます。

          最初、ntpで補正してるからって、PCの時計の正確さはあまり気にしてなかったのですが、
          ある日、make がちゃんと通らなかったことがあって、
          調べてみたら、おそらくそのタイミングで10秒ほど時間を戻されたせいらしいとわかりました。
          で、1秒以上ずれないようにってことで、今の補正間隔に落ち着いてます。

          職場で使ってるPC(ASUS A7S333)は、一日で2~3秒ぐらいしかずれないんですけどね。
          • ブロードバンドルータに NTPサーバ機能がついているものを選ぶとかも良いですよね。

            マシンをスタンバイ状態にするとずれるという噂も聞いたことありますね。真実は知りませんが…。
            まぁ、常時起動しているルータでチェックさせて、それにぶらさがるPCなんかはそれを参照すると幸せになれるかと。
            --
            タブレット中毒者。
          • 書き忘れてましたが、自前でFreeBSDなサーバにntpdを動かしてます。
            2分に一回更新している通信相手は、その自宅サーバです。

            ntpdの設定の方は、今回の記事を見て fukuoka-u から mfeed に変えました。
            最初に設定したのが10年近く昔で、当時は他に選択肢が無かったんですよね。

            > 自宅PCで一日4分が許容できない使い方ってなんですか?

            すでに書いた通りですが、「一日に4分」が許容できないんじゃなくて、
            「時刻修正された瞬間に何秒も時間が飛んでしまう」
            のが問題なんです。

            対策としては「時間が飛んでも問題ない時にまとめて修正する」か、「1秒以内の修正をマメに行う」のどちらかで、
            私は後者を選んだ、と。

            windows 用にも、ntpd みたいに、
            ・時刻を飛ばしたりせず、ちょっとずつ時刻修正してくれて、
            ・drift を計測して、同期がとれてなくても狂わない
            時刻修正ソフトが欲しいです。
            • >書き忘れてましたが、自前でFreeBSDなサーバにntpdを動かしてます。
              >2分に一回更新している通信相手は、その自宅サーバです。

              このサーバーの水晶は高い奴に交換したの?
              していなければあまり意味が無いような気が。
              • > このサーバーの水晶は高い奴に交換したの?

                絶対的な精度が高くなくても、
                相対的に安定している(ジッタがない)のであれば問題ないです。

                ntpd は drift file を指定することで、時計の「進み具合」「遅れ具合」を計測して、それを元に時計の進み方を補正してくれます。
                (たとえば、一日に5分進むことがわかったなら、時計の速さを一日あたり5分ぶん遅らせれば、正確に時を刻む時計になります。)

                「昨日は一日に5分進んだけど、今日は一日に10分遅れた」みたいな不安定さを持つ時計だったら、こういう補正はできないですけどね。
            • じゃあなんでWindowsでntpd使わないんですか?
              NT系列なら動くはずですが。
            • Anonymous Coward : 2005年01月22日 11時54分 (#682683)
              > windows 用にも、ntpd みたいに、
              > ・時刻を飛ばしたりせず、ちょっとずつ時刻修正してくれて、
              > ・drift を計測して、同期がとれてなくても狂わない
              > 時刻修正ソフトが欲しいです。
              NT系なら標準で付いてるW32Timeサービスがまさにそれ。
              Windows XPでコントロールパネルの日付と時刻から設定すると、ほかでも書かれているように一週間に一度SNTPで同期だけど、コマンドラインから
              net time /setsntp:ntpサーバ
              とすればntpdと同様の動作をする。
          • 3個のコメント が現在のしきい値以下です。
        • Re:階層 (スコア:2, 参考になる)

          taka2 (14791) : 2005年01月21日 16時46分 (#682257)
          普通のOSは(Windowsでも)、
          起動時の最初にRTC(時計チップ)から現時刻を取得し、
          以降、起動中はずっとタイマーを元に自前で計時しますから、

          > 一ヶ月フルで使った時と
          > 一度も電源を入れずに一ヶ月経過させた時

          これは、ハードウェアが持っている
          タイマーの精度とRTCの精度を比較していることになります。
          温度はあまり関係ないですね。
          • LARTH (14573) : 2005年01月21日 22時18分 (#682471) 日記
            WindowsNT系のOSは電源を入れたままにしていても定期的にシステムクロックとRTCを同期させます。
            1時間に1回だったな?

            RTCの精度は温度がそれなりに安定した環境であれば、キャリブレーションを行うことで日差数秒以内にすることは簡単です。
            古いマザーボードにも実装されている物と同じ物を私の自作基板で使っていますが、
            これをキャリブレーションして、電源切って放置すると月差30秒以内ぐらいでした。

            電池内蔵のRTCでキャリブレーションができない物は、多分無いと思いますが
            一般のPC用マザーボードで出荷前にキャリブレーションを行っているところは、ほとんどないんでしょうね。
            --
            エロいネタ強化月間
        • tokushima (155) : 2005年01月21日 17時04分 (#682268)
          > #コンパネ「日付と時刻のプロパティ」→「インターネット時刻」

          インターネット時間って名前やめて欲しいですよね。
          最初見たときビックリしました。これ↓かと思ってビックリしました。
          スウォッチのインターネット時間 [swatch.com]
          --
          ほっときゃなおる
        • shadowin (23191) : 2005年01月21日 17時35分 (#682305)
          レジストリをいじらなくても、
          プルダウンメニューのところを直接編集できませんか?
          WinXPだけかな?
        • Taruki (304) : 2005年01月22日 12時16分 (#682692) ホームページ
          Windows2000/XPなら、コマンドプロンプトから、
          net time /setsntp:NTPサーバー名
          確認するには、
          net time /querysntp
          でOKです。
        • 12個のコメント が現在のしきい値以下です。
      • 以下、自宅サーバ(FreeBSD4.10)のntpdateを実行したときのログ。
        /usr/sbin/ntpdate -s -b ntp02.dion.ne.jp
        Jan 21 15:05:08 uhyorin ntpdate[53372]: step time server 210.251.0.16 offset -0.032201 sec

        /usr/sbin/ntpdate -s -b ntp03.dion.ne.jp
        Jan 21 15:05:26 uhyorin ntpdate[53374]: step time server 210.251.0.81 offset 0.000703 sec
        せめてWebには載せてもらいたいものですね。<DION
      • tekete (19724) : 2005年01月21日 15時55分 (#682240) 日記
        > サポートに問い合わせると教えてくれるISPだってありますよ。

        昔 Panasonic Hi-HO に問い合わせた時は「そんなサービスはない」という寂しい返事が来ました。
      • Re:DIONは (スコア:2, すばらしい洞察)

        tokushima (155) : 2005年01月21日 17時11分 (#682278)
        このご時勢ですと、
        使えるのと使ってよいのとは別では?
        --
        ほっときゃなおる
      • 2個のコメント が現在のしきい値以下です。
    • JnJ (23012) : 2005年01月21日 11時38分 (#682034) ホームページ
      めったに場所を移動しないデスクトップならそのほうが早いですし当然だと思います。
      ADSLモデムは確実にプロバイダにするべきだと思います。
      ですが、日や時間によってプロバイダごと入れ替わるノートだと
      そういうわけにもいかないんですよねぇ。
      そっちだけグローバルに提供してくれているmfeedにしてあります。
      --
      LAN内LAN稼働中
    • 社内GWは、上位の ntp.so-net.ne.jp に問い合わせを行うようにしてあります。バックアップとして、nist.gov も指してますが。もちろん社内では、なるべく外のNTPサーバを参照しないよう、呼びかけています。

      福大は昔から有名でしたが、私がいた場所のどこからもネットワーク的に遠く、なるべく指さないようにしていました。…いつのまにか悲鳴があがってたのか。

      タレコミのスレ、読んでみます。

    • プロバイダーが NTP サーバーを用意してくれているのなら、クライアントが自動的にその NTP サーバーを探しに行ける手段を提供して欲しいっす。DHCP を使えば ntp-servers option で NTP サーバーの位置を通知することができるけど、これをやっているプロバイダーはあるのかしらん?

      # NTP は IP マルチキャスト(224.0.1.1) を使う運用方法があった気がするが、
      # マルチキャストに関する知識ごと脳内ガーベージコレクターが回収していった。
      --
      Flatearther だけが良い fundamentalist である
    • 1個のコメント が現在のしきい値以下です。
  • DNSで付加分散を (スコア:2, すばらしい洞察)

    Livingdead (18685) : 2005年01月21日 11時39分 (#682036) ホームページ 日記
    リングサーバのTENBIN [ring.gr.jp]のようにDNSで不可分散ってのはできないのかな? pool.ntp.org [ntp.org]にそういう機能があればいいのになと思います。
    --
    ペーストビン [windy.cx]
  • Zepto (5428) : 2005年01月21日 12時30分 (#682078)
    cron で ntpdate を呼び出すとき、

    1) 正時 (00分), 30, 15 分などキリのよい時刻でなく半端な時刻に呼び出す
    2) ntpdate を呼び出す前に sleep で数十秒の遅れを入れる

    …などの対策をすればトラフィックの集中を幾分でも緩和できると思います。
    福岡大学さんに限らず、他のサーバを使う場合もそうしたほうがよいかなと。

    # Windows な方は適宜読み替えてください。
(1) | 2 | 3 (スラッシュドット・ジャパン システム負荷過大: コメント数制限中 50)