いくつかの経験とデータのコンパイルを構築するためのUbuntu 12.04 LVS

   最近のプロジェクトは、ここでそれを記録するので、この情報を見て、複数のサーバー間で共有処理に、外部からの要求に対してHTTP均衡IPVSロードする必要があります。

LVSは(それはまたIPVSと呼ぶことができる)、IP層及びコンテンツベースのリクエスト分布を負荷分散する方法です。いわゆる負荷分散、処理のために複数のサーバ間で共有されます。

3つの共通IPVSロード・バランシング、NAT / DR / TUN 3つの方法があります。自分の長所とそれの欠点を持っていると考えることができます。

_ VS / NAT VS / TUN VS / DR
サーバ任意のトンネリング非ARPデバイス
サーバネットワークプライベートLAN / WAN LAN
サーバー数ロー(10〜20である)高(100)高(100)
サーバのゲートウェイロードバランサ自身のルーター自ルータ
の最初のリリーステーブルオフィシャル比較。
それは、内部ネットワークで構築されているため、我々が使うので、この方法は、状況は複雑であるため、ネットワークの真ん中を避けるために、テストを複数のマシンをシミュレートするためのアプローチ上記の単一マシン上で複数の仮想マシンを作成することですが、また練習に私はかなりあまりにも多くのエラーを理解していません。

1.IPVS / NATモード:このモードは、いくつかのWebサーバのバックグラウンド処理にメッセージを転送し、ゲートウェイサーバとしての機能を負荷分散で構成され、応答サーバロードバランシングに対応するバックエンドサーバーの応答は、その後、個々のユーザに返さユーザはリバースプロキシと同様に、実際のサーバーの存在を認識しません。しかし、このモードでは、サーバの負荷分散を簡単にボトルネックになります。

 

ここでは、私が直接、次のいくつかのルーティングサーバーがそれを指している必要がありますので、バランスをとるサーバは、ゲートウェイとして機能するロード。

ピットの真ん中に遭遇しています。

(1)により自動的にデフォルトゲートウェイルールルーティング、直接添加される場合と、そこにカールするにテーブルをポイントルーティング仮想ネットワークに割り当てられた割り当てられた時間NATによって仮想マシン(56)のrecv障害:接続のリセットによってピア、この状況は慎重にルーティングテーブルをチェックする必要があります。

2.IPVS / DRモード、例えばモードでサーバとバック物理的に実サーバのネットワークセグメントを負荷分散。サーバーが要求の負荷分散を受けた後、データフレームは、直接、実サーバの選択したMACアドレスに対応するMACアドレスに書き込むことができます。サーバーによって、対応する依頼者に直接戻りました。

 

リクエストを避けるために、ARPテーブルの発見と更新機能の主な実サーバの電源をオフすることを忘れないように時間の配分が適切なサーバに転送することはできません。

3 IPVS / TUNモデル使用IPトンネルモード、IPパケットのカプセル化も外側に直接IPパケット、その後指定された実サーバに対応するリンク、パケットの処理IPパケットに対応する実サーバを転送すること詳細は、wiresharkのを見るために聴くことができます。

 

下に示すように、中間パッケージとWireSharkのグリップ。

 

ここでは主なピットが設定されてはwebServer、rp_filterパラメータを遮断することを忘れないでください。制御システムのRp_filter作用は、パケットの送信元アドレスをチェックするためにオンにされ、そして検出は、逆経路は(厳密な)最適なルートであるか否かをパス/又は(緩い)かどうか、それが失われることはありません。あなたはオフにしない場合は、ディスプレイが表示されることがあり、多少の要求を実サーバに転送されますが、実際のサーバの応答レコードに対応していません。

唯一の他の2つは、宛先アドレスにアクセスするための負荷分散方式を行う一方で、RR / WRR / LC / WLC方法をテストし、その後、多くの情報が本当に最初のレコードを理解できない見つけるバランシングアルゴリズムIPVSいくつかの負荷、についてここに。

IPVSいくつかのデバッグ方法について:

図1に示すように、対応するルートとping、tcpdumpの等を確認するために、ネットワーク接続ツールを使用して。

2、状況ipvsadmの前方TCP / UDPの状態を表示するコマンドを使用します


@ roaddb-VirtualBoxのルート:/ホーム/ roaddb ipvsadmの-l --stats#
IP Virtual Serverのバージョン1.2.1(サイズ= 4096)
ProtのをlocalAddress:ポートConnsのinpkts OutPkts InBytes OutBytes
- > [リモート:ポート
TCP 10.69.142.28:http 100 432 40110 83 556 564
- > 231 165 16995 37290 33 10.0.2.4:httpある
- > 10.0.2.5:http 33 231 165 16995 37290である
- > 102 102 6120 8976 10.0.2.15:http 34で
ルートのVirtualBox roaddb @:/ホーム/ roaddb ipvsadmの-l -c#
これはIPVS接続エントリ
したいんどこ状態ソース仮想期限が切れるPRO
TCP夜12時52分SYN_RECV 10.69.142.70:57004 10.69.142.80:http 10.69.142.73:http
前方3.チェック対応nginxのログ確認状況に。

実サーバがハングがある場合、サーバーハングロードバランシング、および実サーバのバックエンドは、監督的な役割を再生することができたときにkeepalivedのについて、主にkeepalivedのバックアップサーバーのバランスをとるフロントエンドのロードに使用、あなたは交換して自動的にバックアップ・マシンを使用することができます切り替えは急速に0ビットモードの重量によってリセット。keepalivedの原理は、ルーティングアルゴリズムの選挙です。文書アドレス:のhttp://www.keepalived.org/doc/

ノートには、2つの主要な構成でkeepalivedの設定項目:

(1)このパラメータは、実サーバの状況を監視するために、主にinhibit_on_failureは、サーバは、それはまた、ルールに戻って再構成することができた時から、場合にハングアップするために転送することはできません

このパラメータが接続をブロックしているpersistence_timeout(2)、あなたはリンクが時間をかけて、選択したサーバーに転送されて置くことができます。

そこには、さらにハートビートをバックアップし、その上、[実行] keepalivedの機能よりも強力であるといわれています

リファレンス接続のページ:HTTPS://www.cnblogs.com/kevingrace/p/6248941.html
----------------
免責事項:この記事はのCSDN元ブロガー「skiworld」であります記事、CC 4.0 BY-SAの著作権契約に従うには、元のソースのリンクと、この文を添付してください、再現しました。
オリジナルリンクします。https://blog.csdn.net/yanxiaobugyunsan/article/details/79265105

おすすめ

転載: www.cnblogs.com/ExMan/p/11831800.html