質問: ホストが休止状態から再開した後、仮想ゲストとして実行しているlinuxで時刻を正しく同期するにはどうすればよいですか? 私は複数の仮想ボックスを開発に使用しており、gitコミットをプッシュするときは正しい日時が重要です。ホストをシャットダウンしません。再起動せずに数か月間実行されます。私は夜と週末にのみそれを休止状態にします。これにより、ゲストオペレーティングシステム(turnkeylinux.orgのすべてのdebians)に奇妙な問題が発生します-しばらくすると、ゲストオペレーティングシステムの日付が数日ずれます。すべてのゲストがntpを使用しますが、日付がいくつかの大きな値によってオフになっていることを検出すると機能しません(数時間で十分のようです)。強制する方法はありますかntp大きな時間差があっても同期しますか?または、ホストが休止状態から再開した後にゲストボックスで正しい日付と時刻を復元する他のソリューション?
回答: ntpサーバーは、仮想マシン内で実行するようには設計されていません。高いレベルの精度で処理されるクロック割り込みへの応答時間とともに、高解像度のシステムクロックが必要です。 ntpクライアントは一部の仮想化ソリューションで実行できます。マシンのベースosでntpを実行してから、さまざまなゲストosでシステム上に作成された適切なクロック。仮想マシンクライアントが仮想クロックを物理システムクロックに適切に同期できるようにするために有効にする必要がある追加のツールまたはカーネルオプションがあるため、それでも十分ではない場合があります。出典: support ntp既知の問題 そのステートメントから、そしてあなたの重要な部分がgit commit時間であると読むと、ホストマシンから時間を収集するためにpre-commitフックを書くことは簡単です、そしてあなたは単にホストマシンに尋ねることによってそれを得ることができます:ssh hostmachine "date +%y%m%d%h%m%s"