ntpd
を構成して、ネットワークソースのストラタムレベルを変更することはできますか?
一見すると、fudge
ディレクティブでこれを実現できると思いましたが、ntp.conf(5)
のマニュアルページを参照したところ、このディレクティブはリファレンスクロックにのみ適用されることがわかりました。
いくつかの詳細:
LAN上のクライアントのプライマリタイムソースとしてntpd
を実行しているローカルサーバーがあります。このサーバーはntp.orgプールでポイントされ、通常、階層レベル3を維持します。
私のメインサーバーに加えて、壁の時計をワイヤレスで同期することを主な仕事とするサードパーティのネットワークデバイスがあります。 RF送信。デバイスの仕様では、これは「RFC2030準拠のタイムサーバー」であると記載されていますが、それ以外はかなりブラックボックスです。メインサーバーを使用するように設定しました。ソース:
ブラックボックス設定http://www.freeimagehosting.net/uploads/21bafb12bd.png
パソコンでntpd
を設定してメインNTPサーバー、との両方を使用するように設定すると、問題が発生しました。タイムソース:ローカルのntpdを照会したところ、「ブラックボックス」(10.xxZ)が優先タイムソースであることに気付きました。
$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
x10.x.x.X 69.164.222.108 3 u 48 64 177 0.501 370.029 1.530
*10.x.x.Z 10.x.x.Z 2 u 50 64 377 1.354 -23.681 14.179
サーバー10.x.x.Z
の唯一のタイムソースはサーバー10.x.x.X
(層3)なので、それは階層4である必要があります。製造元が階層レベルをハードコーディングしていると思います。
より高い階層レベルにもかかわらず、マシンに「良い」(10.x.x.X)サーバーを優先させる方法はありますか?また、ローカルのntp.conf
ファイルでprefer
ディレクティブを試しましたが、うまくいかなかったため、小さなブラックボックスが常に優先されます:/
なんと言っても、私のローカルマシンはMac OS X 10.6を実行しています。
$ ntpq -c rv | grep version
version="ntpd [email protected] Mon May 18 19:38:25 UTC 2009 (1)",
さらに調査を行った結果、networkソースの階層レベルを「覆い隠す」ことは不可能であるようです。それで私は先に進んで dtoubeliの答え を試しました。驚いたことに、ローカルタイムサーバーを層レベル2(サードパーティデバイスと同じ)にしただけでは、常に優先タイムソースになるとは限りませんでした。私のローカルntpdは、それらを両方とも「偽ティック」としてルール化します。どういうわけか、私にはわかりませんが、それらが唯一の2つの時間ソースであり、それらの時間がはるかにずれていたためと推測しています。
ここでの最大の問題は、私のサードパーティのデバイスが非常に一定した時間を保持していないように見えるという事実です。実際、それは大きく変動します。私の問題の解決策は、/etc/ntp.conf
に他のいくつかの正確な時刻ソース(pool.ntp.org)を追加することでした。現在、私のローカルサーバーは常に優先タイムソースとして選択されています。多くの場合、プール内の一部のサーバーよりも階層レベルが高いにもかかわらずです。
ローカルのntpdをstratum 2で実行してみてください。pool.ntp.orgを指すのではなく、5〜7のstratum 1サーバーのリストを作成して、構成に直接追加してください。 stratum 1の参照サーバーを使用すると、stratum 2で実行されます。その場合、prefer
オプションが機能する可能性があります。
ただし、私の経験では、階層レベルは、最初の出所選出で常に勝つ要素であるとは限りません。レイテンシとジッターも大きな影響を与えていると思います。低いレイテンシしかなかったという理由だけでいくつかのより高い層のサーバーが利用可能であったとしても、いくつかの状況で、より低い層のサーバーがプライマリソースとして選ばれたことに気づきました。そのため、提案されたアプローチが機能することを保証できません。
ローカルネットワークに「高層(10)」ハードウェアGPSタイムソースがあり、ntpqでfalsetickステータス(x)を取得します。server [x.x.x.x] true
(x = IPアドレス)をntp.confで使用すると、falsetickチェックがバイパスされ、候補になる可能性があります。ストラタム番号は必ずしも優先順位が高いとは限らないようです。
参照としてこのサーバー10.x.x.Zが気に入らない場合は、これでうまくいくはずです。
server 10.x.x.Z noselect
これは、サーバーを監視の目的でのみ使用する必要がある場合に役立ちます。あるいは、次のように構成することもできます。
server 10.x.x.X prefer
したがって、10.x.x.Xが使用可能な場合、10.x.x.Zは使用されません。
優先される理由の1つは、他のタイムサーバーに最近アクセスできなくなったことです。リーチ列をご覧ください。