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

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

AD 仮想化に正式対応する Windows Server “8” - Active Directory 仮想化 (3)

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

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


これまで過去に2回、
Active Directory ドメインコントローラを仮想化するリスクを紹介してきました。

少なくとも親となるドメコンは物理で立てる必要があるのですが、今のサーバースペックを持ってすると AD をベアメタルにインストールするのはもったいない!
ようやく Microsoft も AD を仮想化対応に取り組んでくれたようです。


Windows Server "8" では AD の仮想化に正式対応

昨年9月にアナハイムで次期 Hyper-V の新機能が発表された際に
AD の仮想化に対応」という記述がありました。

Active Directory will be virtualization aware, providing snapshot support for VMs running Domain Controllers, and support for DC cloning.

2月にシアトルで詳細な設計を聞いたものの NDA ということで Blog に書くのは阻まれていたのですが、Microsoft 自身からも少しずつ情報が一般開示されているようなので、紹介していきたいと思います。

Windows Server "8" の AD 仮想化対応の仕組み

今日現在、一般公開されている情報のうち、日本語で詳しいのは以下です。

Windows Server "8" Beta では、ハイパーバイザーによって公開される一意の識別子が仮想ドメイン コントローラーによって使用されます。これは、仮想マシンGenerationID と呼ばれています。
仮想マシンの時間的ステータスに影響するイベントが発生するたびに GenerationID が変化します。GenerationID は、仮想マシンBIOS 内のアドレス空間で公開され、Windows Server "8" Beta 内のドライバーを介してオペレーティング システムやアプリケーションに公開されます。
仮想ドメイン コントローラーは、ブート中およびトランザクション完了前に、仮想マシンの最新の GenerationID の値と、ディレクトリに保存しておいた値とを比較します。不一致は "ロールバック" イベントと解釈され、...

http://technet.microsoft.com/ja-jp/library/hh831477.aspx

仮想マシンBIOS 内に、AD 仮想化用の特別な識別子があり、ここの値がチェック機構として作用するそうです。当然ながら、BIOS 内にこの識別子用のアドレスを取らなければいけないため、ハイパーバイザーの対応が必須になります。
VMware有識者「SMBIOS」パラメータを弄ることが多いので概念は理解されていると思います。
なお、Hyper-V の場合、正確には仮想 BIOS (nvram) ではなく、仮想マシン構成情報ファイル *1 上で保持されます。

この仕様は RC から変更となり、
VM-Generation-ID (VMGID) は NTDS 内に保持されるそうです。



「もっと興味がある!」という方は、英語になりますが下記のページを読むと理解が深まります。

Active Directory Domain Services (AD DS) Virtualization - Microsoft
http://technet.microsoft.com/en-us/library/hh831734.aspx


AD を安心して仮想化できる時代はもうすぐみたいです。


2012.10.31 追記

Windows Server 2012 も正式リリースされたということで、
Generation ID など AD 仮想化対応についてまとめてみました。

Windows Server 2012 の AD 仮想化対応のまとめ - Active Directory 仮想化 (4)
http://d.hatena.ne.jp/ogawad/20121030/1351618858

*1:VMware でいう vmx のようなもの