仮想化基盤を運営していて、よく問題になるのが時刻同期の話ですが、仮想化環境、特にVMwareでの時刻同期は基本的にNTPサーバへの時刻同期が推奨されます。


また、NTPによる時刻同期が推奨されるので、VMware Toolsにて時刻同期をオフにして利用しているケースが多いと思います。


ここで現場でよく勘違いされやすいのが、ここをオフにしておければ、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サーバと時刻を調整することになります。


そして、Linuxでは、7からNTPDに変わる、CHRONYDというサービスが利用できるようになっています。その為、RHEL7では、時刻同期にChronyを利用している企業が増えているのではないでしょうか。


Chronyを利用する場合、slewモードにより、緩やかに時間を調整することが可能になっていますが、設定の仕方を間違えると、時間調整にかなり時間がかかる場合があるので注意が必要です。