ドメインコントローラーは非常に軽いシステムのためハードウェア要件も低いです。
メモリも4GBあれば、ある程度の規模でも問題なく稼働します。
そのため、Active Directoryの構成を検討する際に、ドメインコントローラーを仮想化すればいいのではと考えるのは至極まっとうな考えだと思います。
そもそもドメインコントローラーを仮想化できるのでしょうか?
仮想化可否とその理由を解説していきます。
Active Directoryのインストールがまだのかたはこちら
Windows Server 2016 でActive Directory を インストール【2台構成】
1.ドメコン仮想化はできるの?できないの?
そもそもMicrosoftはドメコンの仮想化をサポートしているのでしょうか?
結論は「サポートしている」です。
ということはドメインコントローラーの仮想化できるということですね。
ただし、条件がいくつかあるようです。
【設計/構築時の考慮】
● 最低1台の物理ドメインコントローラを確保する
● Hyper-V 統合サービスの時刻同期機能をオフにする
⇒ ドメインコントローラの時刻同期には、物理環境と同じく W32time サービスを利用
●仮想ディスクには、差分ディスクは利用しない
【運用時の考慮】
●ドメインコントローラを長い期間、保存・停止状態にしない
⇒ 物理環境と同じく、残留オブジェクトを回避するために廃棄 (Tombstone) の有効期限の設定より長い間オフラインにしない
●スナップショット機能は使わない
⇒ USN(更新シーケンス番号)がロールバックされる可能性を回避
●バックアップ/リストアは物理環境と同じ
⇒ エクスポート/インポート、VHDファイルによるバックアップは NG
2.物理サーバを1台確保するのはなぜ?
それは「仮想化環境は時刻がずれやすい」からです。
仮想環境で時刻がずれやすいのは、仮想環境の宿命です。
仮想環境のvCPUでオーバーコミットが発生すると、ある仮想サーバを強制的にフリーズさせます。
同じ仮想サーバのフリーズ時間が長いと問題が発生するため、一定時間でフリーズさせる仮想サーバを切り替えます。
実際のサーバの稼働に問題は発生しないレベルでプチフリーズが繰り返されますが、どうしても時刻については遅れていきます。
Active Directoryは認証サーバのため、時刻についてはかなりシビアになります。
Active Directoryで認証を行う際に、時刻がおおきくずれていた場合に認証が失敗することがあります。
ドメインコントローラーは自動でNTPサーバとなり、ドメインに参加しているコンピュータはドメインコントローラに時刻同期を行いにいく仕様になっています。
また外部のNTPサーバの他に、ドメインコントローラ同士でも時刻同期を行うため、すべて仮想サーバだとせっかく時刻同期を行ってもずれた時刻に同期してしまう恐れがあります。
そのため、最低1台は物理サーバを確保し、正しい時刻を確保する必要があります。
3.スナップショット機能は使用してはいけない!?
仮想化のメリットとして、その時点の状態を取得でき簡単に戻せるスナップショット機能があります。
ただし、Active Directory環境でスナップショット機能を使う際は注意が必要です。
Active Directoryはマルチマスタのため、複数のドメインコントローラーでお互い自動で複製しあいます。
複数台ドメインコトローラが稼働している環境において、ある1台のドメインコントローラにてスナップショット機能で復元を行うと、ドメコン間で不整合が発生しActive Directory間で同期ができなくなります。
Active Directory環境で複数台ドメコンが稼働している場合、スナップショットを取得するときはドメコンをすべてシャットダウンした状態ですべてのドメコンのスナップショットを取得する必要があります。
本番環境ですべてのドメコンを停止すること自体不可能に近いため、実質スナップショット機能は使用できないと考えるのが妥当です。
以上です。