LVSが提供する3つのIP負荷分散技術

LVSが提供する3つのIP負荷分散技術

1. LVSと負荷分散の概要:

LVS はLinux Virtual Serverの略で、 Linux 仮想サーバー、仮想サーバー クラスタ システムを意味します。

負荷分散とは、サービスを提供するサーバーまたはサイトが 2 つ以上あることを意味します。過度の負荷によるサーバー障害を回避するために、特定のアルゴリズムを使用して、クライアントからのリクエストをこれらのクラスター間で可能な限り均等に分散します。つまり、すべての負荷が複数のサーバー間で均等に分散されるため、サーバーの 1 つに障害が発生しても、ユーザーは引き続きサービスにアクセスして正常に受信できます。

最も広く使用されている方法は、ソフトウェアを使用して負荷分散を実現することです。この方法は結果が良好でコストもかからないため、多くの企業で選択されています。

ソフトウェアで負荷分散を実装する方法は 2 つあります。

  • アプリケーション層の負荷分散
  • IP層に基づく負荷分散

この記事では主に IP 層に基づく負荷分散について紹介します。

2. IP層の負荷分散に基づく:

IP レイヤーベースの負荷分散:ユーザーが仮想 IP アドレスを通じてサービスにアクセスすると、アクセス要求メッセージが負荷スケジューラに到達します。負荷スケジューラは負荷分散を実行し、実サーバーのグループから 1 つを選択してメッセージを処理して、選択したサーバーのアドレスに転送します。実サーバの応答メッセージがロード スケジューラを通過すると、メッセージの送信元アドレスと送信元ポートが仮想 IP アドレスと対応するポートに変更され、メッセージがユーザに送信されます。

IP ロード テクノロジーには、次の 3 つのモードがあります。

  • NAT 経由の仮想サーバー (VS/NAT)
  • IP トンネル経由の仮想サーバー (VS/TUN)
  • ダイレクトルーティング経由の仮想サーバー (VS/DR)

3. 仮想サーバーを実装するためのVS/NAT

IPv4 の IP アドレス空間の不足が深刻化していることとセキュリティ上の理由から、多くのネットワークでは予約済みの IP アドレス ( 10.0.0.0/255.0.0.0、172.16.0.0/255.128.0.0、192.168.0.0/255.255.0.0 )使用されています。これらのアドレスはインターネットでは使用されず、内部ネットワーク用に予約されています。

内部ネットワーク内のホストがインターネットにアクセスしたり、インターネットからアクセスされたりする場合、ネットワーク アドレス変換 (NAT) を使用して内部アドレスをインターネットで使用可能な外部アドレスに変換する必要があります。

NAT の動作原理は、メッセージ ヘッダー (宛先アドレス、送信元アドレス、ポートなど) が正しく書き換えられた後、クライアントは 1 つの IP アドレスに接続されていると信じ、異なる IP アドレスを持つサーバー グループもクライアントに直接接続されていると信じることです。したがって、NAT 方式を使用すると、異なる IP アドレス上の並列ネットワーク サービスを 1 つの IP アドレス上の仮想サービスに変換できます。

VS/NAT (Virtual Server via Network Address Translation) によって実装される仮想サーバーは次のような構造を持ち、主に次の手順に従います。

LVS-NAT

  • クライアントはインターネット経由でサーバーにリクエストを送信し、リクエストの IP アドレスはスケジューラに公開された IP アドレスを指します。 (実際にリクエストを処理するサーバーのIPアドレスではないため、仮想IPアドレスと呼ばれ、略してVIP、Virtual IP Addressと呼ばれます)
  • リクエストメッセージはスケジューラ(ロードバランサ)に到着し、スケジューラはスケジューリングアルゴリズムに従って、実サーバ(ユーザリクエストを実際に処理するサーバであるため、実サーバ、リアルサーバと呼ばれます。IPアドレスは実IPとも呼ばれ、略してRIPと呼ばれます)のグループから現在の負荷が低いサーバを選択します。次に、クライアントの要求メッセージ内の宛先アドレス (ロード バランサの VIP) とポートが、iptables の NAT を介して、選択したサーバーの IP アドレスとサービス ポートに書き換えられます。最後に、変更されたメッセージが選択したサーバーに送信されます。同時に、スケジューラはこの接続を接続ハッシュ テーブルに記録します。この接続の次のメッセージが到着すると、接続ハッシュ テーブルから最初に選択されたサーバーのアドレスとポートが取得され、同じ書き換え操作が実行され、最初に選択されたサーバーにメッセージが送信されます。
  • リアルサーバーはメッセージを受信すると、応答を処理し、応答メッセージをロードバランサーに送信します。
  • ロード バランサは応答メッセージを受信すると、メッセージの送信元アドレスと送信元ポートを仮想 IP アドレスと対応するポートに変更し、ユーザーにメッセージを送信します。

