Nutanix CE の AHV はシステムクロックが UTC で、ユーザ VM の「VMのハードウェアクロック」は、起動した時点では AHV のもつ時間を基準に時刻設定されます。このVMのハードウェアクロックには hwclock_timezone というタイムゾーン設定があります。
Prism で作成した VM の hwclock_timezone
Prism で VM を作成した場合は、デフォルトでは Web ブラウザのローカルタイムゾーンが設定されるようです。日本のブラウザでは、デフォルトが UTC+9時間の「Asia/Tokyo」です
この設定は、acli でも確認できます。ちなみに、なにも設定されていない場合は UTC になるようです。
CVM$ acli vm.get linux-vm-01 | grep hwclock hwclock_timezone: "Asia/Tokyo"
ゲスト OS によっては、この hwclock_timezone デフォルト設定のままだと、VM 起動時の時刻が実際の時刻と合わなくなることがあります。
たとえば、最近の Linux ディストリビューションではシステムクロックが UTC 設定なので、 AHV / VM のレイヤーで JST に変換してしまうと、ゲスト OS でローカルタイムゾーン設定で JST になるようになっていると、未来の時間(たとえば、UTC+JSTの9時間+さらにもういちどJST9時間)に設定されてしまいます。
そこで、ゲスト OS のシステムクロックが UTC の場合は、VM の hwclock_timezone も UTC(UTC に プラスやマイナスの記載がないもの)にすると実際の時刻で VM を起動することができるようになります。Prism / acli のどちらでも設定変更はオンラインで可能ですが、実際に反映されるのは VM の停止 / 起動が必要です。
Prism では、VM の「Update」から VM のタイムゾーン設定を変更できます。
acli でも設定できます。
CVM$ acli vm.update linux-vm-01 hwclock_timezone=UTC linux-vm-01: pending linux-vm-01: complete Changes will only take affect after a full VM power cycle. vm.power_cycle 73a034d8-7e34-4fc2-b19b-fe85d3df57bd
acli で作成した VM の hwclock_timezone
acli で VM を作成してみます。
CVM$ acli vm.create vm01 vm01: pending vm01: complete
acli や API で作成された VM は、デフォルトでは UTC になります。
なお、ゲスト OS が起動した時点で NTP サーバなどと時刻同期できる環境であれば、タイムーン設定が微妙でもなんとかなっていることがあります。
以上。