パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

DragonFly BSD 1.4.0リリース」記事へのコメント

  • dntpd (スコア:5, 参考になる)

    おお、dntpd すごそうですね!

    commits List 2005-04 [dragonflybsd.org]:

    OpenNTPD はそもそも、あんまり精密に時刻を同期させるような仕組みではない。 Joerg が頑張ってハックしてくれているけど、まだまだ大変みたいだ。 その労を念頭に置きながら書いてみたら、一日で少なくとも xntpd と同じ程度 (つまり OpenNTPD よりだいぶまし) なアルゴリズムができた。 まだいろいろあるけど、最も厄介なところはできたよ。 時刻を同期させるだけだから単純かと思うけど、面倒なんだね。

    users List 2005-11 [dragonflybsd.org]:

    OpenNTPD は、は

    • Re:dntpd (スコア:5, 参考になる)

      ただ、OpenBSD 陣営の名誉のために言っておくと、確かに
      OpenNTPD は簡易なもの [openntpd.org]として設計されています。
      あまり精密さを求めたり本格的な NTP サーバにするというのではなく、
      「面倒だからだれも NTP を使わない」という状況を正すための、
      そしてそれだけのためのものなのです。

      • Re:dntpd (スコア:2, おもしろおかしい)

        by tyuu (9154) on 2006年01月10日 4時16分 (#861965) ホームページ 日記
        > 「面倒だからだれも NTP を使わない」という状況を正すための

        最近、「面倒だからだれも NTP を使わない」
        というサーバにお目にかかりました。
        10 分違っていて log の解析時に思考が停止しました。

        時間精度が低いと、ロードバランサー配下のサーバ log 調査時、労力が高くなります。
        # ntpd が動いてなかったのは問題外ですが

        OpenNTPD が簡易なものであり、
        dntpd がちゃんとした物であるなら
        secure であると診断してもらって
        OpenBSD に取り込んで欲しいです。
        # もちろん Free, Net にも。

        # xntpd のフォローは無いんですかね?
        親コメント
        • Re:dntpd (スコア:2, 参考になる)

          by shojin (28072) on 2006年01月11日 13時15分 (#862892) 日記
          取り敢えず、下記で公開されているソースコードを
          使って、FreeBSDでコンパイルできることは確認しましたが
          sysctlにkern.basetimeが無いので実行は出来ないです。

          そこで、これとSYSCTLマクロ宣言や扱いが似ている
          kern.boottimeを使うようにしてお茶を濁すと実行は
          できますが、果たしてこれで良いのか...
          (FreeBSDのkern.boottimeが入り組んでて訳わからんもんで)

          http://www.dragonflybsd.org/cgi-bin/cvsweb.cgi/src/usr.sbin/dntpd/ [dragonflybsd.org]
          親コメント
          • Re:dntpd (スコア:2, 参考になる)

            by deleted user (19654) on 2006年01月11日 22時00分 (#863134) ホームページ 日記
            boottime はブートした時刻なので変化しませんが、
            dntpd は kern.basetime を何度も取得して差を出したり
            しているみたいです (client.c の lin_regress あたり?)。

            clock_gettime(CLOCK_MONOTONIC, &ts); とかに
            書き換えたほうが意図に合っているのかなあ。

            親コメント
            • Re:dntpd (スコア:1, 参考になる)

              by Anonymous Coward on 2006年01月12日 12時45分 (#863433)
              私も FreeBSD 上で試してます。

              sysntp_getbasetime の中身を gettimeofday(tvp, NULL); にして、dntpd -d -f dntpd.conf としてデバッグモードで起動して確認した所、slope の値が、-1.000004 とかみたいな値になっていました。

              kern.basetime の代わりに、kern.boottime を使うパターンだと、slope は、大体 0.00005 とかあたりで安定。

              恐らく後者の方が動作がより近いと思うので、kern.basetime は基本的にはいつも変わらない数値なのだけど、別のユーティリティが書き換える可能性があるって事なのかな。dntpd のソース群の中にはkern.basetime を書き換えるような動作は見られないし。

              しかし、lin_regressのslopeを求める式をみてもよくわかりません。例えば、(info->lin_count * info->lin_sumxy - info->lin_sumx * info->lin_sumy) とか、(info-lin_count - 1) * info_lin_sumxy じゃ駄目なのかとか。
              親コメント
              • Re:dntpd (スコア:1, 参考になる)

                by Anonymous Coward on 2006年01月15日 0時10分 (#864689)
                #863433 [srad.jp]のACです。

                今までためしにkern.basetimeをboottimeに書き換える方法でntpサーバーを一つだけ指定して動かしてみたところ、誤差がはげしくなっていました。10秒以上ずれていました。

                FreeBSDのxntpdやntpdateのソースと比べて確認してみないといけないか。
                親コメント
        • さいきん OpenNTPD に Dragonfly っぽいアルゴリズムが取り込まれたようです。
          最新のsnapshot [iij.ad.jp] をお試しください。
          adjusting clock frequency by xxxx to xxxxppm
          というログが出てきていたら良いようです。
          私はいま更新したばっかりなので、あと数日したら違いが出てくるのかなぁーと期待しています。

          なお、 ntpd だけじゃなくて kernel も最新じゃないとダメです。
          adjfreq というシステムコールが必要なんですね。

          man adjfreq してみたら

          HISTORY
               The adjfreq() function call first appeared in OpenBSD 4.0.
          って出てきました。
          親コメント
        • Re:dntpd (スコア:1, 興味深い)

          by Anonymous Coward on 2006年01月10日 5時29分 (#861971)
          きちんと統計を取っても、PCの設置場所の温度が昼夜間で変動する様だと(水晶発信器自体がつられて変動するので)意味無い様な…。
          親コメント
          • Re:dntpd (スコア:1, 参考になる)

            by Anonymous Coward on 2006年01月10日 6時34分 (#861980)
            その場合、統計手法の意味はないかもしれませんね。たしかに。
            しかしそんな環境では単に統計手法がキャンセルされるだけでしょうから、
            dntpdに切り替えてはいけない理由にはなりませんね。
            単にOpenNTPDと同じ程度の精度になるだけ。
            親コメント
        • >OpenNTPD が簡易なものであり、
          >dntpd がちゃんとした物であるなら
          >secure であると診断してもらって
          >OpenBSD に取り込んで欲しいです。

          OpenBSD の場合は sys/kernel/kernel_time.c が
          あまりにも違うので、そのままでは無理みたいですね。
          ユーザランドだけでうまくできるなら
          いつの間にか入っていたりするかもしれませんが。(^^;

          親コメント

アレゲは一日にしてならず -- アレゲ研究家

処理中...