Linux負載平衡軟體LVS的簡單樣本

來源:互聯網
上載者:User

標籤:lvs   tomcat   

本文一個簡單的樣本示範LVS的配置(DR模式)和測試。
使用的配置環境如下:
Director server: 192.168.8.4
Real server1: 192.18.8.5
Real server2: 192.168.8.6
VIP: 192.168.8.200
網路topology圖如下:

圖2中的VIP指的是虛擬IP地址,還可以叫做LVS叢集的服務IP,在DR、TUN模式中,
資料包是直接返回給使用者的,所以,在Director Server上以及叢集的每個節點上都需要設定這個地址。
此IP在Real Server上一般綁定在迴環地址上,例如lo:0。
在Director Server上,虛擬IP綁定在真實的網路介面裝置上,例如eth0:0。
Linux2.6核心預設支援LVS功能,系統安裝完畢,可以通過如下命令檢查kernel是否已經支援LVS的ipvs模組:
[[email protected] ~]#modprobe -l |grep ipvs
/lib/modules/2.6.18-53.el5/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.18-53.el5/kernel/net/ipv4/ipvs/ip_vs_rr.ko
如果有類似上面的輸出,表明系統核心已經預設支援了IPVS模組。接著就可以安裝IPVS管理軟體了。

一  在Director Serve上安裝IPVS管理軟體
下載對應的ipvsadm-1.24版本,接著進行安裝:
tar zxvf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make
make install
注意:在make時可能會出現錯誤編譯資訊,這是由於編譯器找不到對應核心的原因,
按照如下操作就可以正常編譯:
[[email protected] ~]#ln -s /usr/src/kernels/2.6.18-53.el5-i686/  /usr/src/linux
安裝完成後,通過ipvsadm命令列進行配置

首先在Director Server上綁定一個虛擬IP,此IP用於對外提供服務,執行如下命令:
ifconfig eth0:0 192.168.8.200 broadcast 192.168.8.200 netmask 255.255.255.255 up

這樣在eth0裝置上綁定了一個虛擬設備eth0:0,同時設定了一個虛擬IP是192.168.8.200,
也就是上面我們規劃的IP地址,然後指定廣播位址也為192.168.8.200,需要特別注意的是,
這裡的子網路遮罩為255.255.255.255。
然後給裝置eth0:0指定一條路由,執行如下指令:
route add -host 192.168.8.200 dev eth0:0
接著啟用系統的包轉寄功能,從而使系統充當路由器,執行如下指令:
[[email protected] ~]#echo "1" >/proc/sys/net/ipv4/ip_forward
指令中,參數值為1時啟用ip轉寄,為0時禁止ip轉寄。其實在DR模式中,開啟系統的包轉寄功能不是必須的,
而在NAT模式下此操作是必須的。
然後開始配置ipvs,執行如下操作:
ipvsadm -C
ipvsadm -A -t 192.168.8.200:8080 -s rr
ipvsadm -a -t 192.168.8.200:8080 -r 192.168.8.5:8080 -g
ipvsadm -a -t 192.168.8.200:8080 -r 192.168.8.6:8080 -g
上面操作中,第一行是清除核心虛擬伺服器列表中的所有記錄,
第二行是添加一條新的虛擬IP記錄,同時指定策略為輪詢。
第三、四行是在新加虛擬IP記錄中添加兩條新的Real Server記錄,並且指定LVS的工作模式為直接路由模式。
最後,啟動LVS服務,執行如下操作:
[[email protected] ~]#ipvsadm
這樣,LVS在Director Server上的配置就完成了。

二、Real server 的配置
在lvs的DR和TUN模式下,使用者的訪問請求到達真實伺服器後,是直接返回給使用者的,
而不再經過前端的Director Server,因此,就需要在每個Real server節點上增加虛擬VIP地址,
這樣資料才能直接返回給使用者,增加VIP地址的操作可以通過下面的命令來實現:
ifconfig lo:0 192.168.8.200 broadcast 192.168.8.200 netmask 255.255.255.255 up
route add -host 192.168.8.200 dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p

在迴環裝置上綁定了一個虛擬IP地址,並設定其子網路遮罩為255.255.255.255,
與Director Server上的虛擬IP保持互連,然後禁止了原生ARP請求。
由於虛擬ip,也就是上面的VIP地址,是Director Server和所有的Real server共用的,
如果有ARP請求VIP地址時,Director Server與所有Real server都做應答的話,就會出現問題,
因此,需要禁止Real server響應ARP請求。

三、在Real server上配置tomcat服務,略。
在192.18.8.5建一個html檔案內容為:
this is the test page
<br>
from server 192.168.8.5
在192.18.8.6建一個html檔案內容為:
this is the test page
<br>
from server 192.168.8.6

四 測試
用戶端通過VIP訪問,如下面的url
http://192.168.8.200:8080/test/test.html
可以發現返回的內容由192.168.8.5和192.168.8.6輪流提供。  


Linux負載平衡軟體LVS的簡單樣本

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.