このように、顧客が目にするのは仮想 IP アドレスで提供されるサービスだけであり、サーバー クラスターの構造はユーザーに対して透過的になります。

以下に、図に示すように、VS/NAT をさらに説明するための例を示します。

NAT-例

VS/NAT 構成を次の表に示します。 IP アドレス 205.100.106.2 およびポート 80 へのすべてのトラフィックは、実サーバー 172.16.1.3:80 および 172.16.1.4:8080 に負荷分散されます。宛先アドレスが 205.100.106.2:21 のメッセージは 172.16.1.3:21 に転送されます。他のポートへのメッセージは拒否されます。

プロトコル

仮想IPアドレス

ポート

実際のIPアドレス

ポート

通信プロトコル

205.100.106.2

80

172.16.1.3

80

172.16.1.4

8080

通信プロトコル

205.100.106.2

21

172.16.1.3

21

クライアントが Web サービスにアクセスすると、メッセージには次の送信元アドレスと宛先アドレスが含まれる場合があります。

ソース

目的地

203.100.106.1:3456

205.100.106.2:80

メッセージがスケジューラに到達すると、スケジューラは 172.16.1.4:8080 などのスケジューリング リストからサーバーを選択します。メッセージは次のアドレスに書き換えられ、選択したサーバーに送信されます。

ソース

目的地

203.100.106.1:3456

172.16.1.4:8080

変更されたメッセージを受信した後、リアルサーバーは応答し、応答メッセージをスケジューラに返します。メッセージは次のとおりです。

ソース

目的地

172.16.1.4:8080

203.100.106.1:3456

応答メッセージの送信元アドレスは、ロード バランサによって仮想サービスのアドレスに書き換えられ、その後、メッセージがクライアントに送信されます。

ソース

目的地

205.100.106.2:80

203.100.106.1:3456

このようにして、クライアントは 202.103.106.5:80 サービスから正しい応答を受け取ったと認識しますが、要求がリアルサーバー 1 によって処理されるのか、リアルサーバー 2 によって処理されるのかはわかりません。

これは、VS/NAT がデータ パケットを処理するプロセス全体であり、次の特性があります。

  • クラスタノード、つまり実サーバとロードバランサは同じIPネットワーク上に存在する必要がある
  • ロードバランサは実サーバーとクライアントの間に位置し、すべての受信および送信通信を処理します。
  • RIP は通常プライベート アドレスであり、クラスター ノード間の通信にのみ使用されます。
  • 実サーバーのゲートウェイはロードバランサーを指す必要があります
  • ポート マッピングをサポートします。つまり、リアル サーバーのポートは独自に設定でき、ロード バランサーと同じである必要はありません。

VS/NAT の利点はポート マッピングを実行できることですが、ロード バランサがクラスターのボトルネックになる可能性があります。すべての受信メッセージと送信メッセージは Load Balancer によって処理される必要があるため、要求メッセージが小さい場合は問題になりませんが、応答メッセージは大きくなることがよくあります。 NAT 変換が必要な場合、ロード バランサは大量のトラフィックを処理できなくなります。一般的にVS/NATを使用した場合、処理できる実サーバの最大数は10~20程度であり、効率が高くないことが多いです。

4.VS/DRは仮想サーバーを実装します

VS/NAT クラスタ システムでは、要求データ パケットと応答データ パケットの両方がロード スケジューラを通過する必要があります。実サーバーの数が 10 ~ 20 の場合、負荷スケジューラがクラスタ システム全体の新たなボトルネックになります。ほとんどのインターネット サービスには、要求メッセージは短いのに対し、応答メッセージには大量のデータが含まれることが多いという特徴があります。

