LVS 負荷分散モードとアルゴリズムの概要

LVS 負荷分散モードとアルゴリズムの概要

先ほど、Lvs ロード バランシングの状態監視とトラブルシューティングについて紹介しましたが、Lvs ロード バランシングの基本的な内容についてよくわからない方も多いかもしれません。そこで、3 つの動作モードと 8 つのアルゴリズムを含む基本的な知識を特別にまとめました。

3つのLVS負荷分散モード

スケジューラ実装技術の中で、IP ロード バランシング技術が最も効率的であり、IP 仮想サーバー ソフトウェア (IPVS) が Linux カーネルに実装されています。

LVS 負荷分散モード 1.NAT モード

NAT はもともと、ネットワーク IP アドレスが不足しているため、マッピングを通じて内部の予約済み IP アドレスをパブリック ネットワーク アドレスに変換するために使用されていました (元のアドレス NAT)。NAT プロセスを少し変更すると、負荷分散の方法になることができます。原理は、実際には、クライアントから送信された IP パケットの IP ヘッダー アドレスを DR 上のいずれかの REALSERVER の IP アドレスに変更し、この REALSERVER に送信することです。処理後、REALSERVER は DR ホストを介してデータをクライアントに送り返します。このとき、DR はデータ パケットの元の IP アドレスを DR インターフェイス上の IP アドレスに変更します。この期間中、着信トラフィックと発信トラフィックの両方が DR を通過する必要があります。

LVS負荷分散モード2. IPトンネルモード

トンネル モードは VPN モードに似ています。ネットワーク階層化の原理を使用します。クライアントから送信されたデータ パケットに基づいて、新しい IP ヘッダー タグ (不完全な IP ヘッダー、宛先 IP 部分のみ) をカプセル化して REALSERVER に送信します。REALSERVER は、受信後、まず DR が送信したデータ パケットのヘッダーをアンパックし、データ パケットを元の状態に復元してから、DR を経由せずに処理後直接クライアントに返します。REALSERVER は DR が送信したデータ パケットを復元する必要があるため、IPTUNNEL プロトコルをサポートしている必要があることに注意してください。したがって、REALSERVER のカーネルでは、IPTUNNEL をサポートするオプションをコンパイルする必要があります。IPTUNNEL は、ネットワーク オプションにもあります。

LVS負荷分散モード3.ダイレクトルーティングモード

直接的なルーティングモードは、最初の2つのモードが基本的に動作することは困難です(レイヤー3)このサービスIPのすべてのリクエストは、データパケットを受信した後、スケジューリングアルゴリズムに応じて対応するRealServerを見つけます。 ER、DR、およびRealServerは同じブロードキャストドメインにある必要があります。これは、同じスイッチにあると単純に理解することもできます。

LVS 負荷分散のための 8 つのスケジューリング アルゴリズム

LVS は次の 8 つのスケジューリング アルゴリズムを実装しています。

LVS 負荷分散アルゴリズム 1. ラウンドロビンスケジューリング

スケジューラは、「ラウンドロビン」スケジューリング アルゴリズムを使用して、外部要求をクラスタ内の実サーバーに順番に分散します。実際の接続数やサーバー上のシステム負荷に関係なく、各サーバーを平等に扱います。

LVS 負荷分散アルゴリズム 2. 重み付けラウンドロビンスケジューリング

スケジューラは、「加重ラウンドロビン」スケジューリング アルゴリズムを使用して、実サーバーのさまざまな処理能力に基づいてアクセス要求をスケジュールします。これにより、処理能力の高いサーバーがより多くのアクセス トラフィックを処理できるようになります。スケジューラは、実サーバーの負荷状態を自動的に照会し、重みを動的に調整できます。

LVS 負荷分散アルゴリズム 3. 最小接続スケジューリング

スケジューラは、「最小接続」スケジューリング アルゴリズムを使用して、確立されたリンクの数が最も少ないサーバーにネットワーク要求を動的にスケジュールします。クラスタ システムの実際のサーバーのシステム パフォーマンスが類似している場合、「最小接続」スケジューリング アルゴリズムによって負荷のバランスをより適切に取ることができます。

LVS 負荷分散アルゴリズム 4. 重み付け最小接続スケジューリング

クラスタ システム内のサーバーのパフォーマンスが大きく異なる場合、スケジューラは「重み付け最小リンク」スケジューリング アルゴリズムを使用して、負荷分散パフォーマンスを最適化します。重みが高いサーバーは、アクティブな接続負荷の大部分を負担します。スケジューラは、実際のサーバーの負荷を自動的に照会し、重みを動的に調整できます。

LVS 負荷分散アルゴリズム 5. 局所性に基づく最小接続スケジューリング

