2014年10月8日水曜日

仮想マシンを特定のESXiホストでのみ稼働させる方法

SQLを仮想化した場合など、購入したライセンスに応じて、稼働するホストを制限したいといった要望を頂くことがあります。

こういった場合には、DRSのアフィニティルールで制御するのが最も適切だと思います。

■DRS/アフィニティルール
リソース状況に応じて動的に仮想マシンが移動される場合、DRSグループ内のホストに留まりますし、ホスト障害時に仮想マシンを再起動される場合でも、どのホストで仮想マシンを起動するかの判断にDRSのアフィニティルールが考慮されますので、想定外のホストで仮想マシンが起動することを抑止出来ます。

以下、VMwareさんのマニュアルより抜粋しながら紹介します。


仮想マシンとホスト間のアフィニティ ルールの使用

【抜粋】
仮想マシンとホスト間のアフィニティ ルールが役立つ使用事例の 1 つは、仮想マシンで実行しているソフトウェアにライセンスの制限がある場合です。
そのような仮想マシンを 1 つの DRS グループに配置し、必要なライセンスを持つホストマシンだけを含むホスト DRS グループ上での実行を必須にするルールを作成できます。

vSphere HA と DRS の併用

【抜粋】
いくつかのシナリオでは、リソースの制約が原因で、vSphere HA が仮想マシンをフェイルオーバーできない場合があります。
仮想マシンとホスト間のアフィニティ (必須) ルールによって、特定の仮想マシンを配置できるホストが制限される場合がある。

設定は、[クラスタ]-[設定の編集]-[vSphere DRS]-[DRSグループマネージャ]で行います。

■HA/アドミッションコントロール
一方、HAのアドミッションコントロールで制御可能なフェイルオーバーホストについては、ホスト障害時には指定したホストが必ずフェイルオーバーホストとなるので、起動するホストを制限出来ることは出来るのですが、リソースが不足している場合には別ホストで再起動してしまうので、例外あり、ですね。

以下、VMwareさんのマニュアルより抜粋。

フェイルオーバー ホストの指定アドミッション コントロール ポリシー

【抜粋】
フェイルオーバー ホスト自身で障害が発生している、または十分なリソースがない、などの理由で再起動できない場合、vSphere HA はこれらの仮想マシンを、クラスタ内の別のホストで再起動しようとします。

設定は、[クラスタ]-[設定の編集]-[vSphere HA]で行います。

■結論
リソース不足が発生しないように運用することが約束出来るのであれば、HAフェイルオーバーホストでも制御可能だと思いますが、転ばぬ先の杖として、、DRSアフィニティルールによる制御をお薦めします。
# 但し、DRSを有効にするには、vSphereのエディションがEnterprise以上が必要です。。

0 件のコメント:

コメントを投稿