SCVMMのサービスの展開では、仮想マシンだけではなく、仮想マシンを含めたアプリケーションを「サービステンプレート」として作成することで、複数の仮想マシンを一度に展開してサービスインスタンスを形成することができる。例えば、3階層のサービステンプレートを用意すれば、Webサーバー、データベースサーバー、アプリケーションサーバーを同時に展開することが可能になる。
■サービスの展開の流れ
サービスの展開は次の3つのステップで行う。
先述のVMテンプレートでは、ハードウェアプロファイルとゲストOSプロファイルを紹介したが、その他にも「SQLプロファイル」や「アプリケーションプロファイル」などがある。しかし、仮想マシンの展開では、SQLプロファイルやアプリケーションプロファイルは使用しない。なぜなら、これらのプロファイルはサービステンプレートを作成し、サービスの展開時に初めて使用されるものだからだ。サービスの展開時に初めて意味を成す設定には、ゲストOSプロファイルの「ロールと機能」も含まれる。
サービスの展開によって、SQL Serverや各種アプリケーションを仮想マシンの展開後にワンステップでインストールできるようになる。これにより、簡単に階層構造のアプリケーションサービスを構築できるのだ。サービスの展開において、VMテンプレートで設定されているロールの展開やSQL Serverプロファイル、アプリケーションプロファイルが初めて有効になる。
SQL Serverプロファイル
SQL Server 2008 R2からサポートされた2段階セットアップでは、Sysprepに対応したインストールが可能となった。これにより、インスタンスの展開を簡略化することができる。手順としては「イメージの準備」を行い、Windows ServerのSysprepを実行後に「イメージの完了」を行う。
イメージの準備
SQL Serverのセットアップ画面で、「SQL Serverのスタンドアロンインスタンスのイメージの準備」を実行する。
イメージの完了
SQL Serverのセットアップ画面で、「SQL Serverの準備済みスタンドアロンインスタンスのイメージの完了」を実行する。
SCVMMではSQL Serverの自動展開がサポートされている。SQL Serverを展開するには、マスターとなる仮想マシン上でSQL Serverの「イメージの準備」作業を行い、Windows ServerのSysprepを実行する。この際、SQL Serverのメディアソースをあらかじめ仮想マシンに忘れずにコピーしておく。これは仮想マシンの展開後にSQL Serverの「イメージの完了」セットアップを行うためである。
SQL Serverプロファイルは「イメージの完了」セットアップ時に使用する情報であり、サービスの展開でSQL Serverプロファイルを設定しておくと、仮想マシンの展開後にSQL Serverの「イメージの完了」セットアップが行われる。
アプリケーションプロファイル
仮想マシンをサービスの一部として展開する場合は、「アプリケーションプロファイル」を使用する。これにより、特定の種類のアプリケーションをインストールするための構成手順を指定できる。
SQL Server DAC(SQL Serverデータ層アプリケーション)
SQL Server 2008 R2以降では「DAC(Data-tier Application Component:データ層アプリケーション)」と呼ばれる新しい種類のパッケージがサポートされている。DACは、アプリケーションが使用するデータベースとインスタンスの全てのオブジェクトを含む。
Server App-Vアプリケーション(仮想アプリケーション)
Server App-Vエージェントを実行するサーバー上に展開される仮想アプリケーションをパッケージするテクノロジ。仮想アプリケーションはローカルインストールを必要としないが、あたかもローカルのアプリケーションのように動作する。
Webアプリケーション
VMMライブラリに格納されるパッケージで、Webベースアプリケーションのコンテンツ、Webサイト、証明書、およびレジストリ設定を含む。ユーザーが指定したWebサイト/Webサーバーから、ユーザーが指定した同期先にコンテンツと構成を展開するコマンドラインツール「Web配置ツール」を使用して、Webアプリケーションをパッケージ化して展開する。
スクリプト
特定のアプリケーションのインストール前とインストール後のフェーズでスクリプトを実行できる。例えば、Server App-Vとの組み合わせでは、スクリプトでServer App-Vエージェントをインストールすることで、Server App-V仮想アプリケーションを実行できる。
これらの設定を行うことで、サービスの展開が行えるようになる。サービスの展開を使うメリットは、使用するサービスの規模が大きくなる際、「Orchestrator」や「Operations Manager」など、他のSystem Center製品と組み合わせることで、自動的にフロントエンドなどのサーバーをスケールアウトすることができる点だ。当然のことだが、手動でも容易にスケールアウトすることが可能だ。
SCVMMの環境を構築すると、「ファブリック」→「リソースの追加」→「Hyper-Vホストとクラスター」メニューからHyper-Vサーバーのベアメタル展開を行うことができる。
ベアメタル展開におけるプロビジョニングプロセスは次のようになる。
(1)アウトオブバンド管理(OOB)のサーバーを検出し、PxEブート機能を使用してベアメタルサーバーが再起動される。
(2)ベアメタルサーバーは、管理サーバーの役割としてSCVMMに追加されたWDS(Windows展開サービス)サーバーを検索する。WDSサーバーにはVMMプロバイダーが搭載され、このプロバイダーがVMMプロビジョニングツールを使用して起動されたベアメタルサーバーからのPxEブート要求を管理する。
(3)WDSサーバー上のVMMプロバイダーはVMMサーバーと接続して、ベアメタルサーバーに管理対象ホストを展開する権限があることを確認する。
(4)ベアメタルサーバーがVMMで認証されると、Windows PEイメージがこのサーバーにダウンロードされる。このイメージには、ベアメタルサーバーへのOSシステムの展開を制御するVMMエージェントが含まれる。
(5)VMMエージェントは、ファームウェアの更新、RAIDの構成およびパーティションの構成とフォーマットを指定できる汎用的なコマンドスクリプトを実行する。
(6)仮想ハードディスク(VHD)が、ライブラリからホストコンピューターにダウンロードされる。これにより、ベアメタル展開においてはVHDからのブートが使用される。
(7)ホスト特有のデバイスドライバーがある場合は、ライブラリサーバーからダウンロードされる。
(8)展開後のカスタマイズが実行される。カスタマイズはSysprepのセットアッププロセスが使用され、サーバー用の設定(サーバー名など)や、ドメイン参加などのオプションがある。
(9)Hyper-Vの役割をインストールして、有効化する。
ベアメタル展開を行うにはハードウェアとして、ベースボードマネジメントコントローラー(BMC)が必要になる。最近のほとんどのサーバーには付属しているので大きな制約にはならないだろう。SCVMMはこのBMCを制御してサーバーの電源オン/オフを行っている。それでは、実際にベアメタル展開を行うためのポイントを紹介していこう。
インフラストラクチャの準備
WDSサーバーおよびDHCPサーバーは必須。WDSサーバー構成は全てデフォルト設定で構成し、VMMのPXEサーバーとして登録する。
イメージ準備
展開イメージはVHD/VHDXファイルが必要なので用意する。この際、OSインストール済みのファイルでもよいが、汎用性を考慮するならinstall.wimからVHDファイルを作成する方がよい。その際は「Convert-WindowsImage.ps1」(*)が提供されているので、それを使用する。
応答ファイルの準備
ベアメタル展開に使用する応答ファイルを作成する。この応答ファイルには、キーボード設定やスクリプトを登録する。
ホストの準備
BMC関連の設定をする。具体的にはSCVMMから操作するアカウントを作成し、起動順序をPxEブートに設定する。
ドライバーの準備
必要があればホストのインストールに使用するドライバーをライブラリにコピーして登録する。
SCVMMの設定
ファブリックの設定(論理ネットワーク、論理スイッチ、ネイティブポートプロファイル)とホストプロファイルの作成を行う。
これらの設定を行うことにより、ベアメタル展開が可能になる。詳細な設定手順は筆者のブログ『MCTの憂鬱』の「SC2012 VMM SP1でのベアメタル展開(HP ML110 G7編)」を参照していただきたい。
SCVMMでは仮想マシンの展開だけではなく、サービスやホストの展開までサポートしている。これらの機能を活用するには、さまざまなプロファイルの作成が必要になるが、ここで紹介した内容を理解すれば容易に作成できるだろう。
SCVMMを使用すれば、さまざまな展開プロセスを自動化することで、プライベートクラウドをより効率的に運用できるようになる。ぜひ、この展開プロセスを体験してほしい。
阿部 直樹(あべ なおき)
エディフィストラーニング株式会社所属のマイクロソフト認定トレーナー。Active Directory、Network、Security、Hyper-V、Clusterなどを担当。マイクロソフト トレーナー アワード(2010年)およびMicrosoft MVP for Hyper-V(Apr 2010 - Mar 2014)を受賞。個人ブログ『MCTの憂鬱』でマイクロソフト関連情報を発信中。
Copyright © ITmedia, Inc. All Rights Reserved.