環境描述:本文在配置LVS時使用三臺linux,虛擬VIP:192.168.0.254
一臺作Directorserver(192.168.0.1)
兩臺作realserver(192.168.0.2,192.168.0.3)
Load Balancer: 192.168.0.1
Real Server 1: 192.168.0.2
Real Server 2: 192.168.0.3
軟件
ipvsadm-1.24.tar.gz:
tar zxvf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make && make install
注意在make時可能會出現不少錯誤的信息,請按照以下操做就能夠心編譯正常
ln -s /usr/src/kernels/2.6.11-1.1369_FC4-i686/ /usr/src/linux
在進行編譯就不會出錯了html
或者yum安裝linux
yum -y install ipvsadm*apache
======================================
配置基於DR模式Lvs集羣
192.168.0.1
[root@localhost lvs]# cat /usr/local/lvs/LvsDR
#!/bin/sh
VIP=192.168.0.254
RIP1=192.168.0.2
RIP2=192.168.0.3
/etc/rc.d/init.d/functions
case "$1" in
start)
echo "start LVS of DirectorServer"
#Set the Virtual IP Address
/sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:1
#Clear IPVS Table
/sbin/ipvsadm -C
#Set Lvs
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
#Run Lvs
/sbin/ipvsadm
;;
stop)
echo "close LVS Directorserver"
/sbin/ipvsadm -C
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
=======================================
192.168.0.2
[root@localhost lvs]# cat /usr/local/lvs/realserver
#!/bin/sh
VIP=192.168.0.254
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP 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
================================================
192.168.0.3
[root@localhost lvs]# cat /usr/local/lvs/realserver
#!/bin/sh
VIP=192.168.0.254
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP 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
==================================
[root@localhost lvs]# cat /usr/local/apache/htdocs/index.html
This is realserver1
[root@localhost lvs]# cat /usr/local/apache/htdocs/index.html
This is realserver2
分別啓動服務
./LvsDR start
./realserver
./realserver
啓動apache
訪問:
http://192.168.0.254
驗證的時候能夠人爲形成負載太高,這樣就從一臺跳轉到另外一臺
find / -name aaaaaaaaa
不斷刷新會出現This is realserver1 This is realserver2ide
xf後記 : spa
若是啓動後未產生/etc/sysconfig/ipvsadm文件rest
可執行orm
ipvsadm --save > /etc/sysconfig/ipvsadm 保存配置,這樣每次重啓lvs服務就不須要執行/usr/local/lvs/LvsDR 腳本了。(由於/etc/init.d/ipvsadm腳本中默認讀取/etc/sysconfig/ipvsadm 配置)server
查看負載狀態htm
ipvsadm -L -nip
重啓
service ipvsadm restart