8

インターネットに接続されていないLAN上に5台のサーバーがあります。それらの間で時計を同期させるためにそれらが必要です。

それらをNTPピアとして構成し、そのうちの1つのローカルクロックに高い階層を設定することができます。このようにして、他の4つはそのクロックと同期します。

私が実際に望んでいるのは、堅牢性と精度の理由から、5つのローカルクロックすべてを使用して(つまり、ある種の平均を実行して)時間について合意することです。NTPで可能ですか?

PS:外部クロックソースを使用したくありません。

編集:NTP機能以外のスクリプトはありません。精度が低下するだけです:)

4

4 に答える 4

6

平均して5つのドリフトクロックを使用すると、修正が難しい別のドリフトクロックしか得られません。これ以上正確ではありません。NTPは、ネットワーク遅延を考慮に入れるため、複数のサーバーを使用して精度を高めます。すべてのシステムが高速ローカルネットワーク上にあるため、必要なサーバーは1つだけです。

2つのシステムをNTPサーバーとしてセットアップします。1つはプライマリで、もう1つは必要に応じてバックアップです。他のすべてのシステムをそれらに同期させます。これは、クロック平均ソリューションよりもセットアップが非常に簡単であり、クレイジーなスクリプトを開発する必要はありません。

于 2010-06-25T22:35:40.900 に答える
1

それらの1つに各コンピューターからの時間をリッスンさせ、平均を実行し、平均を独自の時間として設定し、他のすべてのコンピューターにその時間をブロードキャストさせることができる場合があります。しかし、それは少し過剰に思えます。

于 2010-06-25T22:18:56.067 に答える
0

それらの1つをローカルネットワーク上でその時間をブロードキャストするntpサーバーとして設定し、他をローカルネットワーク上でリッスンするスレーブとして設定できます。

編集:私は平均的な部分を逃しました。その場合は、ローカルサーバーでスクリプトを記述して、すべてのスレーブから時間を収集し、平均を取得して、その値で自分の時間を更新することができます。その場合は、ntpを削除し、スクリプトを使用してすべてのサーバーの時刻を更新することもできます。

于 2010-06-25T22:12:44.337 に答える
0

決定的な提案ができればいいのですが、あなたの環境についてはよくわかりません。なんらかのスクリプトカンフーを実行する可能性があります。

unix / linuxの場合は、SSHで承認されたキーを使用して全員に設定し、お互いのコマンドをポーリングしてdate +%s(エポックを取得するため)、それらの時間をawkなどで平均してから、マシン自体のローカル日付を設定します。

あるいは、1台の信頼できるマシンで同じマナー内の全員の時間をチェックし、平均してから、それ自体と他のすべてのホストをその平均にプロビジョニングする方が安全(かつ信頼性が高い)です。

Windowsでは、おそらくVBScriptとWMIを調べているでしょう。

編集:誰かの時計が平均から前にずれている場合、あなたはいくつかの奇妙な問題に遭遇するかもしれません、そして私の推測はそれらの約半分です;)。将来のタイムスタンプはかなり奇妙になる可能性があります。この同期を実行する必要がある頻度を決定するのはあなた次第です。

于 2010-06-25T22:30:20.563 に答える