web-dev-qa-db-ja.com

仮想マシン内のUbuntu:ntpdまたはntpdateまたは???クロックドリフトを回避するため

問題:ntpd、Ubuntuを実行している仮想マシンにインストールした場合(KVMやVMware ESXなどのさまざまなハイパーバイザーを備えたホストでこれを実行したことがある)深刻なクロックドリフト。良い方法が見つかりませんでしたし、誰もがこれを経験しているとは限りません。

質問:どうすればこれを防ぐことができますか? VM内で時刻を同期する際にntpdを強制的に強制する/etc/ntp.confに設定がありますか、または頻繁に実行されるcronジョブ内でntpdate -b timeserverを使用する必要がありますか?

Ubuntu仮想マシン内で一般的にntpdate -bまたはクロックドリフトを使用する場合、飛躍を避けるためにどの方法が推奨されますか?


補足:Solarisだけでなく、AIXを実行しているvios(IBMハイパーバイザー)スレーブにも同様の効果が見られました。そのため、問題は非常に現実的であり、一般的にハイパーバイザーに関連しているようです。

7
0xC0000022L

VMware ESXで実行されているLinuxマシンでも同様の現象が見られました。ドリフト(1日に数分)は、NTPおよびVMwareツール内のVMの両方によって時刻同期が行われたために発生したようです。 VMwareツールのプロパティ (ESXのVMプロパティ)で時刻同期を無効にすることで問題を解決しました。その後、NTPは、リモートタイムサーバーとクロックの同期を保つことができました。 .vmxファイルを手動で編集する場合、 set tools.syncTime = "0"

NTP内のVMを停止し、少なくともサーバーのドリフトを修正するために、ツールで時刻を同期させることもおそらく機能します。 ESX自体はNTPデーモンを実行できます。 VMwareの計時のベストプラクティス 時刻の同期には、VMWareツールの代わりにNTPを使用することをお勧めします。

VMwareは長めの VMware仮想マシンの計時に関するペーパー を公開しています。最も関連する箇所は、サブセクション「クロックソースカーネル」です。 VMware KBには Linuxゲストでの時間管理のトラブルシューティングのヒント もあります。

6
Gilles

少なくともVirtualBoxでは、次のことができます...以前に時間同期の問題がありましたが、 Guest Additionsの時間同期パラメーターの調整 は修正されたようです。

マニュアルの関連テキストは次のとおりです。

Guest Additionsの時刻同期パラメーターの調整

VirtualBox Guest Additionsは、ゲストのシステム時間がホスト時間と確実に同期するようにします。調整できるパラメーターがいくつかあります。次のコマンドを使用して、特定のVMにパラメーターを設定できます。

VBoxManage guestproperty set "VM name" "/VirtualBox/GuestAdd/VBoxService/PARAMETER" VALUE

ここで、PARAMETERは次のいずれかです。

--timesync-interval時間をホストと同期する間隔を指定します。デフォルトは10000ミリ秒(10秒)です。

--timesync-min-adjust調整を行うミリ秒単位で測定された最小絶対ドリフト値。デフォルトは、OS/2では1000ミリ秒、その他の場所では100ミリ秒です。

--timesync-latency-factor動的最小調整時間を計算するためにクエリレイテンシを乗算する係数。デフォルトは8回です。これは、詳細を意味します。ホスト時間を決定するのにかかる時間を測定し(ゲストはVMホストサービスに連絡する必要があります)、この値に8を掛け、ホストとゲストの時間差がこの値よりも大きい場合にのみ調整を行います。それ以外の場合は、時間調整を行わないでください。

--timesync-max-latency受け入れるホストタイマークエリの最大待ち時間。デフォルトは250ミリ秒です。

--timesync-set-threshold時間をスムーズに調整しようとする代わりに、時間の設定を開始するミリ秒として指定される絶対ドリフトしきい値。デフォルトは20分です。

--timesync-set-start時刻同期サービスを開始する時刻を設定します。

--timesync-set-on-restore 0|1 1をパラメーターとして渡すときに、VMが保存された状態から復元された後の時間を設定します(デフォルト)。 0を渡すことで無効にします。後者の場合、時間がスムーズに調整され、時間がかかることがあります。

これらのパラメーターはすべて、VBoxServiceへのコマンドラインパラメーターとしても指定できます。

ゲスト追加の時間同期を無効にする

VirtualBox Guest Additionsは、インストールして起動すると、ゲスト時間とホスト時間の同期を試みます。これは、ゲストサービスによるホストクロックの読み取りを禁止することで防止できます。

VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled"
6
Scott Goodgame

Virtualboxでは、VMのparavirtualisationパラメーターの変更を試みることができます。

マシンの設定で、Systeme> Accelerationenter image description here

これで問題が解決します。

0
Angel115