局所性に基づく「最小リンク」スケジューリング アルゴリズムは、ターゲット IP アドレスの負荷分散アルゴリズムであり、現在、主にキャッシュ クラスタ システムで使用されています。このアルゴリズムは、要求されたターゲット IP アドレスに従って、ターゲット IP アドレスによって最後に使用されたサーバーを検索します。サーバーが使用可能で過負荷でない場合は、要求がそのサーバーに送信されます。サーバーが存在しない場合、またはサーバーが過負荷で、ワークロードが半分のサーバーがある場合は、「最小リンク」原則を使用して使用可能なサーバーが選択され、要求がサーバーに送信されます。

LVS 負荷分散アルゴリズム 6. レプリケーション スケジューリングによる局所性ベースの最小接続

レプリケーションを伴う「ローカリティベースの最小リンク」スケジューリング アルゴリズムも、ターゲット IP アドレスの負荷分散アルゴリズムであり、現在は主にキャッシュ クラスタ システムで使用されています。LBLC アルゴリズムとの違いは、LBLC アルゴリズムがターゲット IP アドレスからサーバ グループへのマッピングを維持するのに対し、LBLC アルゴリズムはターゲット IP アドレスからサーバへのマッピングを維持することです。このアルゴリズムは、要求のターゲット IP アドレスに基づいて、ターゲット IP アドレスに対応するサーバ グループを見つけ、「最小接続」の原則に従ってサーバ グループからサーバを選択します。サーバが過負荷でない場合は、要求がそのサーバに送信されます。サーバが過負荷の場合は、「最小接続」の原則に従ってクラスタからサーバが選択され、そのサーバがサーバ グループに追加され、要求がサーバに送信されます。同時に、サーバ グループが一定期間変更されていない場合は、最もビジーなサーバがサーバ グループから削除され、レプリケーションの度合いが低減されます。

LVS 負荷分散アルゴリズム 7. 宛先ハッシュスケジューリング

「宛先アドレス ハッシュ」スケジューリング アルゴリズムは、要求の宛先 IP アドレスをハッシュ キーとして使用し、静的に割り当てられたハッシュ テーブルから対応するサーバーを検索します。サーバーが使用可能で過負荷でない場合は、要求がサーバーに送信され、そうでない場合は空の文字列が返されます。

LVS 負荷分散アルゴリズム 8. ソースハッシュスケジューリング

「ソース アドレス ハッシュ」スケジューリング アルゴリズムは、要求のソース IP アドレスをハッシュ キーとして使用し、静的に割り当てられたハッシュ テーブルから対応するサーバーを検索します。サーバーが使用可能で過負荷でない場合は、要求がサーバーに送信され、そうでない場合は何も返されません。

<<:  6種類の負荷分散アルゴリズムの概要

>>:  2つの主要な負荷分散アルゴリズムの原理に関する研究

ブログ    

推薦する

機械学習プロジェクトにおける特徴エンジニアリングの 5 つのベスト プラクティス

私たちは長年にわたり、機械学習プロジェクトで何が機能し、何が機能しないかを特定するために、さまざまな...

なぜ「ハイエンド」アルゴリズムエンジニアはデータ移民労働者になったのでしょうか?

まず、Zhihu の「アルゴリズム エンジニアになるのはどんな感じか」という質問に対する私の回答を共...

プログラマーの間でデータ構造やアルゴリズムに関する知識が一般的に不足していることについてどう思いますか?

多くのプログラマーの目には、データ構造やアルゴリズムなどは役に立たず、実際に使用されることもあまりな...

...

大規模モデルで長いテキストを評価する方法: 4 つの主要な評価データセットのタスク設計とデータセット構築ソリューション

大規模言語モデル (LLM) は、さまざまな言語タスクで優れたパフォーマンスを発揮するにもかかわらず...

人工知能(AI)の今後の動向

[[417224]] 21 世紀以降、人工知能は世界中で新たな科学技術革命と産業変革を主導し、人々の...

ニューラルネットワークのトレーニングではCPUはGPUより10倍以上高速。インテル:行列演算はもう使わない

ディープラーニングやニューラルネットワークの分野では、研究者は通常、GPU なしでは作業できません。...

...

...

OpenAIの「月面着陸プロジェクト」はスーパーAIを目指す!ルカンはAGIへの道の7つの段階を提案し、世界モデルの構築が最初の段階である。

汎用 AGI はもうすぐ実現するかもしれません。 OpenAIの次なる「月面着陸計画」は、待望のスー...

スマートデバイスとエッジコンピューティングはどのように発展するのでしょうか?

エッジコンピューティングが増加しています。 AI とネットワークの進歩を組み合わせて、より強力なロー...

...

...

サイバーセキュリティにおける AI と ML のユースケース

サイバー攻撃の性質と標的が多様化するにつれて、サイバーセキュリティの専門家が脆弱性に対処する方法を決...

...