lvs-dr 実験セットアップ

WBOY
WBOYオリジナル
2016-07-28 08:28:13955ブラウズ

lvs-dr 実験セットアップ 2012-04-19 18:00:59

カテゴリ: LINUX

環境:
lvs ディレクター: 10.57.220.198:80 Ubuntu 10.04 LTS vmware 仮想マシン
実サーバー 1 10.57.220.195: 80 tu 11.10 nginxサーバー
リアルサーバー2 10.57。 220.20:80 Ubuntu 11.10 nginx サーバー
仮想 IP (vip): 10.57.220.144
1. ipvsadm をダウンロード
3 台のマシンにそれぞれダウンロード
apt-get install ipvsadm 設定
dpkg-reconfigure ipvsadm
最初のもの いいえを選択してください(ブート時に ipvs ルールを自動的にロードしますか?)
2 番目の選択肢はなしです
3. 設定スクリプト

1) ディレクター スクリプト
lvs-dr.sh

(

ここ) をクリックして折りたたむか開きます

  1. #!/bin/bash

  2. echo
  3. "1" > /proc/sys/ /ipv4/ip_forward
  4. IPVSADM
    =
  5. '/sbin/ipvsadm'
  6. VIP
    =
  7. 10
  8. .57.220 .1 44
  9. RS1
    =
  10. 10
  11. .57.220.20
  12. RS2
    =
  13. 10
  14. .57.220.195


  15. ifconfig eth0
    :
  16. 1 $VIP ブロードキャスト $VIP ネットマスク 255
  17. .255.255.255 up
  18. ルート追加
    -
  19. host $VIP dev eth0
  20. :1


  21. $IPVSADM
    -
  22. C /*Cl Ear 仮想サーバー情報*/

  23. $IPVSADM
    -
  24. A -t $VIP:81 -s rr /*仮想サーバー レコードを作成します。スケジューリング アルゴリズムは rr です。 http://www.it165.net/admin/html/201401/2248.html */
  25. $IPVSADM
    -
  26. a - t $VIP:81 -r $RS1:81 -g -w 1 /*仮想サーバーに物理マシンを追加*/
  27. $IPVSADM
    -
  28. a-t $VIP:81 -r $RS2:81 -g -w 1 /*仮想サーバーに物理マシンを追加*/
  29. chmod 777 lvs-dr.sh
2) realserver スクリプトすべての realserver に同じlvs-rs.sh
(
ここ
)をクリックして折りたたむか開きます

  1. #!/bin/bash

  2. #説明:RealServer

  3. #書き込み:ハグwww

  4. #最後モデフィ:2009.1.24

  5. VIP=10.57.220.144

  6. /sbin/ifconfig lo:0 $VIP ブロードキャスト $VIP ネットマスク 255.255.255.255 up

  7. /sbin/route add -host $VIP dev lo:0

  8. echo "1"> /proc/ sys/net/ipv4/conf/lo/arp_ignore /*ターゲット IP アドレスが訪問ネットワーク インターフェイスのローカル アドレスである ARP クエリ リクエストにのみ応答します*/

  9. echo "2">/proc/sys/ net /ipv4/conf/lo/arp_announce /*クエリ ターゲットに最も適切なローカル アドレスを使用します。このモードでは、この IP パケットの送信元アドレスは無視され、そのアドレスと通信できるローカル アドレスの選択が試行されます。サブネット内のすべてのネットワーク インターフェイス 送信アクセス サブネット内のターゲット IP アドレスのローカル アドレス 適切なアドレスが見つからない場合は、現在の送信ネットワーク インターフェイスまたは ARP 応答を受信する可能性のある他のネットワーク インターフェイスが送信用に選択されます*。 /

  10. echo "1" >/proc/sys/net/ipv4/conf/all /arp_ignore

  11. エコー「2」>/proc/sys/net/ipv4/conf/all/arp_announce

  12. sysctl- p

  13. #end
chmod 777 lvs-rs.sh
4. 実行とテスト
3 台のマシンでそれぞれ対応するスクリプトを実行します
事前に起動することに注意してください。 nginx サーバー
firfox アクセス 10.57.220.144:81
ipvsadm -ln を使用してステータスを確認できます
5. 問題に注意してください

ファイアウォールはオフにする必要があります。Linux では iptables です

各サーバーのポート一貫性がなければ、機能しません。たとえば、それらはすべてポート 80 ですが、一部はポート 80 にできず、一部はポート 81 にできます。
この場合、VIP と実際の IP は同じネットワーク セグメント内にあります。VIP と実際の IP は異なるネットワーク セグメント内にある場合があります。Zhang 博士の回答 http://zh.linuxvirtualserver.org/node/ を参照してください。 155.ロード スケジューラに必要なのは、ネットワーク ポートを持ち、セグメント化されていないネットワークを介して実サーバーに接続することだけです。実サーバーは、独自のルーターを介してクライアントに応答メッセージを送信できます。
スケジューリング アルゴリズムについては、http://zh.linuxvirtualserver.org/node/2903 を参照してください。

アーキテクチャ リファレンス http://zh.linuxvirtualserver.org/node/28

上記では、さまざまな側面を含む lvs-dr の実験的なセットアップを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。