6.6. リソースの動作
リソースの健全性を維持するために、リソースの定義に監視操作を追加することができます。リソースの監視操作を指定しないと、pcs コマンドによりデフォルトで監視動作が作成されます。この間隔は、リソースエージェントにより決定します。リソースエージェントでデフォルトの監視間隔が提供されない場合は、pcs コマンドにより 60 秒間隔の監視動作が作成されます。
表6.4「動作のプロパティー」 に、リソースの監視動作のプロパティーを示します。
6.6.1. リソース操作の設定
次のコマンドでリソースを作成すると、監視操作を設定できます。
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]
たとえば、次のコマンドは、監視操作で
IPaddr2
リソースを作成します。新しいリソースは、eth2
で IP アドレス 192.168.0.99、ネットマスクが 24 の VirtualIP
と呼ばれます。監視操作は、30 秒ごとに実施されます。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s
また、次のコマンドで既存のリソースに監視操作を追加することもできます。
pcs resource op add resource_id operation_action [operation_properties]
設定されているリソース操作を削除する場合は、次のコマンドを使用します。
pcs resource op remove resource_id operation_name operation_properties
注記
操作プロパティーを正しく指定して、既存の操作を適切に削除する必要があります。
監視オプションの値を変更する場合は、リソースを更新します。たとえば、以下のコマンドで
VirtualIP
を作成できます。
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
デフォルトでは、次の操作が作成されます。
Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s) stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s) monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
stop の timeout 操作を変更するには、以下のコマンドを実行します。
#pcs resource update VirtualIP op stop interval=0s timeout=40s
#pcs resource show 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 timeout=20s (VirtualIP-monitor-interval-10s) stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)
注記
pcs resource update コマンドでリソースの操作を更新すると、特に呼び出しのないオプションはデフォルト値にリセットされます。
6.6.2. グローバルリソース操作のデフォルトの設定
次のコマンドを使用して、監視操作のグローバルデフォルト値を設定できます。
pcs resource op defaults [options]
たとえば、次のコマンドは、すべての監視操作に対して、
timeout
値のグローバルデフォルトを 240 秒に設定します。
# pcs resource op defaults timeout=240s
監視操作に現在設定されているデフォルト値を表示するには、オプションを指定せずに pcs resource op defaults コマンドを実行します。
たとえば、以下のコマンドは、
タイムアウト
値 240 秒で設定されたクラスターのデフォルトの監視操作値を表示します。
# pcs resource op defaults
timeout: 240s
クラスターリソース定義でオプションが指定されていない場合に限り、クラスターリソースがグローバルデフォルトを使用することに注意してください。デフォルトでは、リソースエージェントはすべての操作に
timeout
オプションを定義します。グローバル操作のタイムアウト値を有効にするには、timeout
オプションを明示的に指定せずにクラスターリソースを作成するか、以下のコマンドのように、クラスターリソースを更新して timeout
オプションを削除する必要があります。
# pcs resource update VirtualIP op monitor interval=10s
たとえば、すべての監視操作にグローバルなデフォルトの
タイムアウト
値を 240 秒に設定し、クラスターリソース VirtualIP
を更新して monitor
操作のタイムアウト値を削除すると、リソース VirtualIP
には、start
、stop
、および monitor
の操作のタイムアウト値がそれぞれ 20s、40s、および 240s になります。タイムアウト操作のグローバルデフォルト値は、ここでは monitor
操作にのみ適用されます。ここでは、前のコマンドでデフォルトの timeout
オプションが削除されました。
# pcs resource show 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)