この環境でVMware ESXi 6.7.0 Update 2をインストールしハイパーバイザーで仮想マシンを建てていたが、ゲストOS(仮想マシン)の日時がホストマシンとうまく同期されずに困ったのでメモ。
環境
ホスト:VMware ESXi 6.7.0 Update 2
ゲスト:Windows10 Pro
Red Hat Enterprise Linux 8
※VMware Toolsをそれぞれインストール済み。
事象
何も考えずそれぞれのOSデフォルトインストーラで仮想マシンをインストールすると
ホストとゲストOSの時間が12時間ぐらいずれていた。。。
検証時にログを取得する際のタイムスタンプずれの問題やそもそも気持ち悪いのでどうにか直したかった。
修正方法
調べるとこちらの記事やこちらの記事があったので参考に修正してみる。
BIOSの時刻がずれてる説
そもそもホストのBIOS時刻がずれているのでゲストマシンの時刻が変に同期されているかも?
と思ってBIOSを確認。なぜか1時間だけ時間がずれていたので修正。(でも12時間とか大幅にずれているわけではない)
VMware Toolsによる時刻同期がうまくできていない説
ESXiからVMware Toolsの設定を確認する。
どうやらデフォルトだと ”ホストとゲスト時間を同期”の項目が有効じゃないぽい。
有効にして仮想マシンを再起動にして解決じゃん!と思ったらWindows10側が同期されない。。。
VMwareのナレッジを確認
NTPサーバを建てるのが必須?とか思いましたが
VMwareのナレッジを確認します(最初からそうするべきなのでは)
ゲスト OS とホスト OS 間の時刻同期の構成
時刻同期の発生後、VMware Tools は 1 分に 1 回ゲスト OS の時計がホストの時計に一致しているかどうかを確認します。一致していない場合は、ゲスト OS の時計がホストの時計と一致するよう同期がとられます。
ゲスト OS の時計がホストの時計より遅れている場合、VMware Tools はゲストの時計を進めてホストの時計と同じになるようにします。ゲスト OS の時計がホストの時計よりも進んでいる場合、VMware Tools は両方の時計が同期するまで、ゲストの時計が進む速度を遅くします。
Linux および Mac OS X 用の NTP (Network Time Protocol) や、Windows 用の Win32Time (Microsoft Windows Time Service) といったネイティブの時刻同期ソフトウェアは通常、VMware Tools の定期的な時刻同期よりも正確であるため、それらの使用が推奨されます。
つまりNTP建てるのがベターだけどホストの時計にVMware Toolsが合わせてくれる方法でもOKらしいです。
VMware Toolsで時刻同期させてもずれる??
解決したかと思いましたが時刻が同期されてもしばらくすると半日ぐらい時間がずれてしまう事象が発生。。。
調べるとこういう記事が出てきましたので時刻を同期させたいならNTPサーバは必須ぽいです。(そもそも商用環境でNTPサーバが存在しないってほぼほぼないような気がしますが、、、)
インターネットに出ていけるならOS側で公開NTPサーバと同期させれば解決
今回の場合はNTPサーバ建てずにVMware Toolsの時刻同期を解除して
nictとかの公開NTPサーバに時刻をゲストOS側で同期させることで解決しました。