コラム

第2回
Windows Server 2012の機能強化と
仮想環境対応強化のポイント
自己紹介
村松 真

株式会社ソフトクリエイト 技術本部
ネットワークソリューション部 技師長 村松 真

■主な経歴
マイクロソフト社で現在のベースとなる技術を身につけた後、当社で 10年以上、技術本部の Microsoft 技術者の中心的人物として活躍し、特にVBScript技術を利用した Active Directory 関連の移行ソリューションは数多くの納入実績を誇り、お客様からの信頼も厚い。 2015年度からは技師長としてソフトクリエイトの技術部門を牽引している。

2015年9月7日

こんにちは、村松です。 第2回は、Windows Server 2012 サーバを実際に導入する場合の注意点にフォーカスして、ご案内していきたいと思います。現在の Windows サーバは、Windows NT の登場からバージョンを経て様々な機能が強化されてきたわけですが、Windows Server 2012 ではクラウド環境での利用に適した機能を中心に強化が図られております。今回は、管理機能と Active Directory の強化点について、ポイントを絞ってご案内して参ります。

管理機能の強化

Windows Server 2012 では、大きく3つの管理機能が強化されました。1つ目は「複数のサーバを管理可能となったサーバマネージャ」、2つ目は「強化されたPowerShell」、そして3つ目が「Server Core」です。
 まず「Server Core」ですが、これは、Windows Server をGUIではなくコマンドラインで制御する機能です。そもそも Windows のGUIには脆弱性の問題やパフォーマンス劣化の可能性があるため、そういった課題を回避するためにGUIを取り除き、コマンド操作だけで、Windows Server を制御するというものです。Windows Server 2008 で導入されましたが、この時はインストール時に選択しなければなりませんでした。それが、Windows Server 2012 ではあとからGUIモードと Server Core を行き来できるようになりました。

次に「強化されたPowerShell」についてですが、もともと Windows Server では、操作性を考慮するためにGUIがメインとして存在し、GUI操作だけでは賄えない部分をコマンドラインで補うという位置づけでした。それがWindows Server 2012 では、立場が逆転し、膨大な機能の制御や複数台の Windows Server の効率的な管理を目的としてコマンドラインでの制御がメインとなり、その補助としてGUIが存在するイメージになっています。
 Windows Server 2012 のGUI機能は、Power Shellのコマンド文字列を生成するためのウィザードとしての役割が増えており、OSそのものの制御はPowerShellによるコマンドラインがバックグラウンドで実行される格好になっています。
 最後に「サーバマネージャ」ですが、Windows Server 2012 では、複数の Windows Server を1つの画面上で管理することが可能となりました。 つまり、従来は一つ一つのサーバへリモートデスクトップでログインして、操作していたものが不要となり、すべて1つのサーバマネージャ画面から命令実行できるようになりました。

 これら機能の意味するところは、1つのサーバマネージャ画面で複数台のWindows Server を一元管理できるため、その支配下にあるサーバ群では前述の「Server Core」によってGUIを取り除いた形でも運用することが可能になるということです。まさに多数のサーバを効率よく集中管理する必要があるクラウド時代に合わせた機能といえます。

Active Directory の機能強化

Windows Server 2012 では、Active Directory 関連の機能強化も図られました。その中で目玉としているのは「Active Directory の仮想化対応」です。 もともとマイクロソフトでは、Windows Server 2008 までは、Active Directory を仮想ゲスト上で構成することは非推奨とされてきました。しかしながら、仮想といってもWindows OSそのものは物理サーバで構成するそれと何ら変わりが無く、Active Directory を仮想ゲスト上で構成することそのものは、Windows Server 2008 でも可能でしたし、実際に構築運用されているお客様もいらっしゃいます。では、非推奨とされてきたその理由は何なのでしょうか?それは、仮想化特有の管理方法にありました。

その仮想化特有の管理方法の中でもっとも典型的な理由とされてきたのがスナップショット(チェックポイント)です。仮想化するとこのスナップショットを使うことによって、ある時点のOSのイメージをメモリ上のデータごとファイルに書き出せるということで、バックアップや可用性という視点において非常に便利な機能となっています。しかしながら、通常複数台で構成されている Active Directory は、常時お互いのデータベースを「同期」しており、例えばこのうち1台が過去のスナップショットからリストアされた場合、この1台だけ過去の状態となって復元され、ドメインコントローラ間でシーケンス番号の矛盾が生まれてしまいます。ドメインコントローラはこのシーケンス番号の矛盾を検知すると、同期をやめてしまう動きをとります。これがいわゆるUSN(更新シーケンス番号)ロールバック問題とされてきた理由です。

そこでWindows Server 2012 では、「生成ID」というIDを仮想ホストから供給を受けることで、この問題を回避できるようになっています。 この「生成ID」を仮想ゲスト上のドメインコントローラがデータベース内に保持することによって、スナップショットからリストアされた際に新しく付与される「生成ID」と、データベース内の「生成ID」を自分自身で比較し、過去の時点に戻ったことを検知すると、同期することを行わずに他のドメインコントローラから情報を受け入れる専用のモードで稼動するようになります。この機能によってWindows Server 2012 からは、Active Directory を仮想環境で構成しても問題はないとお墨付きが出たというわけです。

この機能は、「生成ID」を供給できるハイパーバイザーでなければならないわけですが、Windows Server 2012 Hyper-V のほかにVMwareのESX5.5以降でも対応しています。

Active Directory の仮想化対応

Windows2003 Windows Server 2012 R2

 Active Directory を仮想化する場合の課題はこのスナップショットの問題だけではありません。他にもいくつか課題とされているものがありますが、もう一つが時刻同期の問題です。
仮想環境というのはCPUリソースを共有しているため、時刻がずれやすいシステムです。このため他のホストや外部のNTPサーバなどと時刻を合わせるための対処が必要となります。Active Directory は、時間を使って認証するシステムであるため、5分以上の時刻のずれが生じると認証をやめてしまう恐れがあります。
つまり、Active Directory を仮想環境で構成することそのものは問題ないが、時刻がずれないようなケアをする必要があるということになります。

他にも仮想化に際する課題はありますが、これらを適切に対処することによってActive Directory を仮想環境で構成し、運用することが可能となっております。

総括

 今回は、Windows Server 2012 の強化された管理機能と Active Directory の仮想化に関する内容にフォーカスを当ててご紹介いたしました。Windows Server 2012 では、この他にも重複排除機能やパスワードポリシー機能強化、ゴミ箱機能強化といった大小さまざまな機能が追加されています。これらの機能のメリット・デメリットをしっかりと把握し、活用していくことが重要だと思います。

  
TOP