第12章 リソースを実行するノードの決定


場所の制約は、リソースを実行するノードを指定します。場所の制約を設定することで、たとえば特定のノードで優先してリソースを実行する、または特定のノードではリソースを実行しないことを決定できます。

場所の制約に加え、リソースが実行されるノードは、そのリソースの resource-stickiness 値に影響されます。これは、リソースが現在実行しているノードに留まることをどの程度優先するかを決定します。

12.1. 場所の制約の設定

場所の制約を設定すると、クラスター内のどのノードでクラスターリソースを実行できるかを制御できます。場所の制約を使用すると、リソースを特定のノードで優先的に実行したり、特定のノードで実行するのを禁止したりすることができます。

12.1.1. 基本的な場所の制約の設定

基本的な場所の制約を設定し、オプションの score 値で制約の相対的な優先度を指定することで、リソースの実行を特定のノードで優先するか、回避するかを指定できます。

手順

  • 次のコマンドは、指定したノードでリソースを優先的に実行する場所の制約を作成します。1 回のコマンドで、特定のリソースの制約を複数のノードに対して作成できます。

    # pcs constraint location rsc prefers node[=score] [node[=score]] ...
  • 次のコマンドは、指定したノードでリソースが実行されないようにする場所の制約を作成します。

    # pcs constraint location rsc avoids node[=score] [node[=score]] ...
  • 次の表は、場所の制約を設定するための基本的なオプションの説明をまとめたものです。

    Expand
    表12.1 場所の制約オプション
    フィールド説明

    rsc

    リソース名

    node

    ノード名

    score

    指定のリソースが指定のノードを優先するべきか回避するべきかを示す優先度を示す正の整数値。INFINITY は、リソースの場所制約のデフォルト score 値です。

    pcs constraint location rsc prefers コマンドで score の値を INFINITY にすると、そのノードが利用可能な場合は、リソースがそのノードで優先的に実行します。ただし、そのノードが利用できない場合に、別のノードでそのリソースを実行しないようにする訳ではありません。

    pcs constraint location rsc avoids コマンドで scoreINFINITY を指定すると、その他のノードが利用できない場合でも、そのリソースはそのノードでは実行されないことを示します。これは、-INFINITY のスコアで pcs constraint location add コマンドを設定するのと同じです。

    数値スコア (INFINITY 以外) は、その制約が任意で、それを上回る要因が他にない限り有効となることを意味します。たとえば、リソースがすでに別のノードに配置されており、その resource-stickiness スコアが場所の制約の prefers スコアよりも高い場合、リソースはそのまま現在の場所に残ります。

12.1.2. 正規表現による場所制約の設定

pcs は、リソース名を照合するための場所の制約に関する正規表現に対応しています。この機能を使用すると、単一のコマンドで複数の場所の制約を設定できます。

手順

  • 次のコマンドは、dummy0 から dummy9 までのリソースを node1 で優先的に実行するように指定する場所の制約を作成します。

    # pcs constraint location 'regexp%dummy[0-9]' prefers node1

12.1.3. 拡張正規表現を使用した場所の制約の設定

The Open Group Base Specifications Issue 7 の 9.4 Extended Regular Expressions セクションに記載されているとおり、Pacemaker は POSIX 拡張正規表現を使用するため、以下のコマンドで同じ制約を指定できます。

手順

  • 拡張正規表現を使用して場所の制約を設定するには、以下を実行します。

    # pcs constraint location 'regexp%dummy[[:digit:]]' prefers node1

12.1.4. 場所の制約の表示

場所の制約を表示して、リソース配置ロジックを検証します。表示はリソースまたはノードごとに整理したり、特定の項目をフィルタリングしたり、トラブルシューティング目的で期限切れの制約や内部 ID を含めたりできます。

手順

  • 現在の場所の制約をすべてリスト表示するには、以下を実行します。

    # pcs constraint location [config [resources [resource...]] | [nodes [node...]]] [--full]
    • resources が指定されている場合、このコマンドはリソースごとに制約を表示します (デフォルト)。
    • nodes が指定されている場合、このコマンドはノードごとに制約を表示します。
    • 特定のリソースまたはノードを指定した場合、このコマンドはその情報のみを表示します。
  • 現在の場所、順序、およびコロケーション制約をすべて表示するには、次のコマンドを使用します。制約の内部 ID を表示するには、--full オプションを指定します。

    # pcs constraint [config] [--full]

    デフォルトでは、リソースの制約のリストには、期限切れの制約は表示されません。期限切れの制約をリストに含めるには、pcs constraint コマンドの --all オプションを使用します。これにより、期限切れの制約のリストが表示され、制約とそれに関連するルールが (expired) として表示されます。

  • 特定のリソースを参照する制約をリスト表示するには、以下を実行します。

    # pcs constraint ref resource ...
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る