Show Table of Contents
第7章 リソースの制約
リソースの制約を設定することでクラスター内のそのリソースの動作を決めることができます。設定できる制約は以下のカテゴリーになります。
location
制約 — 場所の制約はリソースを実行できるノードを決めます。場所の制約については「場所の制約」 で説明しています。order
制約 — 順序の制約はリソースが実行される順序を決めます。順序の制約については 「順序の制約」 で説明しています。colocation
制約 — コロケーションの制約は他のリソースと相対的となるリソースの配置先を決めます。コロケーションの制約については 「リソースのコロケーション」 で説明しています。
複数リソース一式を一緒に配置、それらを順番に起動させ、また逆順で停止させるため複数の制約を設定する場合、その簡易な方法として Pacemaker ではリソースグループという概念に対応しています。リソースグループについては 「リソースグループ」 を参照してください。
7.1. 場所の制約
場所の制約ではリソースを実行させるノードを指定します。場所の制約を設定することで特定のノードで優先してリソースを実行する、または特定のノードでのリソースの実行を避けるなどの指定を行うことができます。
表7.1「場所の制約オプション」 では場所の制約を設定する場合のオプションについて簡単に示します。
表7.1 場所の制約オプション
フィールド | 説明 | ||||||
---|---|---|---|---|---|---|---|
rsc
|
リソース名
| ||||||
node
|
ノード名
| ||||||
score
|
優先度を示す値、任意のノードでのリソースの実行を優先または避ける
INFINITY の値は「すべき」から「しなければならない」に変化、INFINITY はリソースの場所制約のデフォルト score 値
| ||||||
resource-discovery
|
|
次のコマンドはリソースが指定ノードで優先して実行される場所の制約を作成します。
pcs constraint location rsc prefers node[=score] ...
次のコマンドはリソースが指定ノードを避けて実行される場所の制約を作成します。
pcs constraint location rsc avoids node[=score] ...
リソースの実行を許可するノード指定には上記以外にも 2 種類の方法があります。
- オプトインクラスター — クラスターを設定し、デフォルトではいずれのノードでもリソース実行を許可せず、特定のリソース用に選択的に許可ノードを有効にします。オプトインクラスターの設定方法は 「「オプトイン」クラスターの設定」 で説明しています。
- オプトアウトクラスター — クラスターを設定し、デフォルトでは全ノードでリソース実行を許可してから、特定ノードでの実行を許可しない場所の制約を作成します。オプトアウトクラスターの設定方法は 「「オプトアウト」クラスターの設定」 で説明しています。
オプトインまたはオプトアウトクラスターの設定を選択するべきかどうかは、個人的な好みとクラスターの構成によります。大多数のリソースを大多数のノードで実行できる場合、オプトアウトの設定は簡単になる傾向にあります。ほとんどのリソースをノードの小さなサブセット上でのみ実行できる場合はオプトインの設定のほうが簡単になる傾向にあります。
7.1.1. 「オプトイン」クラスターの設定
オプトインクラスターを作成する場合はクラスタープロパティ
symmetric-cluster
を false
に設定してデフォルトではリソースの実行をいずれのノードでも許可しないようにします。
# pcs property set symmetric-cluster=false
リソースごとにノードを有効にします。次のコマンドは場所の制約を設定するため、
Webserver
リソースは example-1
ノードでの実行を優先させ、Database
リソースは example-2
ノードでの実行を優先させるようになります。また、いずれのリソースも優先ノードに障害が発生した場合は example-3
ノードにフェールオーバーすることができます。
#pcs constraint location Webserver prefers example-1=200
#pcs constraint location Webserver prefers example-3=0
#pcs constraint location Database prefers example-2=200
#pcs constraint location Database prefers example-3=0
7.1.2. 「オプトアウト」クラスターの設定
オプトアウトクラスターを作成する場合はクラスタープロパティ
symmetric-cluster
を true
に設定しデフォルトではリソースの実行をすべてのノードに許可します。
# pcs property set symmetric-cluster=true
次のコマンドを実行すると 「「オプトイン」クラスターの設定」 の例と同じ設定になります。全ノードの score は暗黙で 0 になるため、優先ノードに障害が発生した場合はいずれのリソースも
example-3
ノードにフェールオーバーすることができます。
#pcs constraint location Webserver prefers example-1=200
#pcs constraint location Webserver avoids example-2=INFINITY
#pcs constraint location Database avoids example-1=INFINITY
#pcs constraint location Database prefers example-2=200
上記コマンドでは score に INFINITY を指定する必要はありません。INFINITY が score のデフォルト値になります。
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.