コレクター、マニフェスト、およびセレクターを一緒に使用して、プロジェクトまたはステップの実行時にサーバー・リソースを選択します。
次の異なる 3 つのデータ・オブジェクトがあると、システムが動的にサーバーを選択することができます。
- コレクター は、システムがサーバー・リソースから収集したり、サーバー・リソースに割り当てるプロパティーのセットを定義するオブジェクトです。システムは、サーバー・リソースのプロパティーを検査した場合にコレクターを実行します。
収集されたプロパティー値は、マニフェストに保管されます。
- マニフェスト は、特定のサーバーのプロパティーのリストです。これには
コレクターの実行結果が含まれます。
- セレクター は、MEM_TOTAL = 512 などのプロパティーおよび比較のリストです。システムは、セレクターのプロパティーをマニフェストと比較して、サーバーが特定のセレクターの要件を満たしているかどうかを確認します。プロジェクトおよびステップは、セレクターをプロパティーの 1 つとして指定します。
プロジェクトまたはステップが実行されると、セレクターは、実行場所となるサーバー・リソースを選択するために、定義されたすべてのサーバー・リソースのマニフェストと比較されます。
次の例は、単一のセレクターを作成して使用する方法を示しています。
- Mercury という名前のサーバー・リソースを作成し、エージェントと関連付けます。
- Mercury という名前のセレクターを作成します。 BF_NAME = Mercury が指定されたサーバーを選択するようにそのセレクターを設定します。
- Lincoln という名前のプロジェクトを作成します。
Mercury セレクターをそのプロジェクトに割り当てます。
Lincoln プロジェクトを実行すると、システムは Mercury という名前のサーバー・リソースを選択します。このサーバー・リソースが使用できない場合、プロジェクトは失敗します。
次の例は、一連のサーバーでの動的なサーバー選択のセットアップ方法を示しています。
- RAMSIZE という名前のコレクターを作成します。
ビルトイン・プロパティー MEM_TOTAL を収集するようにそのコレクターを設定します。
- ホストと関連付けるサーバー・リソースを作成します。 コレクター RAMSIZE を使用するように各リソースを設定します。
- Mercury、512 MB RAM のホスト
- Mars、1 GB RAM のホスト
- Jupiter、3 GB RAM のホスト
- BigRam という名前のセレクターを作成します。 標準プロパティー (プロパティー = MEM_TOTAL、演算子 = GE (以上)、および値 = 2048) を選択するようにそのセレクターを設定します。
MEM_TOTAL は、MB で表されます。 このセレクターは、
2 GB 以上の RAM を持つホストのみを選択します。
- SmallRam という名前のセレクターを作成します。 標準プロパティー (プロパティー = MEM_TOTAL、演算子 = GE (以上)、および値 = 256) を選択するようにそのセレクターを設定します。このセレクターは、
256 MB 以上の RAM を持つホストのみを選択します。
- 2 つのプロジェクトを作成します。
- HighMaint: セレクター BigRam を使用するようにこのプロジェクトを設定します。
- LowMaint: セレクター SmallRam を使用するようにこのプロジェクトを設定します。
HighMaint を実行すると、システムにより、サーバー Jupiter が選択されます。これは、このサーバー以外に少なくとも 2 GB の RAM を持つというセレクター要件に合致するサーバーがないためです。
LowMaint を実行すると、システムにより、使用可能な 3 つのサーバー・リソースのいずれかが選択されます。
Neptune という名前のサーバー・リソースを 2 GB の RAM を持つホスト用に後で追加すると、次にプロジェクト HighMaint を実行するときに、そのプロジェクトに対して Neptune または Jupiter のいずれかが選択されます。
何らかの理由で Jupiter がダウンしていると、Neptune が使用されます。このセレクターに合うのが Neptune のみになるためです。