Red Hat Training

A Red Hat training course is available for RHEL 8

21.2. グローバルリソース操作のデフォルトの設定

Red Hat Enterprise Linux 8.3 以降では、pcs resource op defaults update コマンドを使用して、全リソースのリソース操作のデフォルト値を変更できます。

たとえば、次のコマンドは、すべての監視操作に対して、timeout 値のグローバルデフォルトを 240 秒に設定します。

# pcs resource op defaults update timeout=240s

以前のリリースのすべてのリソース操作のデフォルトを設定する元の pcs resource defaults name=value コマンドは、複数のデフォルトが設定されない限りサポートされます。ただし、pcs resource op defaults update が、コマンドの推奨されるバージョンになりました。

21.2.1. リソース固有の操作の値の上書き

クラスターリソース定義でオプションが指定されていない場合に限り、クラスターリソースがグローバルデフォルトを使用することに注意してください。デフォルトでは、リソースエージェントがすべての操作の timeout オプションを定義します。グローバル操作のタイムアウト値を有効にするには、timeout オプションを明示的に指定せずにクラスターリソースを作成するか、次のコマンドのように、クラスターリソースを更新して timeout オプションを削除する必要があります。

# pcs resource update VirtualIP op monitor interval=10s

たとえば、すべての監視操作に、グローバルデフォルトの timeout 値 240 秒を設定し、クラスターリソース VirtualIP を更新して、monitor 操作のタイムアウト値を削除すると、リソース VirtualIP には、startstop、および monitor の操作のタイムアウト値が、それぞれ 20 秒、40 秒、240 秒に設定されます。タイムアウト操作のグローバルなデフォルト値は、ここでは monitor にのみ適用されます。ここでは、前のコマンドにより、デフォルトの timeout オプションが削除されています。

# pcs resource config VirtualIP
 Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
   Attributes: ip=192.168.0.99 cidr_netmask=24 nic=eth2
   Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
               monitor interval=10s (VirtualIP-monitor-interval-10s)
               stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)

21.2.2. リソースセットのリソース操作のデフォルト値の変更

Red Hat Enterprise Linux 8.3 では、pcs resource op defaults set create コマンドを使用して、複数のリソース操作のデフォルトセットを作成できます。これにより、resource 式および操作式を含むルールを指定できます。RHEL 8.3 でこのコマンドで指定したルールでは、andor および括弧を含め、resource 式および操作式のみを使用できます。RHEL 8.4 以降では、Pacemaker でサポートされているその他のルール表現もすべて使用できます。

このコンマでは、特定タイプの全リソースにデフォルトのリソース操作値を設定できます。たとえば、バンドルが使用されている場合に Pacemaker が作成した暗黙的な podman リソースを設定できるようになりました。

以下のコマンドは、すべての podman リソースの全操作に、デフォルトのタイムアウト値 90s を設定します。この例では、::podman は、クラスやプロバイダーは任意でタイプが podman を指定します。

リソース操作のデフォルトセット名を指定する id オプションは必須ではありません。このオプションを設定すると、pcs が自動的に ID を生成します。この値を設定すると、より分かりやすい名前に設定できます。

# pcs resource op defaults set create id=podman-timeout meta timeout=90s rule resource ::podman

以下のコマンドは、すべてのリソースの stop 操作に、デフォルトのタイムアウト値 120s を設定します。

# pcs resource op defaults set create id=stop-timeout meta timeout=120s rule op stop

特定タイプの全リソースの、特定の操作にデフォルトのタイムアウト値を設定できます。以下の例は、すべての podman リソースの stop 操作に、デフォルトのタイムアウト値 120 を設定します。

# pcs resource op defaults set create id=podman-stop-timeout meta timeout=120s rule resource ::podman and op stop

21.2.3. 現在設定されているリソース操作のデフォルト値の表示

pcs resource op defaults コマンドは、指定したルールなど、現在設定されているリソース操作のデフォルト値のリストを表示します。

以下のコマンドは、全 podman リソースの全操作に、デフォルトのタイムアウト値 90s が設定されており、リソース操作のデフォルトセットの ID が podman-timeout として設定されているクラスターのデフォルトの操作値を表示します。

# pcs resource op defaults
Meta Attrs: podman-timeout
  timeout=90s
  Rule: boolean-op=and score=INFINITY
    Expression: resource ::podman

以下のコマンドは、全 podman リソースの stop 操作に、デフォルトのタイムアウト値 120s が設定されており、リソース操作のデフォルトセットの ID が podman-stop-timeout として設定されているクラスターのデフォルトの操作値を表示します。

# pcs resource op defaults]
Meta Attrs: podman-stop-timeout
  timeout=120s
  Rule: boolean-op=and score=INFINITY
    Expression: resource ::podman
    Expression: op stop