1.3.2. サーバーの重み付けとスケジューリング
Load Balancer Add-On の管理者は実サーバープール内の各ノードに対して 重み を割り当てることができます。整数値で設定する重みは 重み付けを認識する スケジューリングアルゴリズムならいずれのアルゴリズムにも組み入れられます (weighted least-connection など)。また、LVS ルーターで異なる処理能力のハードウェアにより均等に負荷を分散する場合に役立ちます。
重みは互いに相対的な割合として機能します。例えば、ある実サーバーに 1 の重みを付け、別のサーバーには 5 の重みを付けた場合、1 の重みを付けたサーバーが 1 回接続される度、5 の重みを付けたサーバーは 5回接続されます。実サーバーのデフォルトの重み値は 1 です。
実サーバープール内でそれぞれ異なるハードウェア構成のノードに重みを付けるとクラスターでの負荷分散をより効率的に行う場合に役立ちますが、 weighted least-connection スケジューリングで仮想サーバーが設定されている際、任意の実サーバーがその実サーバープールに挿入されると、一時的に不均衡が生じる場合があります。例えば、実サーバープールに 3 台のサーバーがあったとします。サーバー A と B に 1 の重みが付けられ、サーバー C には 2 の重みが付けられていたとします。サーバー C が何らかの理由でダウンした場合、放棄された負荷がサーバー A と B に均等に分散されます。しかし、サーバー C がオンラインに復帰すると、LVS ルーター側でサーバー C の接続がまったくないと判断され、サーバー A および B と同等になるまで着信要求をすべてサーバー C に集中的に振り分けることになります。
この現象を避けるため、管理側で仮想サーバーを 休止 サーバーにすることができます。これを利用すると、上述のような実サーバー C は仮想サーバーテーブルから削除される代わりに重みが 0 に設定されます。これにより実質このサーバーは無効になります。実サーバー C が利用できる状態になると、オリジナルの重み値に戻され再び有効になります。