ブログトップ 記事一覧 ログイン 無料ブログ開設

仮想化でプリセールスしてるSEの一日 このページをアンテナに追加 RSSフィード Twitter

2012年10月30日

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

f:id:ogawad:20121001003258p:image: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 2012 の VM-Generation-ID の仕組み

WS2012 の AD と Hyper-V を組み合わせると、このうち 3 以外が改善されます。

具体的には、WS2012 Hyper-V で作成された仮想マシンは、前回 少し触れた Generation ID (VM-Generation-ID) という 128-bit の ID が付与されています。

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


  • スナップショットからの戻し
  • 仮想マシンインポート
  • VHD 単体から仮想マシンの生成
  • SCVMM によるクローン
  • 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 の重大パッチについて記事を書き起こしました。

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

*1:vmware-tools や Hyper-V ICs

北 2012/12/26 22:32 Windows Server 2008 R2 までの情報を知りたい場合は、以下の情報が参考になりますね。

- Hyper-V でのドメイン コントローラーの実行
<http://technet.microsoft.com/ja-jp/library/virtual_active_directory_domain_controller_virtualization_hyperv(v=ws.10).aspx>
- 仮想化ドメイン コントローラーのバックアップと復元に関する考慮事項
<http://technet.microsoft.com/ja-jp/library/dd363545(v=ws.10).aspx>

ogawadogawad 2013/01/16 00:13 北さん、こんばんは。
休みに入ってしまい、返信が遅れました。すみません。
ご紹介いただいた TechNet の記事は非常によく書かれていますね!

虎 2017/07/03 21:54 >後者のバックドアサービスでハイパーバイザーホストと同期するのは絶対に避けましょう。
なぜこのように思われるのか教えていただけると嬉しいです。

虎 2017/07/03 21:54 >後者のバックドアサービスでハイパーバイザーホストと同期するのは絶対に避けましょう。
なぜこのように思われるのか教えていただけると嬉しいです。

ogawadogawad 2017/07/04 02:08 虎さん、こんばんは。
コメントありがとうございます。

ご質問の件、MSのKBに記載されています。
現在KBサイトがダウンしているようなのですが、他のMVP様のサイトに転載されていますのでご覧になっていただければと思います。
http://yp.g20k.jp/2014/06/hyper-v.html

元のKBページにはもうちょっと具体的なケースが記載されていた気もしますが、うろ覚えですみません。私もまた後日アクセスしてみます。よろしくお願いします。

虎 2017/07/04 19:11 さっそくのお返事ありがとうございます。

教えていただいたサイトを見ると確かに
>ドメイン コントローラーとして構成された仮想マシンでは、統合サービスを通じてホストとの時間の同期を無効にしてください。
とありますね!
ただ、理由を読むとPDCエミュレータのサーバのみVMwaretoolsで時刻同期し、後のDCやメンバはそのPDCエミュレータのサーバを参照するという構成なら問題ないような気もします。実はその構成を取ろうと思っていたので今回質問させていただきました。
もう少し調べてみます。ありがとうございました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元