Ubuntu9.10サーバーをKVM ntpdがインストールされたホストとして実行しています。ホストシステムのシステム時刻は正しいです。現時点では、KVMゲスト、Ubuntu 9.10サーバー。ntpdをインストールしていませんが、時計が約6分遅いことに気付きました。約1か月前にインストールしたときはそうではありませんでした。
ホストクロックの同期を維持するだけでよく、ゲストはホストクロックを使用していると思いました。しかし、おそらくそれはOpenVZを使用したことによる記憶です。推論は、ホストだけが物理システムクロックを変更できることに関連していると思います。
ホストとすべてのゲストの両方でntpdを実行するのは正しいことですか?それとも、他に好ましいものはありますか?ゲストクロックを同期させるにはどうすればよいですか?
使用しているクロックソースを確認してください。
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
利用可能なものを確認してください。
$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
「available_clocksource」に「kvm-clock」エントリがある場合は、カーネルパラメータを設定して使用してみてください。
clocksource=kvm-clock
かなり良いドキュメント ここ (一般)時計を正しくするのがとても難しい理由。
Kvm-clockがタイムジャンプ(時間単位で測定)を引き起こし、システムのフリーズを引き起こす可能性さえあるという報告があります。次のように、無効にする必要がある場合があります。
https://patchwork.kernel.org/patch/104597/ (パッチ自体、またはLD_PRELOADラッパーkvm-noclockのいずれか)。
VMでの時間管理に関して多くの問題が発生し、いくつかの異なる仮想化プラットフォーム間で、ネイティブのHost-VM時間同期ツールにも問題が発生しました。
私のアドバイスは、ハードウェアの物理的な部分(この場合はKVMホストサーバー))に基づく信頼できる時間ソースを用意し、標準のOS時間同期方法を使用してVMを同期することです(あなたの場合、ntpd)をそのサーバーに戻します。vmゲストが過度にドリフトしている場合は、多くの場合、より短い再同期間隔が必要です。要するに、ntpdで正しい方向に進んでいると思います。
VMWareの例として、VMWare Toolsの時刻同期は、VM上で逆方向にドリフトする場合にのみ時刻を修正することがわかりました。 a VMがホストより進んだ場合、時刻は修正されません。
chrony インスタンス/ VMローカルからの短い間隔のポーリング更新NTPサーバー)が唯一の実行可能で合理的なようです行く方法。
ChronyはLANを介して時間の更新をブロードキャストできますが、そのような更新のリッスンはサポートしていません。 追加する予定はありません 。ユニキャストはそのようなコメントで推奨されます:「…
非常に控えめなハードウェアでも、NTPサーバーは、通常のクライアント/サーバーモードを使用して数十万のクライアントに時間を提供できます。
…」