仮想マシンとVMware ESXiハイパーバイザー間の時刻同期を完全に無効にします

小さいながらもかなり役立つ記事。 誰かが将来問題を回避するのに役立つことを願っています。

最近、私たちのプロジェクトの1つで、仮想マシンとNTPサーバー間の同期がずれたために予期せぬインシデントが発生しました。 その理由はすぐに見つかりました。この時点で、ハイパーバイザーのBIOSの更新が原因で、ホスト間でvMotionの大規模なオンライン移行が行われました。 さらに、ホストもNTPサーバーから時間を受け取りましたが、ハイパーバイザーが完全に時間を同期する時間がないため、仮想マシンはハイパーバイザーをオンにした直後に移行を開始したため、移行が行われたホスト間に時間差がありました。 明らかに、これは仮想化チームの側の誤りでしたが、UNIXチームという私たちに事件の嵐を引き起こしました。



「ホストと時刻を同期する」設定がすべての仮想マシンで無効になったため、状況は非常に驚きました。 理由はVMware KBで見つかりました:

行には特別な注意が必要です。

VMware Toolsコントロールパネルでは、時刻同期チェックボックスは選択されていませんが、次の症状が発生する場合があります。

  • 仮想マシンをサスペンドすると、次回その仮想マシンを再開するときに、ホストに合わせて時刻が同期されます。
  • vMotionを使用した仮想マシンの移行、スナップショットの取得、スナップショットへの復元、仮想ディスクの縮小、または仮想マシンでのVMware Toolsサービスの再起動(仮想マシンの再起動を含む)すると、時刻が再同期されます。


それはとても予想外です。 Vmvaryaは、移行中に時刻を強制的に同期し、スナップショットを削除するなどの「特別な」場合に判明します。 2つのホスト間に時間差があり、それらの間で仮想マシンを移行する場合、この時間差はシステムクロックに影響し、ntpdで既知の問題を引き起こす可能性があります。



そして最後に、私が記事を書いた最も重要なこと:同じ記事で、この問題を永遠に取り除く方法について述べています-各仮想マシンのプロパティに特定の設定を行う必要があります。つまり、仮想マシンのvmxファイルに変更を加えます。

tools.syncTime = "0"

time.synchronize.continue = "0"

time.synchronize.restore = "0"

time.synchronize.resume.disk = "0"

time.synchronize.shrink = "0"

time.synchronize.tools.startup = "0"

time.synchronize.tools.enable = "0"

time.synchronize.resume.host = "0"


vSphere Clientインターフェイスでも同じことができます。

したがって、人的要因または客観的な理由によって引き起こされるハイパーバイザー側の誤った時間設定から身を守ることができます。



All Articles