仮想マシンの配置先となる仮想マシンサーバを固定的にしたいケースとして、一般的に以下のようなことが考えられます。
障害時に業務が止まらないように、同じ業務を行う複数の仮想マシンを複数の仮想マシンサーバに確実に分散して配置したい。
仮想マシン上で使用するアプリケーションのライセンス契約が仮想マシンの配置先候補の仮想マシンサーバの台数や固有情報に基づいている。ライセンス費用低減のため、仮想マシンの配置先候補の仮想マシンサーバの数を減らし、仮想マシンの配置先を固定的にしたい。
特別な業務を行う仮想マシンが他仮想マシンの負荷の影響を受けないように、仮想マシンサーバ上で動作する仮想マシンの数を意図的に少なくしたい。そのために、特別な業務を行う仮想マシンの配置先の仮想マシンサーバに配置する仮想マシンを固定的に設定したい。
上記の1の要件でシステムを構成した場合について、説明します。
次の図は、グループGroupA配下のモデルVMSModel上の仮想マシンサーバVMサーバ1、VMサーバ2、VMサーバ3、VMサーバ4、VMサーバ5とその上で動作するVM1、VM2、VM3、VM4、VM5、VM6、VM7、VM8に対して、Pin制約を行った場合の例です。
システムには2つの業務、業務Aと業務Bがあります。業務AはVM1、VM3、VM5、VM7で実行し、業務BはVM2、VM4、VM6、VM8で実行します。
要件に対応するため、業務Aと業務Bの仮想マシン1台ずつの組み合わせで仮想マシン2台を各仮想マシンサーバ上に動作させるようにします。これにより、障害が発生しても各業務が受ける被害は最小限ですみます。また、障害発生後、予備専用の仮想マシンサーバのVMサーバ5に障害が発生した仮想マシンサーバ上で動作していた仮想マシンが退避できるようにします。
上記を実現するために、配置制約は各仮想マシンに対して稼動用と予備用の2つの仮想マシンサーバの組み合わせで固定(pin)の配置制約を適用します。運用中は稼動用の仮想マシンサーバ上で動作させるために、配置制約の優先度は稼動用の仮想マシンサーバの方を高く設定します。図では、緑、赤、青、黄の各色のpinが配置制約を表し、仮想マシンごとに、配置の対象となる稼動用と予備用の仮想マシンサーバに1個ずつ固定された状態になっています。VM1の場合、緑色のpinが稼動用のVMサーバ1と予備用のVMサーバ5に固定されます。
この配置制約により、障害時を除き、各仮想マシンは稼動用と予備機用の2つの仮想マシンサーバにしか移動できなくなります。障害時は、業務をできるだけ早く復旧させる必要があるので配置制約が無視される場合があります。次の図のステップ②は、VMサーバ3の障害時に配置制約が無視された例です。
厳密に配置制約を適用する場合はForce指定を行います。また、予備機側を起動状態でスタンバイさせている場合も配置制約どおりに動作します。
配置制約から外れた状態になった場合は、次の図のステップ③のように配置制約に従った配置を行う操作により、配置制約どおりに仮想マシンを配置しなおすことができます。
また、切り戻しのため、VMサーバ3の復旧後に再び配置制約に従った配置を行う操作を行った場合、配置制約の優先度設定により、VM5とVM6はVMサーバ3にMigrationされます。