XenServerがオープンライセンスになったので、KVMと合わせてXenServerの動作も少し調べている。
ゲストがWindowsでは、KVMより軽い感じがしている。

しかし、XenServer上でWindowsを動作させるとOS時間において9時間のずれが発生するのでこれを調査。
9時間のずれなので、Windowsが見ている時間がUTC時間という想定はできるのだが、BIOSおよびXenServerではJST時間となっており9時間のずれを発生させる理由が見つからない。
想像だが、XenServerにおける仮想プラットホームにおいて、ホストにおけるタイムゾーンを考慮した計算がされてしまい、結果としてゲストOS上のBIOSではUTC時間となってしまっている事が予想される。 ゲストがLinuxであれば、タイムゾーンの設定においてBIOS時間がUTCなのかローカル時間なのかを指定できるので問題ないがWindowsではBIOS時間はJSTとなっている事を前提にしているので、これでは運用上困ったことになる。 で、いろいろと調べてみたがゲストOSにおけるvm-param上の platform という場所に timeoffset というものがある事が判明。 どうやら、これをいじることでホストであるXenServerの時間との差分を指定できるようなので、これを設定したら見事に時間が調整できました。

指定方法としては、XenServerのコンソールで

1)仮想ゲストのUUIDを調べる
  > xe vm-list

2)仮想ゲストのplatform (MRW):の状態を確認
  > xe vm-param-list uuid=上記1)で調べたUUID

3)timeoffsetの指定
  > xe vm-param-set platform:timeoffset=32400  uuid=上記1)で調べたUUID

として、ゲストOSを起動すれば時間が合うようです。