専用サーバーの仮想マシンでドメインコントローラーを運用する際の注意点

さくらの専用サーバーで Windows Server を使ったシステムを構築すると、Active DirectoryのドメインコントローラーもHyper-V の仮想マシンとして構築したいと考えるのが一般的だと思いますが、ドメインコントローラーの仮想化についてはいくつか注意が必要です。今回はドメインコントローラーの仮想化の注意点についてご紹介します。

ドメインコントローラーの仮想化対応は Windows Server 2012 から

Active Directory のドメインコントローラーは従来仮想環境をサポートしていませんでしたが、 Windows Server 2012 から特定の仮想環境での実行をサポートしています。その特定の環境とは ハイパーバイザーが GenerationID をサポートしていることです。この機能は Windows Server 2012 以降の Hyper-V でサポートしています。(https://technet.microsoft.com/ja-jp/library/hh831477.aspx

 このドメインコントローラーの仮想化についての技術的な詳細はこちら(https://technet.microsoft.com/ja-jp/library/hh831477.aspx )のページに詳細が記載されていますので、興味があれば読んでみることをお勧めします。

 さくらの専用サーバーではホストOSとして Windows Server 2012 R2 を選択していて、仮想マシンとして Windows Server 2012 以降を利用した場合は ドメインコントローラーを仮想環境で動かすことが可能です。

仮想マシンの時計がずれる

ドメインコントローラーの仮想化がサポートされても、気を付けなければいけないことがあります。それは時刻同期です。Active Directory 環境の認証に利用される Kerberos という仕組みは時刻の正確性が重要になります。通常 Active Directory 環境ではクライアントはドメインコントローラーと時刻同期を行います。そのため、ドメインコントローラーの時刻が不正確だと問題が発生する可能性があります。

Hyper-Vに限らず、仮想環境は仕組み上時刻がずれやすい(遅れやすい)環境です。そのため、Hyper-V では Hyper-V 統合サービスの機能を利用して ホストOSとゲストOSの時刻を同期する仕組みがデフォルトで有効にされています。しかし、ドメインコントローラーが仮想化されていて、ホストOSがそのドメインのクライアントになっている場合、ホストOSとゲストOSで相互に時刻同期を繰り返すことになり、少しずつ時刻がずれていきます。ですので、仮想化されたドメインコントローラーは、ホストOSではなく外部の信頼できるNTPサーバーと時刻を同期するようにしましょう。

仮想化されたドメインコントローラーの時刻同期設定を変更する

まずは、仮想マシンがホストOSと時刻同期する設定を無効にしましょう。この設定は仮想マシンの設定画面で [統合サービス] の [時刻の同期] のチェックを外すことで無効化できます。

スクリーンショット (112)

次に、ドメインコントローラーの時刻同期先を設定します、ここでは NICT (独立行政法人 情報通信研究機構 ) が公開しているタイムサーバーから時刻を取得するように変更します。まずは仮想マシンにログインしてコマンドプロンプトを起動します。コマンドプロンプトが起動したら以下のコマンドを実行します。

w32tm /config /syncfromflags:manual /manualpeerlist:ntp.nict.jp /update
w32tm /resync

この2つのコマンドを実行すると、時刻の取得先を変更した後に新しい設定で時刻同期を行います。もしすでに時刻がずれていた場合はこのタイミングで正確な時刻に修正されているはずです。

また、コマンドプロンプトで以下のコマンドを実行すると時刻同期の設定を取得することができます。 ソースの行を確認すると時刻の取得先を把握することができます。

w32tm /query /status
スクリーンショット (113)

このようにして、仮想環境であってもActive Directory ドメインコントローラーを運用できます。なお、Windows Server 2012 よりも古いバージョンで仮想化したドメインコントローラーを運用する場合は以下のドキュメントを参照してください。

http://blogs.technet.com/b/windowsserverjp/archive/2010/03/12/3318428.aspx

https://technet.microsoft.com/ja-jp/library/dd363553(WS.10).aspx