Comments(12)利用と配置ストラテジPacemakerのリソース配置は全ノードの割り当てスコアに基づき決定します。高いスコアのノードにリソースが配置されることになります。スコアが同じ場合は、デフォルトでは割り当てリソースが少ないほうのノードを選びます。リソースの数が同じだった場合には、CIBに最初に記載されたノードを選びます。通常、リソースごとに必要なシステムリソースは異なりますので、リソース数だけでシステム負荷を均一化することはできません。リソースを動作させるのに必要なシステムリソースがない場合には、リソースの起動が失敗するか、著しくパフォーマンスが落ちます。そのため、これら要素を考慮してPacemakerを設定する必要があります。利用属性ノードのシステムリソースやリソソースが必要とするシステムリソースは、nodeとresourceオブジェクトのutilization属性を使って設定します。utilization属性は必要に応じて自由に、名前と値の組で設定することができます。属性の値は整数である必要があります。</utilization></primitive>実際のCPUやメモリ使用量はPacemakerは関知しません。配置ストラテジノードのシステムリソース情報と、リソースが必要とするシステムリソース情報を設定したら、次はplacement-strategyを設定します。これを設定しないと、実際には機能しません。配置ストラテジでは、次の4つの値を設定できます。defaultutilization値は考慮されません。リソースは割り当てスコアに応じて配置されます。スコアが同じ場合にはノードに均等に配置されます。utilizationリソースが動作するのに十分なシステムリソースのある適格なノードがある場合にのみ、utilization値が考慮されます。リソース配置の負荷分散はノードに割り振られたリソース数に基づいて行われます。balancedリソース動作に適格なノードのある場合、及びリソース配置の負荷分散時にutilization値を考慮します。リソースのパフォーマンス最適化が図れるようにリソース配置が行われます。minimalリソースが動作するのに十分なシステムリソースのある適格なノードがある場合にのみ、utilization値が考慮されます。リソース配置はできるだけ少ないノードに行い、電力消費を少なくするようにします。これらplacement-strategyは、crm_attributeコマンドで設定することができます。balanced上記のコマンドで、balancedにてノードへのリソース割り当てを設定することができます。リソース割り当て時の詳細についてリソース割り当て時にどのノードから行うかノード健全性を表すノードの重み情報をもとに、この重みの大きいノードからリソースを割り当てていきます。複数のノードが同じ重みだった場合は:、placement-strategyがdefaultまたはutilizationだった場合は、リソースの割り当て数が少ないノードから先にリソースが割り当てられます。リソース割り当て数も同じだった場合には、CIBへの記載が先のノードから割り当てていきます。placement-strategyがbalancedだった場合には、システムリソースに空きがあるノードから先にリソースを割り当てていきます。複数ノードのシステムリソースの空き状況が同じだった場合には、リソースの割り当て数が少ない順に割り当てていきます。リソースの割り当て数も同じだった場合には、CIBへの記載が先のノードから割り当てていきます。placement-strategyがminimalだった場合には、CIBへの記載が先のノードから割り当てていきます。どのノードに最もシステムリソースの空きがあるか1つのutilization属性のみが定義されていた場合、システムリソースの空き状況はシンプルに数値を比較して決定します。複数のutilization属性が設定されていた場合には、複数の属性で、最も多くのシステムリソースに空きのあるノードを選択します。ノードAに最もcpuの空きがあり、ノードBに最もmemoryの空きがあった場合は、システムリソースの空き状況としてノードAとノードBは同じです。ノードAに最もcpuの空きがあり、ノードBは最もmemoryとstorageに空きがある場合には、ノードBがより空きがあるものと判断します。高いpriorityのリソースから先に割り当てます。priorityが同じだった場合は、すでに起動しているか調べます。それが起動しているノードで最も高いスコアを持つリソースが、リソースの混在を避けるため先に割り当てられます。上記のスコアが同じ、またはそのリソースが起動していなかった場合には、選好性の高いノードで最も高いスコアを持つリソースから先に割り当てられます。上記のスコアが同じだった場合は、起動できるリソースのうちCIBに先に書かれた順で割り当てられていきます。制限と一時回避策Pacemakerの扱うことになる課題の一部は、ナップサック問題やNP完全と呼ばれるコンピュータサイエンス上の問題です。これらは解くのに非常に時間を要します。HAクラスタにおいては、そのような時間を要すわけにはいかないため、Pacemakerはベストエフォートなアルゴリズムでどのノードでサービスを提供するかを決定します。これは高速な決定を可能にしますが、特定の状況で一部のリソースを停止したままにしてしまうなど、望ましくないケースも発生します。対策としては以下のようなものがあります。物理的に十分なシステムリソースを確保するこれは一見当然のことのように思えますが、システムリソースをすべて使い切ってしまうくらいまでリソースを動作させていた場合にはフェイルオーバーが失敗してしまうことがあるためです。設定するシステムリソースにバッファーを持たせる割り当てたからといってすぐに実際にシステムリソースを消費するわけではないので、例えば実メモリ以上にメモリ割り当てを行えるなどのオーバーコミットが可能です。これは実際にシステムリソースが必要になった場合に問題になります。リソースの優先度を決めるもしクラスタがサービスを犠牲にするとしても、それは最も優先度の低いものであるべきです。そのため、リソースの優先度設定が重要になります。コメントをキャンセル次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。