11.3. リソースのメタオプションの設定
リソースには、リソース固有のパラメーターの他に、リソースオプションを設定できます。このような追加オプションは、クラスターがリソースの動作を決定する際に使用されます。
以下の表は、リソースのメタオプションを示しています。
フィールド | デフォルト | 説明 |
---|---|---|
|
| すべてのリソースをアクティブにできない場合に、クラスターは優先度の低いリソースを停止して、優先度が高いリソースを実行し続けます。 |
|
| クラスターがこのリソースを維持しようとする状態を示します。設定できる値は以下のとおりです。
*
*
*
* |
|
|
クラスターによるリソースの起動および停止を許可するかどうかを示します。使用できる値は |
| 1 | リソースを同じ場所に残すための優先度の値です。 |
| Calculated | リソースを起動できる条件を示します。
以下の条件を除き、
*
*
*
* |
|
|
指定したリソースが任意のノードで失敗した回数です。この回数を超えると、そのノードには、このリソースのホストとして不適格とするマークが付けられます。値を 0 にするとこの機能は無効になり、ノードに不適格マークが付けられることはありません。 |
|
| この期間が経過すると、新しい失敗なしに、以前失敗したリソースアクションを無視します。これにより、以前に移行のしきい値に達した場合に、リソースが失敗したノードに戻すことができます。値が 0 の場合は、失敗が期限切れにならないことを示します。 警告: この値が低く、保留中のクラスターアクティビティーが原因で、その時間内にクラスターが応答できなくなると、失敗は完全に無視され、繰り返しアクションが失敗の報告を継続してもリソースの復旧は発生しません。このオプションの値は、クラスター内のすべてのリソースの最も長いアクションタイムアウトよりも大きくする必要があります。時間または日単位の値は妥当です。 |
|
| リソースが複数のノードでアクティブであることが検出された場合に、クラスターが実行すべき動作を示します。設定できる値は以下のとおりです。
*
*
*
* |
|
|
リソースがリソースグループに含まれる場合に作成された暗黙的なコロケーションの成約など、従属リソース (target_resource) としてリソース関連のコロケーション成約すべてに、 |
|
|
(RHEL 9.1 以降) |
11.3.1. リソースオプションのデフォルト値の変更
pcs resource defaults update
コマンドを使用して、すべてのリソースのリソースオプションのデフォルト値を変更できます。たとえば、次のコマンドは、resource-stickiness
のデフォルト値を 100 にリセットします。
# pcs resource defaults update resource-stickiness=100
以前のリリースのすべてのリソースのデフォルトを設定する元の pcs resource defaults name=value
コマンドは、複数のデフォルトが設定されない限りサポートされます。ただし、pcs resource defaults update
が、コマンドの推奨されるバージョンになりました。
11.3.2. リソースセットのリソースオプションのデフォルト値の変更
pcs resource defaults set create
コマンドを使用して、複数のリソースのデフォルトセットを作成できます。これにより、resource
式を含むルールを指定できます。このコマンドで指定したルールでは、and
、or
および括弧を含め、resource
、date
式のみを使用できます。
pcs resource defaults set create
コマンドを使用して、特定タイプの全リソースにデフォルトのリソース値を設定できます。たとえば、停止に時間がかかるデータベースを実行している場合は、データベースタイプの全リソースで resource-stickiness
のデフォルト値を増やすことで、想定している頻度よりも多く、このようなリソースが他のノードに移動されるのを回避できます。
以下のコマンドは、pqsql
タイプの全リソースに、resource-stickiness
のデフォルト値を 100 に設定します。
-
リソースのデフォルトセット名を指定する
id
オプションは必須ではありません。このオプションを設定すると、pcs
が自動的に ID を生成します。この値を設定すると、より分かりやすい名前に設定できます。 この例では、
::pgsql
は、クラスやプロバイダーは任意でタイプがpgsql
を指定します。-
ocf:heartbeat:pgsql
を指定すると、クラスがocf
、プロバイダーがheartbeat
、タイプがpgsql
に指定されます。 -
ocf:pacemaker:
を指定すると、タイプは任意でクラスがocf
、プロバイダーがpacemaker
に指定されます。
-
# pcs resource defaults set create id=pgsql-stickiness meta resource-stickiness=100 rule resource ::pgsql
既存セットのデフォルト値を変更する場合は、pcs resource defaults set update
コマンドを使用します。
11.3.3. 現在設定されているリソースのデフォルトの表示
pcs resource defaults
コマンドは、指定したルールなど、現在設定されているリソースオプションのデフォルト値のリストを表示します。
次の例では resource-stickiness
のデフォルト値を 100 にリセットした後のコマンド出力を示しています。
# pcs resource defaults
Meta Attrs: rsc_defaults-meta_attributes
resource-stickiness=100
以下の例では、タイプが pqsql
の全リソースの resource-stickiness
のデフォルト値を 100 にリセットし、id
オプションを id=pgsql-stickiness
に設定します。
# pcs resource defaults
Meta Attrs: pgsql-stickiness
resource-stickiness=100
Rule: boolean-op=and score=INFINITY
Expression: resource ::pgsql
11.3.4. リソース作成でメタオプションの設定
リソースのメタオプションにおけるデフォルト値のリセットの有無に関わらず、リソースを作成する際に、特定リソースのリソースオプションをデフォルト以外の値に設定できます。以下は、リソースのメタオプションの値を指定する際に使用する pcs resource create
コマンドの形式です。
pcs resource create resource_id [standard:[provider:]]type [resource options] [meta meta_options...]
たとえば、以下のコマンドでは resource-stickiness
の値を 50 に設定したリソースを作成します。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 meta resource-stickiness=50
また、次のコマンドを使用すると既存のリソース、グループ、クローン作成したリソースなどのリソースメタオプションの値を作成することもできます。
pcs resource meta resource_id | group_id | clone_id meta_options
以下の例では、dummy_resource
という名前の既存リソースがあります。このコマンドは、failure-timeout
メタオプションの値を 20 秒に設定します。これにより 20 秒でリソースが同じノード上で再起動を試行できるようになります。
# pcs resource meta dummy_resource failure-timeout=20s
上記のコマンドを実行した後、リソースの値を表示して、failure-timeout=20s
が設定されているかどうかを確認できます。
# pcs resource config dummy_resource
Resource: dummy_resource (class=ocf provider=heartbeat type=Dummy)
Meta Attrs: failure-timeout=20s
...