第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 move コマンドの
--master
パラメーターを指定すると、制約の範囲がマスターロールに限定され、resource_id ではなく master_id を指定する必要があります。
任意で
pcs resource move
コマンドに lifetime
パラメーターを設定すると、制約が続く期間を指定できます。ISO 8601 で定義されている形式に従って ライフタイム
パラメーターの単位を指定します。この場合、単位は Y (例:年)、M (月用)、W (週)、D (日)、H (時(分)、および S (分)など)として指定する必要があります。
分単位の M と、月単位の M を区別するには、分単位の値の前に PT を指定する必要があります。たとえば、
lifetime
パラメーターが 5M の場合、間隔は 5 カ月で、有効
期間が PT5M の場合は、間隔が 5 分になります。
lifetime
パラメーターは、cluster -recheck-interval クラスター
プロパティーで定義される間隔でチェックされます。デフォルト値は 15 分です。このパラメーターをより頻繁に確認する必要がある場合は、次のコマンドを実行して、この値をリセットできます。
pcs property set cluster-recheck-interval=value
任意で、
pcs resource move
コマンドに --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] ...
リソースを指定しないと、すべてのリソースが優先ノードに移行します。
このコマンドは、リソースのスティッキネスを無視し、各リソースの優先ノードを算出します。優先ノードの算出後、リソースを優先ノードに移行する場所の制約を作成します。リソースが移行すると、制約が自動的に削除されます。pcs resource relocate run コマンドによって作成された制約をすべて削除するには、pcs resource relocate clear コマンドを実行します。リソースの現在のステータスと、リソースのスティッキネスを無視した最適なノードを表示するには、pcs resource relocate show コマンドを実行します。