受信メッセージと送信メッセージを同時に処理すると、効率に大きく影響し、マシンの負荷が増加するため、受信メッセージのみを処理する、つまり、ロード スケジューラが要求のスケジュールのみを担当し、送信メッセージはリアル サーバーによってクライアントに直接送信されるようにすると、はるかに効率的ではないでしょうか。

VS/DR (Virtual Server via Direct Routing) は、ほとんどのインターネット サービスの非対称特性を活用します。ロード スケジューラは要求のスケジュール設定のみを担当し、サーバーはクライアントに直接応答を返すため、クラスター システム全体のスループットが大幅に向上します。

VS/DR によって実装される仮想サーバーは次のような構造になっており、主に次の手順で実行されます。

DR-struct

  • クライアントはインターネット経由でサーバーに要求を開始し、要求の IP アドレスはスケジューラに公開された IP アドレスを指します。
  • 要求メッセージがスケジューラ (ロード バランサ) に到着します。スケジューラは、各サーバーの負荷状況に基づいてサーバーを動的に選択します。 IP メッセージを変更またはカプセル化するのではなく、データ フレームの MAC アドレスを選択したサーバーの MAC アドレスに変更し、変更されたデータ フレームをサーバー グループのローカル エリア ネットワークに送信します。データ フレームの MAC アドレスは選択されたサーバーのものであるため、サーバーはこのデータ フレームを確実に受信できます。
  • メッセージを受信した後、リアルサーバーはメッセージのターゲット アドレス VIP がローカル ネットワーク デバイス上にあることを検出します。サーバーはメッセージを処理し、ルーティング テーブルに従って応答メッセージをクライアントに直接返します。

MACの変更

VS/DR では、デフォルトの TCP/IP プロトコル スタック処理に従って、要求メッセージの宛先アドレスは VIP であり、応答メッセージの送信元アドレスも VIP である必要があるため、応答メッセージを変更する必要がなく、直接顧客に返すことができます。顧客は通常のサービスを受けていると考えていますが、どのサーバーがそれを処理しているかはわかりません。

これは、VS/DR がデータ パケットを処理するプロセス全体であり、次の特性があります。

  • クラスタノード、つまり実サーバとロードバランサは同じ物理ネットワーク上に存在する必要があります(異なるネットワークセグメントに存在する場合、構造が複雑になります)
  • RIP は通常はプライベート アドレスですが、リモート管理や監視を容易にするためにパブリック ネットワーク アドレスとして使用することもできます。
  • ロード バランサは受信要求の処理のみを担当し、リアル サーバーはクライアントに直接応答します。
  • 実サーバーのゲートウェイはロードバランサーを指すことができません
  • ポートマッピングはサポートされていません。つまり、実サーバーのポートはロードバランサーの外部サービスポートと同じである必要があります。

5. VS/TUNは仮想サーバーを実装する

VS/DR は、実サーバーおよびロード バランサーが同じ物理ネットワーク内にあることを制限します。いろいろな場所に散らばっていたら使えなくなってしまうのではないですか?そこで VS/TUN (IP トンネリング経由の仮想サーバー) が誕生しました。

IP トンネリングは、1 つの IP メッセージを別の IP メッセージにカプセル化するテクノロジです。これにより、1 つの IP アドレス宛てのデータ メッセージをカプセル化して別の IP アドレスに転送できるようになります。 IP トンネリング技術は、IP カプセル化技術 (IP カプセル化) とも呼ばれます。 IP トンネルは主にモバイル ホストや仮想プライベート ネットワーク (VPN) に使用され、トンネルは静的に確立され、トンネルの一方の端には IP アドレスが、もう一方の端にも一意の IP アドレスが設定されます。

IP トンネリング技術を使用してリクエスト メッセージをカプセル化してバックエンド サーバーに転送し、バックエンド サーバーから応答メッセージを直接顧客に返すことができます。しかし、ここではバックエンド サーバーが 1 つだけではなくグループもあるため、1 対 1 のトンネルを静的に確立することはできません。代わりに、サーバーを動的に選択し、要求メッセージをカプセル化して、選択したサーバーに転送します。このように、IP トンネリングの原理を使用して、サーバー グループ上のネットワーク サービスを 1 つの IP アドレス上の仮想ネットワーク サービスに統合できます。 VS/TUN アーキテクチャを図に示します。各サーバーは、独自の IP トンネル デバイス上で VIP アドレスを構成します。

トンネル構造

