先日 Virtual Server + Active Directory で、自動的に起動するように設定しておかなければいけない話を書きましたが、もう一つ落とし穴がありました。

それは、

ホストOS と時刻の同期をしてはいけない

です。

Virtual Server では、ホスト OS とゲスト OS (バーチャルマシン) の時刻を合わせる方法が用意されています。「ホストの時刻の同期」という機能なのですが、

  • ホストOS はドメイン A に属している
  • ゲストOS はドメイン A のドメインコントローラである
    とき、何気なくこの機能を ON にしてしまうと第二の悲劇が訪れます。

私が実験した限りでは、ON にしているのに時刻がずれていきます。

  • Active Directory は Kerberos 認証のため、参加しているコンピュータはドメインコントローラを基準に時刻合わせしようとします。
  • しかし、そのドメインコントローラが、逆にドメインメンバーであるホスト OS 側の時刻に同調しようとします。

こうして無限ループに陥ってしまいます。対策としては 2通りの考え方があって、

  • Active Directory のバーチャルマシンだけは「ホストの時刻の同期」を OFF にする、
    かつ
    外部の NTP / SNTP サーバと時刻同期する (うちでやっている方法)

または

  • Active Directory のバーチャルマシンは「ホストの時刻の同期」を ON にしたまま
    かつ
    ゲスト OS (Active Directory) Virtual Server のホスト OS はドメインに参加しない
    かつ
    外部の NTP / SNTP サーバと時刻同期する (でも未検証)

のどちらかを行えば OK です。