web-dev-qa-db-ja.com

Pacemaker:configに「prefer」行を追加せずにリソースを移行します

2ノードのマスター/スレーブ構成でペースメーカーを使用する。
いくつかのテストを実行するために、マスターの役割をnode1からnode2に、またはその逆に切り替えたいと考えています。たとえば、現在のマスターがnode1の場合、

# crm resource migrate r0 node2

実際にリソースをnode2に移動します。次に、理想的には、

# crm resource migrate r0 node1

node1に移行します。問題はmigrate設定に行を追加して切り替えを実行することです

location cli-prefer-r0 r0 role=Started inf: node2

元に戻すには、まずその行を削除する必要があります...

マスターをあるノードから別のノードに切り替えるより良い方法はありますか?

7
Ring Ø

私はこの少し古いことを知っています。しかし、だれもこれに満足に答えていないようで、問題が解決したかどうかにかかわらず、要求者は投稿しませんでした。だからここに説明があります。

実行すると:

# crm resource migrate r0 node2

cli-prefer-*ルールが作成されます。

ここで、r0をnode1に戻したい場合は、実行しません。

# crm resource migrate r0 node1

しかし、あなたは実行します:

# crm resource unmigrate r0

umigrateまたはunmoveを使用すると、cli-prefer-*ルールを自動的に。

このルールをクラスター構成で手動で削除しようとすると、クラスターで本当に悪いことが発生するか、少なくとも私の場合は悪いことが発生します。

5
jawed abbasi

1つの解決策は、それらを削除することですcli-prefer移行を再試行する前に手動で制約を設定するか、または(非アクティブな制約が残っていることを気にしない場合は)5分のような時間を追加します。

crm resource migrate r0 node2 PT5M

5分後、ルールは無効になります(およびr0は元に戻る可能性があります)が、引き続き表示されます。

また、2ノードクラスタでは、他のノードを指定する必要がないことにも注意してください。

1
U. Windl

ああ、喜び。

これはすべて、ターゲットノードの有無にかかわらずmigrateコマンドを使用するかどうかで決まります。現在のCLIドキュメントからcrm resource help migrateを介して:

宛先ノードが省略されている場合、リソースは、現在のノードで実行できないようにする制約を作成することによって移行されます。このタイプの制約を作成するには、force引数が必要です。

以前はforceなしでも実行できました。2ノードのクラスターを実行すると(2つのノードが適切なクラスターを構成することはありませんが、ここでは回避できません)、ペースメーカーのステートメントが実行されてしまいました。 migrateコマンドが実行されたときに、実行したノードで実行しないように明示的に指示するconfigなので、pacemakerは強制的に別のノードに移動します。

crm resource migrateを実行した場合、ペースメーカーの構成にlocation cli-...ステートメントが含まれることになります。このようなステートメントには2つのタイプがあり、簡単に確認できます。

crm configure show | grep -e cli-prefer -e cli-ban

深刻なビジネスでは、上記のコマンドはnagios/icinga/whateverモニタリングチェックの一部でもあるはずです。これらの手動の制約は、長期的には実行中の構成に存在してはならないからです。

再度別のノードに移行した場合、最後のノードもリソースの「実行不可能な」場所としてマークする、さらに別のそのようなステートメントで終了しました。最終的にすべてのノードがそのような方法で「移行」された場合...問題のリソースはどこからも開始されず、運が悪かったため、この質問が最初に尋ねられた理由である可能性があります。

解決策は、ターゲットノードを省略するときは常にcrm resource migrateコマンドの後にcrm resource unmigrateコマンドを続け、最終的に後で自分の足を撃たないようにすることでした。


ただし、常にターゲットノードを指定する場合、これはすべて問題ではありません。

crm resource migrate RESOURCE NODE/pcs resource move RESOURCE NODEを再実行すると、pacemaker構成内のcli-prefer...ステートメントが調整されるため、心配する必要はありません。

したがって、crm resource migrate/pcs resource moveは、リソースを起動できないという問題に遭遇することなく、何度でも実行できます。

特にリソースに対するこれらの手動の制約を取り除くには、次のいずれかを実行します。

crm resource unmigrate RESOURCE
crm resource clear RESOURCE

pcs resource clear RESOURCE

ただし、これは、最初に場所の制約を作成しなかった場合、リソースを最初のホストに魔法のように作成することはありません。

1
sjas