web-dev-qa-db-ja.com

実験的なNTPタイムオフセットのクロックを仮想化することは可能ですか?

プライベートNTPサーバーのセットの時間を強制して、NTP(および当社のソフトウェア)がさまざまな時間の変化にどのように反応するかを示すことを望んでいるプロジェクトがあります。違い、ネットワークラグなど。

通常、ソフトウェアをデモンストレーションするためにVMの仮想ネットワークをセットアップしますが、NTPを実行できるものを見つけることができないようです独立してで各VM。これにはソフトウェアクロックが必要です。

これまでのところ、私は見てきました:

  • Docker-クロックをホストのハードウェアクロックに関連付けます。特権は1つの問題ですが、主な問題は、クロックが変更された場合、実行中のすべてのクロックがそのホスト上のすべてのVMで変更されます。

  • VirtualBoxこの回答 は、ゲストが追加されたとしても、高解像度の時計がないためにこれが不可能になることを示唆しています。

NTPのハードウェアクロックを仮想化できるソフトウェア、または同じマシンで同時に独立したクロックを実行できるソフトウェアはありますか?

あなたが興味があるかどうかは明らかではありません

  • ある状況下でのntpの動作。

  • 時間の変化によるソフトウェアの動作と、これらの時間の変化を導入するための最良の方法は、ntpをいじることです。

前者に単に興味がある場合は、ntpdsimをチェックしてください。これは、ntpリファレンス実装の一部です。

Ntpdsimプログラムは、さまざまなシミュレートされた時間ソース(サーバー)から時間を導出するNTPデーモン)の動作をシミュレートおよび調査するために使用されます。シミュレートされた各サーバーは、異なるように構成できます。時間オフセット、周波数オフセット、伝搬遅延、処理遅延、ネットワークジッタ、および発振器のふらつき。

後者に興味がある場合は、ntpdsimを使用して、ntpサーバーが変更にどのように反応するかを確認してください。次に、この情報を取得し、cronjobなどを使用して、ntpdsimの実行から学習した情報に従ってVMのクロックを変更します...

https://www.eecis.udel.edu/~mills/ntp/html/ntpdsim_new.html

3
dfc

Red Hatのドキュメントは、libvirtハイパーバイザーの少なくとも1つが構成可能なクロックソース(または少なくともカスタムオフセット)をサポートすることを示唆しています: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/ Virtualization_Administration_Guide/sect-Virtualization-Tips_and_tricks-Libvirt_Managed_Timers.html

KVMはlibvirtハイパーバイザーの1つであり、少なくとも1人が偶発的非同期化について説明しています: https://unix.stackexchange.com/q/83934/63149

(フォーマットについてお詫びします-私はモバイルを使用しており、もともとこれをコメントとしてドロップするつもりでした!)

2
RJHunter

RJHunterが述べたように、NTP複数のKVMインスタンスで動作させることは完全に可能ですが、おそらく極端に正確ではありません。

このリンク 詳細に入る KVMについて。

0
davidgo