第8章 クラスターリソースの管理

本章ではクラスターのリソース管理に使用する各種コマンドについて説明します。次のような手順が含まれます。

8.1. リソースを手作業で移動する

クラスターの設定を無視して強制的にリソースを現在の場所から移動させることができます。次のような 2 タイプの状況が考えられます。
  • ノードのメンテナンスのためそのノードで実行中の全リソースを別のノードに移動する必要がある
  • 個別に指定されたリソースを移動する必要がある場合
ノードで実行中の全リソースを別のノードに移動する場合はそのノードをスタンバイモードにします。クラスターノードをスタンバイモードにする方法については 「スタンバイモード」 を参照してください。
個別に指定されたリソースは以下の方法のいずれかで移動することができます。
  • 「現在のノードからリソースを移動」 の説明にしたがって、pcs resource move コマンドを使用して現在稼働しているノードからリソースを移動します。
  • pcs resource relocate run コマンドを使用して、現在のクラスター状態、制約、リソースの場所、およびその他の設定によって決定される優先ノードへリソースを移動します。このコマンドの詳細は 「リソースの優先ノードへの移動」 を参照してください。

8.1.1. 現在のノードからリソースを移動

現在稼働しているノードからリソースを移動するには以下のコマンドを使用し、ノードの resource_id を定義どおりに指定します。移動するリソースを実行する移動先のノードを指定する場合は destination_node を指定します。
pcs resource move resource_id [destination_node] [--master] [lifetime=lifetime]

注記

pcs resource move コマンドを実行すると、現在稼働しているノードで実行されないよう、リソースに制約が追加されます。pcs resource clear または pcs constraint delete コマンドを実行すると制約を削除できます。これらのコマンドを実行してもリソースが必ずしも元のノードに戻るわけではありません。この時点でリソースが実行できる場所は、リソースの最初の設定によって異なります。
pcs resource ban コマンドの --master パラメーターを指定すると、制約の範囲がマスターロールに限定され、resource_id の代わりに master_id を指定する必要があります。
任意で pcs resource move コマンドの lifetime パラメーターを設定すると、制限が維持される期間を指定できます。ISO 8601 に定義された形式に従って lifetime パラメーターの単位を指定できます。ISO 8601 では、Y (年)、M (月)、W (週)、D (日)、H (時)、M (分)、S (秒) のように、単位を大文字で指定する必要があります。
分単位の M と月単位の M を区別するには、分単位の値の前に PT を指定する必要があります。たとえば、5M の lifetime パラメーターは 5 カ月の間隔を示し、PT5M の lifetime パラメーターは 5 分の間隔を示します。
lifetime パラメーターは cluster-recheck-interval クラスタープロパティーによって定義された間隔でチェックされます。デフォルト値は 15 分です。このパラメーターを頻繁にチェックする必要がある場合、以下のコマンドを実行してこの値をリセットできます。
pcs property set cluster-recheck-interval=value
任意で、pcs resource ban コマンドに --wait[=n] パラメーターを設定し、移動先のノードでリソースが起動するまでの待機時間 (秒単位) を指定することができます。待機時間がこの値を超えると、リソースが起動した場合は 0 が返され、リソースが起動しなかった場合は 1 が返されます。n の値を指定しないと、デフォルトのリソースタイムアウト値が使用されます。
以下のコマンドは、リソース resource1 をノード example-node2 へ移動し、1 時間 30 分以内に元のノードへ戻らないようにします。
pcs resource move resource1 example-node2 lifetime=PT1H30M
以下のコマンドは、リソース resource1 をノード example-node2 へ移動し、30 分以内に元のノードへ戻らないようにします。
pcs resource move resource1 example-node2 lifetime=PT30M
リソースの制約の詳細は 7章リソースの制約 を参照してください。

8.1.2. リソースの優先ノードへの移動

フェイルオーバーや管理者の手作業によるノードの移動によって、リソースが移動された後、フェイルオーバーの原因となった状況が改善されてもそのリソースは必ずしも元のノードに戻るわけではありません。リソースを優先ノードへ移動するには、以下のコマンドを実行します。優先ノードは、現在のクラスター状態、制約、リソースの場所、およびその他の設定によって決定され、時間とともに変更する可能性があります。
pcs resource relocate run [resource1] [resource2] ...
リソースを指定しないと、すべてのリソースが優先ノードに移動されます。
このコマンドは resource stickiness を無視して各リソースの優先ノードを算出します。優先ノードの算出後、リソースが優先ノードへ移動する原因となる場所の制約を作成します。リソースが移動した後、制約は自動的に削除されます。pcs resource relocate run コマンドによって作成された制約をすべて削除するには、pcs resource relocate clear コマンドを入力します。リソースの現在の状態と、resource stickiness を無視した最適なノードを表示するには、pcs resource relocate show コマンドを実行します。