今では多くの企業が仮想化基盤を運営していることが多いと思いますが、よく話題になるのが時刻同期の話です。
仮想化環境、特にVMwareでの時刻同期は基本的にNTPサーバへの時刻同期が推奨されます。また、NTPによる時刻同期が推奨されるので、VMware Toolsにて時刻同期をオフにして利用しているケースが多いと思います。
時刻って意外とズレると問題が多く発生しますからね。以前もActiveDirectoryを仮想サーバーにするのは時刻がずれるからよくないなんて話がありましたが、今では普通に仮想マシンとして構築していますけどね。
そして、稼働中のサーバーにて、確認したんですが、VMwareToolsはデフォルトでESXiホストと仮想マシン間の時刻同期は無効になっているかどうかです。確認には以下のコマンドを使用しました。
# vmware-toolbox-cmd timesync status
このコマンドを実行すると、Disable または Enabledが表示されます。日本語表示の場合は、「無効」と表示されます。ということで、実機では無効になっていましたので、そおらくデフォルトは無効なのかと思いますが、もしかしたらNTPの設定で無効になるのかもしれません。
そして、現場でよく勘違いされやすいのですが、ESXiとの時刻同期をオフにしておければ、ESXiとの時刻同期は完全に行われれないと思っている人が多い事です。実際に私も、ここをオフにしていれば、時刻同期はされないものと勘違いしていました。
実際はここをオフにしていても、ある状況においては、時刻同期がされてしまいます。それが、公式サイトに書かれています。
時刻同期の無効化 (2076744)
https://kb.vmware.com/s/article/2076744
VMware Tools のコントロール パネルで、[時刻同期] チェックボックスはオフになっていますが、次のようなシンプトムが発生することがあります。
仮想マシンをサスペンドする場合、その仮想マシンを次回レジュームするときに、ホストに合わせて時刻が同期されます。
時刻は、vMotion を使用した仮想マシンの移行、スナップショットの作成、スナップショットの復旧、仮想ディスクの圧縮、または仮想マシンでの VMware Tools サービスの再起動(仮想マシンの再起動を含む)を行うときに再同期されます。
ここにある通り、vMotion、スナップショット関連の捜査、そして、VMware Toolsの再起動、仮想マシンの再起動などで、仮想マシンはESXiと時刻の同期を行います。
どこかのブログでみましたが、ESXiの時刻同期が失敗していて、時刻が大幅にずれていた関係で、vMotionのタイミングで仮想マシンがESXiに時刻を合わせて、同様に時刻がズレたという話を聞いたことがあります。
仮想マシンもそうですが、ESXiも時刻がズレないように正しくNTPの設定をしておく必要があります。ちなみに、完全無効化する設定もありますが、完全無効化すると仮想マシンはOS起動時に時刻を参照することができなくなるので、やらないほうがいいのではないかと思います。
Resolution
[時刻同期] チェックボックスでは、仮想マシンの実行中に時刻を定期的に再同期するかどうかのみを制御します。 このチェックボックスがオフの場合でも、時刻が不正確になりがちないくつかの特定のイベントの後で、VMware Tools はデフォルトで仮想マシンの時刻を同期します。
ESXiは稼働する仮想マシンが時刻を合わせに行く重要な役割があるので、ESXiも時刻がズレないように正しくNTPを設定して動作確認を行う必要があります。その為、仮想マシンの再起動、vMotion時はESXiと時刻を調整し、通常運用時は、指定したNTPサーバと時刻を調整することになります。
意外と知らないという人もいるかもしれませんので、参考にしてみてください。