8.4. クラスターリソースの有効化、無効化、および禁止
「リソースを手作業で移動する」 に説明されている pcs resource move および pcs resource relocate コマンドの他にも、クラスターリソースの動作を制御するのに使用できるコマンドは複数あります。
実行中のリソースを手動で停止し、クラスターが再起動しないようにする場合は、以下のコマンドを使用します。その他の設定 (制約、オプション、失敗など) によっては、リソースが起動した状態のままになる可能性があります。
--wait
オプションを指定すると、pcs はリソースが停止するまで n 秒間待機し、リソースが停止している場合は 0 を返し、リソースが停止しなかった場合は 1 を返します。n を指定しないと、デフォルトの 60 分に設定されます。
pcs resource disable resource_id [--wait[=n]]
クラスターがリソースを起動できるようにするには、次のコマンドを使用します。他の設定によっては、リソースが停止したままになることがありす。
--wait
オプションを指定すると、pcs はリソースが開始するまで最長で n 秒間待機し、リソースが起動した場合は 0、リソースが開始されなかった場合は 1 を返します。n を指定しないと、デフォルトの 60 分に設定されます。
pcs resource enable resource_id [--wait[=n]]
指定したノードでリソースが実行されないようにする場合は、次のコマンドを使用します。ノードを指定しないと、現在実行中のノードでリソースが実行されないようになります。
pcs resource ban resource_id [node] [--master] [lifetime=lifetime] [--wait[=n]]
pcs resource ban コマンドを実行すると、場所の制約 -INFINITY がリソースに追加され、リソースが指定のノードで実行されないようにします。pcs resource clear コマンドまたは pcs constraint delete コマンドを実行すると、制約を削除できます。このコマンドを実行しても、リソースが必ずしも指定のノードに戻る訳ではありません。その時点でリソースが実行できる場所は、リソースを最初に設定した方法によって異なります。リソース制約の詳細は 7章リソースの制約 を参照してください。
pcs resource ban コマンドの
--master
パラメーターを指定すると、制約の範囲がマスターロールに制限され、resource_id ではなく master_id を指定する必要があります。
任意で
pcs resource ban
コマンドに lifetime
パラメーターを設定すると、制約が続く期間を指定できます。lifetime
パラメーターの単位や、lifetime
パラメーターがチェックされる間隔を指定する方法については、「リソースを手作業で移動する」 を参照してください。
任意で、
pcs resource ban
コマンドに --wait[=n]
パラメーターを設定し、移行先ノードでリソースが起動するのを待機する秒数を指定できます。この間に、リソースが起動した場合に 0 が返され、リソースが起動していない場合は 1 が返されます。n の値を指定しないと、デフォルトのリソースのタイムアウト値が使用されます。
指定したリソースを現在のノードで強制的に起動する場合は、pcs resource コマンドの debug-start パラメーターを使用します。これは、クラスターの推奨を無視して、起動しているリソースからの出力を出力します。これは主にデバッグリソースに使用されます。クラスターでのリソースの起動は(ほぼ)常に Pacemaker によって行われ、直接 pcs コマンドでは使用できません。リソースが起動しない原因は、大抵、リソースが誤って設定されているか (システムログでデバッグします)、リソースが起動しないように制約が設定されているか、リソースが無効になっているかのいずれかになります。この場合は、次のコマンドを使用してリソースの設定をテストできます。ただし、通常は、クラスター内でリソースを起動するのに使用しないでください。
debug-start コマンドの形式は以下のようになります。
pcs resource debug-start resource_id