私は、地理的に分散した約10台のリモートLinuxシステムで構成されたネットワークでいくつかの実験を実行しています。
その中には時計ドリフトがあると思われますが、寿命が短い(たとえば、週に1回または月に2回)。
これらのクロックスキューを検出して定量化するツールがあるかどうか疑問に思います。また、クロックスキューが私が目撃した内容の正しい用語であるのか、それともクロック同期と呼ぶことができるのか疑問に思います。
答え1
時計を正確な時刻に同期しようとしていますか、それとも同期せずにリアルタイム時計の実際の精度を確認しますか?
時間を正確に指定したい場合は、システムはタイムサーバー階層全体と同期でき、通常はタイムサーバーを指定できますが、通常はオペレーティングシステムに組み込まれています。さらに、あるシステムはタイムサーバーと同期し、別のシステムが同期できるように独自のタイムサーバーを実行できます。
私は標準時間に同期するだけでなく、最後の同期からローカルコンピュータの偏差に追いつくプログラムを見たことがあり、過去に使ったことがあります。私は過去にインターネット接続が断続的に切断されたときにこの方法を使用しましたが、プログラムは予想されるドリフト履歴を使用して時間を修正しました。
通常、これら2つの方法のいずれかを使用すると、修正が多すぎるとエラーが発生し、まったく修正されない可能性があります。
私はあなたのポイントを完全に理解していないことを願っています。 :)
答え2
これを行うには、NTPデーモンを使用します。
接続する独立したntpサーバーの数を定義します(ntp.conf、サーバーディレクティブ)。サーバーは3つで十分で、多いほど良いです。
ネットワークタイムプロトコルは、「間違った」タイムソースをフィルタリングします。数時間ntpq -p
実行したntpd
後、出力を確認してください。
どのマスターサーバーが選択されたか、どのサーバーが「良好」と見なされ、どのサーバーが「不良」と見なされるかを確認できます。出力には以下も含まれます。ジッタそして遅延(オフセット)。これがあなたが探している価値かもしれません…。
答え3
crony ユーティリティにはドリフトファイルがあります。望むより:http://chrony.tuxfamily.org/manual.html#Configuration-options-overview
このファイルは私が直接インストールしたことがないので、ファイル形式がわかりません。ドリフト情報を表示するコマンドがあります。chronyc sourcestats -v
まず、仮想マシンにcronyをインストールする予定です。
このサイトが役に立つようです:http://www.markus-gattol.name/ws/time.html
答え4
とにかく、昨日は両方のLinuxシステムの偏差の程度を直接確認する必要がありました。ツールを見つける前に、私は目的に合った十分な結果を提供するこの非科学的なアプローチを使用しました(両方のシステムのログ出力タイムスタンプを比較)。
- 各システムでPuttyセッションを開始し、並べ替え
両方のシステムで次のコマンドを実行します。
$ while true; do date +%H:%M:%S.%N; done
- スクリーンショットを撮って各ウィンドウの最後の項目を比較します。
危機に瀕している人に便利かもしれません!