仮想化でプリセールスしてるSEの一日

VMware から Azure まで、インフラや仮想化の最新情報をベンダー色をできるだけ抑えて綴っていきます

Windows Server 2012 の AD 仮想化対応のまとめ - Active Directory 仮想化 (4)

f:id:ogawad:20190203195637p:plain:right

(1) Active Directory ドメインコントローラ (AD) の仮想化は NG?
(2) なぜゲストの時刻はずれるのか?
(3) AD 仮想化に正式対応する Windows Server “8”
(4) Windows Server 2012 の AD 仮想化対応のまとめ


Windows Server 2012 がまだ Windows Server“8”と呼ばれていた頃、新機能「Generation ID」と共に WS2012 が AD 仮想化に "正式" 対応すると書きました。
Microsoft もこの部分を強くフィーチャーしていますが、
AD 仮想化にあたっては、気をつけなければならないリスクがあります。

WS2012 も正式リリースされたということで、
「WS2012 にすると従来の何が改善されたのか?」 をまとめてみました。

Active Directory 仮想化のリスク

Windows Server 2008 R2 時代まで、
AD の仮想化は主に次の4つのリスクを背負う必要がありました。

  1. 専用のリストア手順が必要な AD に対し、深く考えずにスナップショットを取得・戻してしまうことで、USN が先祖返りし、不整合を起こす
  2. VHDコピーや Import/Export で保管した AD を戻そうとした際に、
    オブジェクトの RID が重複したり、Tombstone 状態を引き起こす
  3. 仮想化ならではの CPU スケジューリングによって時間がずれる(→ 詳細
  4. 開発元の Microsoft が、サポートこそ受けるものの、推奨しない

Windows Server 2012VM-Generation-ID の仕組み

WS2012 の AD と Hyper-V を組み合わせると、このうち 3 以外が改善されます。
具体的には、WS2012 Hyper-V で作成された仮想マシンは、前回 少し触れた Generation ID (VM-Generation-ID) という 128-bit の ID が付与されています。

この VM-Generation-ID は、
次のような Hyper-V API を介した命令の際に、値が変わる仕様になっています。


次回起動時に VM-Generation-ID が変わった場合、WS2012 の Active Directory は自動でリカバリモードに入ります。「自分のデータは古い」ことを理解して、他の AD から正しいデータを複製し、再同期させるのです。


これにより、『深く考えずに仮想化の機能で戻しちゃった』といったオペミスを防げる というのが WS2012 の仮想化対応のメインです。他には「仮想化された AD を冗長化する際に、仮想化の複製機能(クローンなど)を使っても良い」などになります。

若干期待外れに感じるかもしれませんが、前述のオペミス保護機能のついたハイパーバイザーであれば、Microsoft「AD 仮想化非推奨」を撤回するそうなので、ユーザーとしてはそれが一番大きな特典かもしれません。


時間のズレはやはり防げない...

なお、3番目(時間のズレ)はやはり防げないそうです。
そういえば、以前このブログで言及した後に、よく次の質問をいただきます。

  • うちの会社はずっと仮想化しているけど問題出たことない
  • バックドアサービス*1 の時刻同期機能を使えば済む話では?


時刻のずれ幅や、それによる Kerberos の挙動は環境に依存します。
認証対象の数が 100 とか 200 IDs であったり、
「MSCS を使うためだけに、サーバルームで閉じた AD を立てる」といった規模であれば、認証要求の負担も小さいため、おそらく大丈夫です(保証できませんが)
後者のバックドアサービスでハイパーバイザーホストと同期するのは絶対に避けましょう。また、一部の VDI や Exchange, Lync など、AD スキーマや AD フェデレーションを使うアプリを入れると、小規模でもリスクが増えてくると思います。


2013.8.1 追記
VM-Generation-ID の VMware 対応や、
AD 仮想化時の Hyper-V の重大パッチについて記事を書き起こしました。

VMwareWindows Server 2012 の新機能は使える? - (1) AD 仮想化
http://d.hatena.ne.jp/ogawad/20130801/1375311988

*1:vmware-tools や Hyper-V ICs