歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> 實例解析:虛擬機中Lvs的負載均衡實驗

實例解析:虛擬機中Lvs的負載均衡實驗

日期:2017/3/2 10:42:27   编辑:Linux維護

環境,三台虛擬機系統,debian,centos,rhel。基於ipvsadm的負載均衡,采用DR方式,rhel做lvs的director,其余兩台是real。負載均衡的服務是web。

實現如下:


所需的軟件:os(廢話),ipvsadm,及其相關庫文件(默認安裝即可)

ipvsadm下載地址:ipvsadm下載 采用源碼包的安裝形式安裝。


安裝要點:

1、ipvsadm需要os的內核源路徑支持,從www.kernel.org下載最新的內核,放到/usr/src中並解壓。

一般解壓後是linux-2.6.x的目錄,使用命令#ln -s linux-2.6.x linux 這樣以來就生成了/usr/src/linux,這才是ipvsadm的默認編譯器包含文件路徑,否則會報錯!切記。


2、director服務器需要開啟ip_forward功能,

在/etc/sysctl.conf中添加net.ipv4.ip_forward = 1


腳本 echo "net.ipv4.ip_forward = 1" > /etc/sysctl.conf


需要配置虛擬ip,網卡是eth0:192.168.1.154,vip是eth0:0192.168.1.2


腳本 ifconfig eth0 192.168.1.154 broadcast 192.168.1.255 netmask 255.255.255.0

ifconfig eth0:0 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0


需要設置路由


腳本 route add -host 192.168.1.2 dev eth0:0


ipvsadm的設置腳本:


ipvsadm –C

ipvsadm -A -t 192.168.1.2:80 -s wcl

ipvsadm -a -t 192.168.1.2:80 -r 192.168.1.138 -g -w 3

ipvsadm -a -t 192.168.1.2:80 -r 192.168.1.156 -g -w 1

ipvsadm


可以將以上腳本成一個文件,加入到/etc/rc.local中,開機自動運行。


3、real機器需要關閉arp,否則無法接收數據包。

具體操作是在/etc/sysctl.conf文件中添加如下幾行:

net.ipv4.ip_forward = 1

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2


4、real機器需要設置本地虛擬地址腳本如下:

ifconfig lo:0 192.168.1.2 broadcast 192.168.1.2 netmask 255.255.255.255


對於linux機器,直接創建文件etc/sysconfig/network-scripts/ifcfg-lo:0,


寫入腳本

DEVICE=lo:0

IPADDR=192.168.1.2

NETMASK=255.255.255.255

ONBOOT=yes即可;


5、real服務器上分別安裝apache服務


6、lvs服務器最好不要安裝防火牆,即使安裝了,那麼根據需要建立相應的規則,否則無法生效。在本例中,需要開啟80端口。

安裝配置完畢後即可生效。

為了測試方便,我使用linux系統中的links工具進行測試,經過反復執行,看到網頁不斷的在兩個apache服務器之間交替顯示。


使用軟件匯總:


os kernel:

debian:Linux debiancpu 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux

centos:Linux localhost.localdomain 2.6.18-8.1.4.el5xen #1 SMP Thu May 17 05:27:09 EDT 2007 i686 i686 i386 GNU/Linux

rhel:Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux


applications:

ipvsadm-1.24

apache2

iptables1.4.1

Copyright © Linux教程網 All Rights Reserved