接続のスケジュールと管理は VS/NAT と同じですが、メッセージの転送方法が異なります。スケジューラは、各サーバーの負荷に基づいてサーバーを動的に選択し、要求メッセージを別の IP メッセージにカプセル化してから、カプセル化された IP メッセージを選択したサーバーに転送します。サーバーはメッセージを受信すると、まずメッセージを解凍して、元のターゲット アドレスを VIP として持つメッセージを取得します。サーバーは、VIP アドレスがローカル IP トンネル デバイス上に設定されていることを検出すると、要求を処理し、ルーティング テーブルに従って応答メッセージをクライアントに直接返します。

これは、VS/TUN がデータ パケットを処理するプロセス全体であり、次の特性があります。

  • クラスタノード、つまり実サーバとロードバランサはパブリックネットワークを横断できる
  • RIP アドレスはパブリック ネットワーク アドレスである必要があります。
  • ロード バランサは受信要求の処理のみを担当し、リアル サーバーはクライアントに直接応答します。
  • 実サーバーのゲートウェイはロードバランサーを指すことができません
  • ポートマッピングはサポートされていません。つまり、実サーバーのポートはロードバランサーの外部サービスポートと同じである必要があります。

これらは、LVS が提供する 3 つの IP 負荷分散テクノロジです。私たちは自分自身の状況に応じてさまざまな選択をすることができます。

<<:  分散機械学習用パラメータサーバー

>>:  リレーショナル データベースの束縛を打破する: クラウドネイティブ データベース ミドルウェアのコア分析

推薦する

Weiboマーケティングの利点と限界の簡単な分析

すべての物事には良い面と悪い面という二つの面があります。どのマーケティング手法にも利点と限界がありま...

国産CPUをベースにしたクラウドプラットフォーム上でコンテナ管理プラットフォームを構築するには? (パート2)

「ZTE事件」が拡大し続ける中、中国国民は自主管理可能な国産技術に大きな注目を寄せている。私の部署の...

10月1日までにゲームライセンスを申請していないゲームが店頭から撤去される問題について、どのようにお考えですか?

国家新聞出版広電総局が今年6月2日に「ゲーム出版サービスの管理に関する通知」(以下、「通知」という)...

ウェブサイトの掲載数は半減し、外部リンクは倍増した

最近、Baiduの包含状況(包含、被リンク、ランキングを含む)は変動しています。特に、今朝、ウェブサ...

マルチクラウドモデルは万能薬ではない

ブランドン・ヴィグリアロロ翻訳者:王志軍編纂者:Qianshanすべての企業が複数のクラウドを必要と...

個人的には、WordPressの方がPHPCMよりもSEOに使いやすいと感じています

最近、phpcmsプログラムを使用して新しいWebサイトを構築し、Webサイトのアーキテクチャ、UR...

中小企業におけるクラウドコンピューティング導入の3つの大きな障害

クラウド コンピューティング テクノロジーがデジタル変革に利用されていることは周知の事実です。実際、...

Ali TrustPassとBaiduの入札を組み合わせると、1+1が2よりも大きくなる状況が確実に実現されます。

現在、中小企業にとって間違いなく最適な情報プロモーションプラットフォームは2つあります。1つはB2B...

地域ポータルフォーラムの運営とプロモーションに関する経験の共有

Changsha.com(以下「Changsha.com」)は、3か月間オンラインになっています。オ...

アプリプロモーションで無料チャネルリソースの効果を最大化する方法

推薦する:アプリのチャネルプロモーションには、無料のチャネルリソース、無料の初回リリースリソース、無...

bhost-$4.25/OVZ/XEN/KVM/256m メモリ/10g ハードディスク/300g トラフィック

Bhost は、非常に有利な VPS 割引コード LEBSPRING を提供しており、永久に 40%...

ウェブサイトがブロックされ、ホームページだけが残った理由

多くのウェブマスターが、自分のウェブサイトが抜き取られるという問題に遭遇したことがあると思います。割...

ブランドワールドカップマーケティングの進化

4年に一度のワールドカップが近づいています。ワールドカップのたびに、多くのブランドが実際の資金でワー...

Weiboが最低点に陥った!

2017年、Weiboは株価が44ドルから​​140ドルへと3倍に急騰するというハイライトを迎えた。...

経験がなくても優れたウェブサイト SEO スペシャリストになれますか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています多くの S...