リソースプールを管理するには、リソースプールのメジャーコンパクションまたはスプリットを実行できます。
リソースプールのメジャーコンパクション
管理を容易にするために、テナント内で同じリソース構成を持つ複数のリソースプールを1つのリソースプールに統合できます。
使用上の制限
リソースプールのメジャーコンパクションには、以下の制限があります:
統合されるリソースプールの
unit_numはすべて同じでなければなりません。統合されるリソースプールのリソース構成は同一でなければなりません。
リソースプールをメジャーコンパクションする際、これらのリソースプールが配置されているゾーンに交差があってはなりません。
手順例
rootユーザーでクラスタのsysテナントにログインします。以下のステートメントを実行して、リソースプールをメジャーコンパクションします。
ステートメントは以下のとおりです:
ALTER RESOURCE POOL MERGE ('pool_name'[, 'pool_name' ...]) INTO ('merge_pool_name')ここで、
pool_nameは統合対象の複数のリソースプール名、merge_pool_nameは統合後のリソースプール名です。説明
リソースプールをメジャーコンパクションしても、テナントによるリソースプールの使用に影響はありません。Root Serviceの管理層から見ると、複数のリソースプールが1つのリソースプールに統合され、一元管理が容易になるだけです。
例:
obclient>ALTER RESOURCE POOL MERGE ('pool0','pool1','pool2') INTO ('pool3');
リソースプールのスプリット
日常的な運用において、リソースを効率的に活用するために、テナント内の1つのマルチゾーンリソースプールを複数のシングルゾーンリソースプールに分割し、その後各ゾーンごとに個別のリソース構成を再設定できます。
使用上の制限
リソースプールの分割操作は、sys テナントのみが実行できます。
例の背景
日常的なユースケースでは、通常次のようなリソースプールを作成します:
obclient>CREATE RESOURCE POOL pool1 UNIT='uc0', UNIT_NUM=1, ZONE_LIST=('z1','z2','z3');
リソースプール pool1 の現在の使用範囲は z1、z2、z3 ですが、リソース構成仕様はすべて uc0 です。z1、z2、z3 の3つのゾーンにおける物理マシンの仕様には大きな差異がある可能性があるため、同じリソース仕様 uc0 を使用すると、各ゾーン内の物理マシンのリソースを十分に活用できません。リソースプールを分割することで、複数ゾーンのリソースプールを複数の単一ゾーンのリソースプールに分割し、各単一ゾーンのリソースプールに個別のリソース構成仕様を設定できます。
リソースプールを分割するSQLステートメントは以下のとおりです:
ALTER RESOURCE POOL pool_name SPLIT INTO ('pool_name' [, 'pool_name' ...]) ON ('zone' [, 'zone' ...])
手順
rootユーザーでクラスタのsysテナントにログインします。リソースプール
pool1をpool10、pool11、pool12に分割し、新しいリソースプールに新しいリソースユニット構成を指定します。obclient>ALTER RESOURCE POOL pool1 SPLIT INTO ('pool10','pool11','pool12') ON ('z1','z2','z3'); ALTER RESOURCE POOL pool10 UNIT='uc1'; ALTER RESOURCE POOL pool11 UNIT='uc2'; ALTER RESOURCE POOL pool12 UNIT='uc3';分割完了後、分割されたリソースプールのデフォルトのリソース構成は元の構成のままになります。各ゾーンのリソース使用状況に応じて、新しいリソースプールごとにリソース構成を調整できます。