VMM でサービス テンプレートを使用してゲスト クラスターを作成する方法
公開日: 2016年3月
対象: System Center 2012 R2 Virtual Machine Manager
このトピックでは、Virtual Machine Manager (VMM) の System Center 2012 R2 のサービス テンプレートを使用してゲスト クラスターを作成する方法を説明します。 ゲスト クラスターはさまざまなアプリケーションを実行するように構成できますが、ゲスト クラスターが特に頻繁に実行するアプリケーションとして SQL Server が挙げられます。
サービス テンプレートは他のプロファイルおよびテンプレートに基づいて作成できます。 ゲスト クラスター用のサービス テンプレートを作成する場合、その作成方法に関らず、VMM に対して複数のバーチャル マシンを 1 つの層 (ここではこの層がゲスト クラスターとなります) として一緒に展開するよう、テンプレートで指定する必要があります。 サービス テンプレートでは、展開時にバーチャル マシンからクラスターを作成するための適切なスクリプトを実行する方法を VMM に指示する必要もあります。
重要 |
---|
次の手順は VMM 以降の System Center 2012 R2 のみに適用されます。VMM または System Center 2012 SP1 の System Center 2012 でのプロファイルおよびテンプレートの作成の詳細については、「VMM でのプロファイルとテンプレートの作成」のトピック一覧を参照してください。 |
必要条件
ゲスト クラスターの作成準備として、以下の前提条件を確認します。
ホスト クラスター:ゲスト クラスター内のバーチャル マシンは Windows Server 2012 R2 を実行するホスト クラスターのみに展開できます。 ゲスト クラスターを 1 つ以上含むサービス テンプレートからサービスを展開していて、ゲスト クラスターを展開できる Windows Server 2012 R2 を実行するホスト クラスターがない場合、ゲスト クラスターの展開は失敗します。 ホスト クラスターの詳細については、「VMM の Hyper-V ホスト クラスターの作成と変更」を参照してください。
[スクリプト]:ゲスト クラスターの作成に必要なスクリプトには以下が含まれます。
クラスターを形成するために最初のバーチャル マシンで実行するスクリプト。
クラスターに参加できるよう、その後のバーチャル マシンで実行するスクリプト。
オプションとして、クラスターのアプリケーションを正しくインストールするスクリプト。 たとえば、SQL Server 2012 を実行するには、ゲスト クラスターの最初のノードに SQL Server 2012 を正しくインストールするスクリプトと、それ以降のノードにインストールするスクリプトの 2 つのスクリプトが必要な場合があります。 (クラスターのコンテキストでは機能しないため、SQL Server の sysprep イメージをインストールに使用することはできません。)
[!メモ]
VMM では、スクリプトの設定が "アプリケーション" の構成の一部として、アプリケーション プロファイル、または VM テンプレートやサービス層テンプレートのアプリケーション タブで指定されます。
ハードウェアの設定に関する情報:ゲスト クラスター内のノード (バーチャル マシン) に設定する、メモリ容量などの基本的なハードウェアの設定を知っておく必要があります。
ゲスト クラスター内のすべてのノードで使用される、1 つ以上のバーチャル ハード ディスク:必須ではありませんが、ほとんどのクラスターには、クラスター内のすべてのノードで使用される共有ディスクが 1 つ以上あります。 ゲスト クラスターの共有ディスクを構成するには、次のガイドラインを使用します。
VMM の System Center 2012 R2 では、共有バーチャル ハード ディスク (VHDX ファイル) を使用するゲスト クラスターを作成する前に、少なくとも更新プログラムのロールアップ 2 をインストールします。
VMM ライブラリでバーチャル ハード ディスク (VHDX ファイル) を参照して、クラスター ノードで共有される VHDX ファイルがライブラリに内にあることを確認します。
これには新しい VHDX ファイルを使用します。 以前のクラスターからの VHDX ファイルを再利用するのは避けてください。
展開時にゲスト クラスターのすべての VHDX ファイルが配置される、SCSI ベースの共有記憶域内の 1 つの場所 (パス) を特定します。
記憶域の分類を使用して共有 VHDX ファイルの配置を制御することはできますが、記憶域の分類内には、ゲスト クラスターのすべての共有 VHDX ファイルを格納する容量を持つ場所が少なくとも 1 つある必要があります。VMM は、共有 VHDX ファイルを複数の場所には展開しません。
同じサービス テンプレートを使用して一連のゲスト クラスターを展開する場合でも、展開時に共有 VHDX ファイルの場所を変更できます。 そのためには、ゲスト クラスターをホスト グループ (クラウドではない) に展開する必要があります。 次に、展開時に、その特定のゲスト クラスターの共有 VHDX ファイルに対して 1 つの場所 (パス) を指定できます。 これは、バーチャル マシン テンプレートで指定した場所よりも優先されます。
ゲスト クラスターに使用されるバーチャル ハード ディスクに関する予備知識については、「Virtual Hard Disk Sharing Overview (バーチャル ハード ディスクの共有の概要)」を参照してください。
重要 VMM の System Center 2012 R2 を使用してゲスト クラスターを管理し、ゲスト クラスターに共有バーチャル ハード ディスクを使用する場合は、System Center 2012 R2 に対して少なくとも更新プログラムのロールアップ 2 をインストールしていることを確認してください。 また、VMM でのゲスト クラスターの管理に関して最良の結果を得るために、HYPER-V を使用してゲスト クラスターを作成するのではなく、VMM 内のサービスとしてゲスト クラスターを作成することをお勧めします。
ゲスト クラスターの各ノードのオペレーティング システムを含むバーチャル ハード ディスク:ゲスト クラスター内のバーチャル マシンで使用されるオペレーティング システム (sysprep で準備したもの) を含む、バーチャル ハード ディスク ファイルが必要です。 (これは、共有記憶域に展開されるバーチャル ハード ディスク ファイルとは異なります。) 各ノードが作成されると、VMM はこのバーチャル ハード ディスク ファイルのコピーを、ノードのシステム ディスクとして使用します。
これらの前提条件をすべて確認した後、サービス テンプレートを作成して構成要素をすべて接続することができます。
このトピックには次の手順が含まれます。
ゲスト クラスターの作成時に実行されるスクリプトの設定を指定する
バーチャル マシン テンプレートを作成してゲスト クラスター用のサービス層に含める
ゲスト クラスターの作成時に実行されるスクリプトの設定を指定する
VMM のアプリケーション設定で、ゲスト クラスターの作成に関連して特定の時点で実行されるスクリプト ([作成: 最初の VM] や [作成: 最初より後の VM] など) を含めることができます。 これらの設定を指定するには、次の手順を使用します。
ゲスト クラスターの作成時に実行されるスクリプトの設定を指定するには
特にスクリプトなどのアプリケーション コンポーネントが VMM ライブラリ共有にコピーされていることを確認します。 スクリプトをコピーするには、ライブラリ共有内のフォルダーに保存して、そのフォルダーに VMM で "custom resource (カスタム リソース)" を意味する .cr という拡張子を付けます。
[ライブラリ] ワークスペースを開きます。
[ホーム] タブの [作成] グループで、[作成] をクリックして、[アプリケーション プロファイル] をクリックします。
[新しいアプリケーション プロファイル] ダイアログ ボックスが開きます。
[全般] タブの [名前] ボックスに、名前と説明 (オプション) を入力します。 たとえば、「GuestSQL」と入力します。
[全般] タブの [互換性] リストで、既定の [全般] を選択したままにします。
まずクラスターを形成してから、そのクラスターにノードを追加するスクリプトを指定するプロファイルには、[全般] オプションを使用する必要があります。
[アプリケーションの構成] タブで [OS の互換性] をクリックし、サーバー オペレーティング システムのエディションを 1 つ以上選択します。 ゲスト クラスターでは、Windows Server 2012 よりも前のオペレーティング システムは選択しないでください。
[アプリケーションの構成] タブで、クラスターの最初のノードを作成するために必要なスクリプトと、そのクラスターに他のノードを追加するためのスクリプトを追加します。 スクリプトを追加するには、[追加] をクリックし、[スクリプト] を選択します。 スクリプトの数に制限はなく、スクリプトの実行順序を指定することができます。 各スクリプトについて、次の情報を指定します。
クラスターの最初のノードでその作成時に実行され、他のノードでは実行されないスクリプトには、[スクリプト コマンドの種類] として [作成: 最初の VM] を選択します。
クラスターの最初のノードでその作成時に実行される (他のノードでは実行されない) スクリプトには、[スクリプト コマンドの種類] として [作成: 最初より後の VM] を選択します。
各スクリプトに実行可能ファイル名と、スクリプトの実行に使用するパラメーターを指定します。
[!メモ]
スクリプトには、展開対象のサービスを構成するときに入力が必要な設定を含めることができます。 この種類の設定の形式を設定するには、[パラメーター] フィールドに @<設定ラベル>@ (「@ClusterName@」など) という形式でパラメーターを入力します。
たとえば、実行可能ファイル名が Cmd.exe で、 /q と /c のパラメーターを指定して実行されるスクリプトを想定します。 このスクリプトの名前が FormCluster.cmd で、クラスターの展開時にクラスター名を提供する必要があるとします。 そのようなスクリプトには、次の情報を指定します。
実行可能プログラム: Cmd.exe
パラメーター: **/q /c FormCluster.cmd @ClusterName@**
各スクリプトのスクリプトの場所を指定します。[スクリプト リソース パッケージ]の下で [参照] をクリックしてから、スクリプトのコピー先となる .cr という拡張子があるフォルダーを選択します。[OK] をクリックします。
各スクリプトの [実行アカウント] を指定します。
必要に応じてその他の設定を構成します。これにはスクリプト実行のタイムアウト期限や、エラー発生時の処理方法を指定する失敗および再起動のポリシーなどの設定が含まれます。 これらの設定を構成するには、[スクリプト] の下でスクリプトを選択して、展開順序、タイムアウト、またはその他の設定を確認し、変更します。 必要な場合は [詳細] をクリックし、失敗および再起動のポリシーなどの詳細設定を確認または構成します。
ゲスト クラスターを正しい方法で削除するスクリプトを追加することもできます。 このようなスクリプトでは、[スクリプト コマンドの種類] で [削除: 最後より前の VM] または [削除: 最後の VM] を選択します。
アプリケーション プロファイルにスクリプトをさらに追加するには、[アプリケーションの構成] タブで [追加] をクリックし、[スクリプト] をクリックしてから、適切な設定を指定します。
この前の手順では使用しなかった [スクリプト コマンドの種類] を使用するスクリプトも追加できます。 たとえば [スクリプト コマンドの種類] が [プレインストール] のスクリプトは、最初のバーチャル マシンで実行された後、さらにサービス層の一部として作成された他のバーチャル マシンでも実行されます。
選択が完了したら、[OK] をクリックします。
プロファイルが作成されたことを確認するには、[ライブラリ] ウィンドウで [プロファイル] を展開し、[アプリケーション プロファイル] をクリックします。
[プロファイル] ウィンドウにアプリケーション プロファイルが表示されます。
バーチャル マシン テンプレートを作成してゲスト クラスター用のサービス層に含める
バーチャル マシン テンプレートを作成してゲスト クラスター用のサービス層に含めるときは、ほとんどの場合、共有される VHDX ファイルの設定をバーチャル マシン テンプレートに含めます。 この VHDX ファイルは、クラスターの各ノード用に SCSI チャネルがある共有記憶域に展開する必要があります。 この構成は、ゲスト クラスターの各ノードに、同じ VHDX ファイル (ディスク) へのアクセスを提供します。
また、バーチャル マシン テンプレートが配置されるサービス層に、バーチャル マシンの複数インスタンスに層をスケールアウトするための設定が必要となります。 層の各インスタンスがゲスト クラスターの 1 つのノードになります。
バーチャル マシン テンプレートを作成してゲスト クラスター用のサービス層に含めるには
VMM ライブラリ共有上に、ゲスト クラスター内のバーチャル マシンで使用するオペレーティング システム (sysprep で準備したもの) を含む、バーチャル ハード ディスクがあることを確認します。 このバーチャル ハード ディスクが空であってはいけません。 (これは、共有記憶域に展開されるバーチャル ハード ディスク ファイルとは異なります。)
[ライブラリ] ワークスペースを開きます。
[ホーム] タブの [作成] グループで、[VM テンプレートの作成] をクリックします。
VM テンプレートの作成ウィザードが開きます。
[ソースの選択] ページで、[ライブラリに保管された既存の VM テンプレートまたはバーチャル ハード ディスクを使用する] をクリックし、[参照] をクリックします。
[VM テンプレート ソースの選択] ダイアログ ボックスで、この前の手順 1. で説明されているバーチャル ハード ディスクをクリックして、[OK] をクリックし、[次へ] をクリックします。
[VM テンプレート ID] ページで、バーチャル マシン テンプレートの名前を指定します。 世代 (第 1 世代または第 2 世代) を選択する前に、適用した更新プログラムのロールアップのレベルを確認します。System Center 2012 R2 の更新プログラムのロールアップ 6 以降では、第 2 世代を選択できます。 しかし、更新プログラムのロールアップ 6 を適用していない場合は、サービス テンプレートに VM テンプレートを追加する必要があるため、必ず第 1 世代を選択してください。 詳細については、「VMM の第 1 世代と第 2 世代バーチャル マシンについて」をご覧ください。
[次へ] をクリックします。
[ハードウェアの構成] ページで、ハードウェアの設定を構成します。 ハードウェア プロファイルを使用する場合、プロファイルに下記の一覧にある設定を含めたうえで、[ハードウェア プロファイル] リストから、該当するハードウェア プロファイルをクリックします。
ハードウェアの設定を構成するときには、次の点を考慮してください。
[機能] の下にあるプライベート クラウドにバーチャル マシンを展開する場合、このプライベート クラウドでサポートされているクラウドの機能プロファイルを選択する必要があります。
ゲスト クラスターを、VHDX 形式の共有バーチャル ハード ディスクを使用するように構成するには、[バスの構成] で、[SCSI アダプター 0] をクリックしてから、ページの上の方にある [新規作成] の横の [ディスク] をクリックします。 SCSI アダプターの下の一覧に、新しいディスクが表示されます。 このディスクを選択し、[サービス層でディスクを共有する] を選択します。[バーチャル マシン用のオペレーティング システムを含む] チェック ボックスがオフになっていることを確認します。[参照] をクリックし、VMM で共有記憶域に配置する VHDX ファイルを選択して [OK] をクリックします。 クラスター内の追加の各ノードごとに、この手順を繰り返します。追加するディスクは同じですが、そのディスクの各インスタンスごとに一意の SCSI チャネルを指定するよう注意してください。
重要 ゲスト クラスターに追加する各ノードについて、同じディスクのインスタンスを 1 つ構成し、そのインスタンスに一意の SCSI チャネルを指定します。
クラスターで使用されるディスクを追加する手順を繰り返すことができます。 ただし、共有記憶域の場所の選択の詳細について、前述の「前提条件」を確認してください。 共有ディスクをさらに追加する場合は、追加の各ディスクに、ゲスト クラスターに作成するノードと同じ数の SCSI チャネルを構成する必要があります。
静的 IP アドレスを使用するようにネットワーク アダプターを構成する場合、メディア アクセス制御 (MAC) アドレスも静的に設定する必要があります。
[ネットワーク アダプター] でネットワーク アダプターを選択し、詳細ウィンドウの一番下で [ゲストが指定した IP アドレスを有効にする] を選択します。 このオプションにより、ゲスト クラスターのノード (バーチャル マシン) が、クラスター自体の IP アドレスと、そのクラスターで実行するよう構成されるアプリケーションの IP アドレスを指定できるようになります。
[詳細] で [可用性] をクリックし、さらに [このバーチャル マシンを高可用性にする] を選択します。 これを選択すると、バーチャル マシンがホスト クラスターにクラスター化されたインスタンスとして作成され、いずれかのホストが失敗した場合、バーチャル マシンがクラスター内の別のホストにフェールオーバーできます。
ベスト プラクティスとして、[詳細] の [可用性] をクリックし、[可用性セットの管理] ボタンをクリックしてください。 新しい可用性セットを作成するには、[作成] ボタンをクリックしてセットの名前を指定してから、[OK] をクリックします。[可用性セットの管理] ダイアログ ボックスで、[OK] をクリックします。
ここで指定した可用性セットの名前は、ゲスト クラスター内のすべてのノード (バーチャル マシン) によって使用されます。したがって、VMM は、1 つのホストが失敗しても、別のホスト上のバーチャル マシンにより必要なサービスを提供できるように、バーチャル マシンをそれぞれ個別のホスト上に維持しようとします。 (他のコンテキストでフェールオーバー クラスターを使用する場合、このような設定を AntiAffinityClassNames と呼ぶことがあります。)
ハードウェアの設定を構成したら、[次へ] をクリックします。
[オペレーティング システムの構成] ページで [ゲスト OS プロファイル] 一覧を開き、ゲスト オペレーティング システム プロファイルを選択するか、[Windows オペレーティング システムのカスタマイズ設定の新規作成] を選択します。 一覧で選択した項目によって、ウィザード ページに表示される設定が決まります。 また、選択した項目によっては追加のウィザード ページが表示されることもあります。
オペレーティング システムの設定を構成するときは、次の点を考慮してください。
[ID 情報] の [コンピューター名] では、パターンを指定してコンピューター名を生成できます。 たとえば、「server####」と入力すると、コンピューターの名前は、"server0001"、"server0002" のように作成されます。 パターンを使用すると、サービスにバーチャル マシンを追加するときに、関連性のある区別しやすいコンピューター名が生成されます。 この方法でコンピューター名を指定する場合、名前プロンプトのパラメーター (@<name>@) と併用することはできません。 どちらか一方のみを使用してください。
[ネットワーク] で、FQDN を使用するかドメイン名の前後にアット マーク (@) を使用して (「@Domain@」など)、Active Directory ドメイン サービスの設定を指定できます。 この方法でアット マーク (@) を使用すると、バーチャル マシンがサービスの一部として展開されるときに必要な情報を入力することができます。 サービスを展開するドメインと、VMM 管理サーバーのドメインの間に信頼関係は必要ありません。
ゲスト オペレーティング システムの設定を構成したら、[次へ] をクリックします。
[アプリケーションの構成] ページで、[次へ] をクリックします。 これらの設定は、この手順の説明に従って、後で構成に追加します。
[SQL Server の構成] ページで、[次へ] をクリックします。
[サマリー] ページで、設定内容を確認し、[作成] をクリックします。 バーチャル マシン テンプレートが作成されたことを確認してください。
[ライブラリ] ワークスペースの [ホーム] タブ上にある [作成] グループで、[サービス テンプレートの作成] をクリックします。
[新しいサービス テンプレート] ダイアログ ボックスが開きます。
テンプレートの名前、バージョン、およびパターンを指定します。 パターンによってサービス テンプレートを作成しやすくなりますが、このダイアログ ボックスを終了した後で階層数は変更できます。 選択を完了したら、[OK] をクリックします。
選択したパターンがキャンバスに表示されます。 層のあるパターンを選択した場合、これらの層は存在しますが、層に VM テンプレートは適用されていません。
キャンバスの横の [VM テンプレート] ウィンドウで、作成したバーチャル マシン テンプレートをクリックし、層にドラッグします。 キャンバスに層がない場合、バーチャル マシン テンプレートはキャンバス上の任意の場所にドラッグできます。
層のボックスのラベルが、バーチャル マシン テンプレートの名前が反映されたラベルに変わります。 バーチャル マシン テンプレートにネットワークの設定が含まれる場合は、ボックスの下部にコネクタが表示されることもあります。 このコネクタは VM ネットワークへの接続を示します。
バーチャル マシン テンプレートをキャンバスにドラッグする操作は、サービス テンプレートを作成する基本的な手順です。 層の数は必要に応じて変更できます。 層を追加するには、追加のバーチャル マシン テンプレートをキャンバスにドラッグします。層を削除するには、キャンバスからバーチャル マシン テンプレートを削除します。
キャンバスで、バーチャル マシン テンプレートをドラッグした層を右クリックして [プロパティ] をクリックし、さらに [アプリケーションの構成] をクリックします。 ページの上部分にある [アプリケーション プロファイル] の横のドロップダウン リストをクリックして、このトピックの前の手順で作成したアプリケーション プロファイルをクリックします。 次に、[OK] をクリックします。
この手順を実行すると、サービスが展開されるときに、アプリケーション プロファイルで指定したスクリプトが実行されるようになります。
[ホーム] タブの [サービス テンプレート] グループで [保存と検証] をクリックしてサービス テンプレートを保存します。
検証エラーが生じた場合、その原因となったサービス テンプレートの要素に警告アイコンが表示され、サービス テンプレート デザイナー ウィンドウの [プロパティ] ウィンドウに、エラーの内容を示すメッセージが表示されます。
ゲスト クラスターの層を表すボックスを右クリックし、[プロパティ] をクリックします。[全般] タブで [このマシン層はスケール アウト可能] を選択してから、[既定のインスタンス数] と [最大インスタンス数] に、1 より大きい値を指定します。 ここで指定する値によって、ゲスト クラスター内のノード数が制御されます。 たとえば、[既定のインスタンス数] は、クラスターの作成時に VMM で作成されるノードの数を指定します。
重要 [最大インスタンス数] は、[バスの構成] でディスクに構成してある SCSI チャネルの数と等しいかそれ以下の値にする必要があります。 また、[既定のインスタンス数] は、[最大インスタンス数] と等しいかそれ以下の値にします。
ゲスト クラスター用の層のプロパティが表示されている状態 (つまり前の手順の状態) で、[アップグレードするドメインの数] に、前の手順で [最大インスタンス数] に指定したのと同じ値を指定します。
たとえば、[既定のインスタンス数] を 3 に設定し、[最大インスタンス数] を 3 に設定した場合は、ゲスト クラスターに 3 つのノードが作成されます。 サービスの更新時、[アップグレードするドメインの数] に誤って 1 を指定すると、VMM は更新を 1 段階で実行します。これは 3 つのバーチャル マシンがすべて同時に更新されることを意味します。 その場合はクラスターがクォーラムを失い、更新の処理中に実行が停止されます。 これに対して、[アップグレードするドメインの数] に 3 を指定した場合、VMM は更新を 3 段階で実行するため、一度に 1 つのバーチャル マシンが更新されます。 したがって、ゲスト クラスターでは随時 2 つのバーチャル マシンが実行されているため、更新の処理中もクラスターが継続して機能します。
ドメインのアップグレードの詳細については、「Updating a Service in VMM (VMM でのサービスの更新)」を参照してください。
[ホーム] タブの [サービス テンプレート] グループで [保存と検証] をクリックしてサービス テンプレートを保存します。
サービスの展開の詳細については、「VMM でのサービスの展開」を参照してください。
参照
VMM でのプロファイルとテンプレートの作成
VMM でサービスを作成する準備
VMM でのサービスの展開
バーチャル ハード ディスクの共有の概要
バーチャル マシンの可用性オプションの構成の概要
VMM にホスト クラスター上の仮想マシンの優先順位を構成する方法
高可用性のためのゲスト クラスタリングの使用
テスト ラボ ガイド: System Center 2012 SP1 - Virtual Machine Manager