0

SLEHA12SP3 を使用して SUSE12 SP3 で Linux HA クラスターを使用して
います。ocf リソース エージェント "ocf::heartbeat:anything" を使用してカスタム CRM リソース (ucaproc と呼びます) を作成しました。ただし、私の質問は、Linux HA クラスター内のノードに対する crm リソースの親和性についてです。クラスターの仮想 IP を提供する「failover-ip」というリソースは常にノード HA1 で開始されるようですが、カスタム リソース (ucaproc と呼ばれます) はデフォルトで常にノード HA2 で実行されます。クラスタ リソースを示す「crm status」コマンドの出力を参照してください

 crm status
 Stack: corosync
 Current DC: HA1 (version 1.1.16-6.5.1-77ea74d) - 
 partition with quorum
 Last updated: Thu Aug  8 12:21:33 2019
 Last change: Thu Aug  8 10:44:45 2019 by root via cibadmin on HA1
 2 nodes configured
 2 resources configured
 Online: [ HA1  HA2 ]

 Full list of resources:

 failover-ip    (ocf::heartbeat:IPaddr2):       Started HA1 
 ucaproc        (ocf::heartbeat:anything):      Started HA2

カスタム リソース (ucaproc) を「failover-ip」と同じノードで強制的に実行するにはどうすればよいですか。基本的に、「failover-ip」と「ucaproc」の両方のリソースを同じノード (アクティブ ノード HA1) で実行し、ノードに障害が発生した場合は、両方を一緒に他のノード (スタンバイ ノード HA2) にフェールオーバーする必要があります。ここでは、実行中のリソースに基づいてアクティブおよびパッシブとして処理するだけで、両方のノード自体がアクティブです。

手伝ってくれてありがとう

ヨゲシュ・デヴィ

4

1 に答える 1

2

デフォルトでは、Pacemaker はクラスター ノード全体にリソースを分散しようとします。これが、リソースが常に異なるノードで開始される理由であると考えられます。リソースが同じノードで実行されるようにするために、コロケーション制約を使用できます。例えば:

crm(live)configure# コロケーション フェイルオーバー ip_with_ucaproc inf: フェイルオーバー ip ucaproc

これは、ucaproc を実行しているノードに無限のスコア (1,000,000) でフェイルオーバー ip を重み付けするように Pacemaker に指示します。

リソースのコロケーションの詳細については、https ://clusterlabs.org/pacemaker/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/s-resource-colocation.html で Pacemaker のドキュメントを確認できます。

于 2019-08-08T19:51:25.847 に答える