首頁 >後端開發 >php教程 >lvs-dr實驗搭建

lvs-dr實驗搭建

WBOY
WBOY原創
2016-07-28 08:28:13957瀏覽

 lvs-dr實驗搭建 2012-04-19 18:00:59

分類: LINUX

環境:
lvs director:A   10.57.主機
    real server1 10.57.220.195:80    Ubuntu 11.10  nginx伺服器
    real server2 10.57.220.🎜>    real server2 10.57.220.🎜>    real server2 10.57.220.🎜>   0.57.220.144
1、下載ipvsadm
 分別在3台機器上下載
 apt-get install ipvsadm
2、ipvsadm設定
 dpkg-reconfigure ipvsadm 
 第一個選擇nodpkg-reconfigure ipvsadm 
 第一個選no  pally第二選none     
3、設定腳本
  
1)director腳本
lvs-dr.sh

點擊(

點此處

  1. #!/bin//
    bin
    /
  2. bash


  3. echo 
    "1"
  4.  
  5. > /proc/
    /
  6. net
    /
  7. ipv4
  8. /ip_forwardIPVSADM
  9. /sbin/ipvsadm'
  10. VIP=10.57
    57.
  11. 144
  12. RS1=10.. >220
    .
  13. 20


  14. RS2
  15. =
    10
  16. .
  17. 57 🎜>220.195

  18. 🎜>:
    1 $VIP broadcast $VIP netmask 255
  19. .
  20. 255
    .
  21. 255
  22. .
    255 up

  23. route add -
    host $VIP dev eth0
  24. :
  25. 1


  26. $IPVSADM -C >$IPVSADM -A 
    -
  27. to -

  28. s
  29.  rr /*建立一條虛擬伺服器記錄,調度演算法為rr 請參閱http://www.it165.net/admin/html/201401/2248.html */
  30. $IPVSADM -a -t $VIP:81 --81 
  31. -
---
-
-
-

---

---:81 -g -w 1  /*為虛擬伺服器增加一台實體機*/$IPVSADM -a -t $VIP:81 -r $RS2:81 -g -w 1  /*給虛擬服務器添加一台物理機*/chmod 777 lvs-dr.sh2)realserver腳本所有realserver相同lvs- rs.sh 點選(此處)折疊或打開

  1. #!/bin/bash

  2. #Description : RealServer 

  3. #Write by
  4. #Write by

  5. #Last Modefiy:2009.1.
    24
  6. 24

  7. VIP=10.57.220.144
    220
  8. .
  9. 144
  10. /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 2550 $VIP broadcast $VIP netmask 255. .255.
    255 up

  11. /sbin/route add host/route add 
    host
  12. /
  13. route add 
    host
  14. >:
  15. 0echo "1" >/////////// 🎜>/sys/net/ipv4/conf/lo
    /
  16. conf
  17. /
    lo
  18. /
  19. arp_ignore /*只回答目標IP位址是來訪網路介面本地位址的ARP查詢要求*/echo "2"  >/proc/sys/net/ipv4
  20. /
  21. lo
    /
  22. arp_announce /*
  23. 對查詢目標使用最適當的本地位址.在此模式下將忽略這個IP封包的來源位址並嘗試選擇與能與該位址通訊的本地位址.首要是選擇所有的網路介面的子在網中外出存取子網路中包含該目標IP位址的本地位址. 如果沒有適當的位址被發現,將選擇目前的傳送網路介面或其他的有可能接受到該ARP回應的網路介面來進行傳送*/echo "1" >/ >sys/net
    /
  24. ipv4
  25. /
    conf
  26. /
  27. all/arp_ignoreall/arp_ignore 🎜>echo "2" >/proc//
    proc
  28. /

  29. /
  30. proc
  31. />/ >net/ipv4
    /
  32. conf
  33. /
    all
  34. /
  35. arp_announce






sysctl 
-

p




4、執行、測試

分別在三個機器上執行對應腳本注意事先啟動。 nginx 伺服器firfox存取  10.57.220.144:81可用ipvsadm -ln檢視狀態

5、注意問題

 

  防火牆結果連接埠一致,否則不通。例如都是80埠,不能有的是80,有的是81。

 本案例中vip和真實ip都是在同一網段,vip可以和real ip不同網段,可參考章博士的回答  http://zh.linuxvirtualserver.org/node/155。負載調度器只要有一個網口和真實伺服器是透過不分段的網路連接起來就可以。真實伺服器可以透過自己的路由器將回應封包傳送給客戶。 關於調度演算法請參考:http://zh.linuxvirtualserver.org/node/2903架構參考http://zh.linuxvirtualserver.org/node/28 以上就介紹了 lvs-dr實驗搭建,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn