Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.6. リソースの動作

リソースの健全性を維持するために、リソースの定義に監視操作を追加することができます。モニタリングの動作を指定しないと、pcs コマンドはデフォルトでモニタリングの動作を作成します。リソースエージェントでデフォルトの監視間隔が提供されない場合は、pcs コマンドにより 60 秒間隔の監視動作が作成されます。
表6.4「動作のプロパティー」 に、リソースの監視動作のプロパティーを示します。

表6.4 動作のプロパティー

フィールド説明
id
動作の一意の名前。システムは、操作を設定する際に、これを割り当てます。
name
実行する動作。一般的な値は、monitorstartstop です。
interval
値をゼロ以外に設定すると、この周波数で繰り返される反復操作 (秒単位) が作成されます。ゼロ以外の値は、アクション monitor に設定されている場合に限り有効になります。監視の反復アクションは、リソースの起動が完了するとすぐに実行し、その後の監視アクションの開始は、前の監視アクションが完了した時点でスケジュールされます。たとえば、interval=20s の監視アクションを 01:00:00 に実行すると、次の監視アクションは 01:00:20 ではなく、最初の監視アクションが完了してから 20 秒後に発生します。
この値を、デフォルト値であるゼロに設定すると、このパラメーターで、クラスターが作成した操作に使用する値を指定できます。たとえば、interval をゼロに設定し、操作の namestartに設定し、timeout 値を 40 に設定すると、Pacemaker がこのリソースを開始する場合に 40 秒のタイムアウトを使用します。monitor 操作の間隔をゼロに設定した場合は、システムの起動時に Pacemaker が行うプローブの timeout/on-fail/enabled を設定して、デフォルトが望ましくない場合に、すべてのリソースの現在のステータスを取得できます。
timeout
このパラメーターで設定された時間内に操作が完了しないと、操作を中止し、失敗したと見なします。デフォルトの値は、pcs resource op defaults コマンドで設定した場合は、timeout の値です。設定しない場合は、20 秒になります。システムで操作 (startstopmonitor など) の実行に許可されている時間よりも長い時間が必要なリソースがシステムに含まれている場合は、原因を調査して、実行時間が長いと予想される場合は、この値を増やすことができます。
timeout 値はいかなる遅延でもありません。また、タイムアウト期間が完了する前に操作が戻ると、クラスターはタイムアウト期間が終わる前に待機を終了します。
on-fail
この動作が失敗した場合に実行する動作。使用できる値は以下のようになります。
* ignore - リソースが失敗していなかったように振る舞う
* block - リソースでこれ以上、一切の操作を行わない
* stop - リソースを停止して別の場所で起動しない
* restart - リソースを停止して、(おそらく別の場所で) 再起動する
* fence - 失敗したリソースがあるノードを STONITH する
* standby - 失敗したリソースがあるノード上の すべて のリソースを移行する
migrate: 可能であれば、リソースを別のノードに移行します。これは、migration-threshold リソースのメタオプションを 1 に設定するのと同じです。
STONITH が有効な場合、stop 動作のデフォルトは fence になります。そうでない場合は block となります。その他のすべての操作は、デフォルトで restart です。
enabled
falseの場合、操作は存在しないものとして処理されます。使用できる値は true または false です。

6.6.1. リソース操作の設定

次のコマンドでリソースを作成すると、監視操作を設定できます。
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]
たとえば、次のコマンドは、監視操作付きの IPaddr2 リソースを作成します。新しいリソースには VirtualIP という名前が付けられ、eth2 で IP アドレス 192.168.0.99、ネットマスク 24 になります。監視操作は、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 コマンドでリソースの操作を更新すると、具体的に呼び出されていないオプションは、デフォルト値にリセットされます。