LVS实验文档.docx
- 文档编号:30177636
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:22
- 大小:164.36KB
LVS实验文档.docx
《LVS实验文档.docx》由会员分享,可在线阅读,更多相关《LVS实验文档.docx(22页珍藏版)》请在冰豆网上搜索。
LVS实验文档
VS/NAT
Real1
Eth1
Eth0
Director
Real1
注:
我这些实验都是用虚拟机做的,eth0是桥接,eth1是host-only
本址网卡IP地址为:
10.1.1.252,host-onlyIP地址是192.168.1.252
所以自己的真实主机也可以做客户机来测试的!
!
!
!
!
!
!
!
!
!
!
主机
IP
网关
Client
192.168.1.11
192.168.1.10
Director
Eth1:
192.168.1.10/24(VIP)
Eth0:
10.1.1.10/24(DIP)
Real1
Eth0:
10.1.1.11/24(RIP)
10.1.1.10
Real2
Eth0:
10.1.1.12/24(RIP)
10.1.1.10
测试环境:
real1、real2都启动http服务
Real1网页的内容为:
I'mReal1!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
10.1.1.11
Real2网页的内容为:
I'mReal2!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
10.1.1.12
安装软件:
ln-s/usr/src/kernels/2.6.18-194.el5-i686//usr/src/linux
tarxfipvsadm-1.24.tar.gz
cdipvsadm-1.24
make
makeinstall
在Director自己编辑一个服务脚本lvsdi,内容如下:
[root@director~]#more/etc/init.d/lvsdi
#!
/bin/bash
#description:
startLVSofDirectorServer
VIP=192.168.1.10
RIP1=10.1.1.11
RIP2=10.1.1.12
case"$1"in
start)
echo"startLVSofDirectorServer"
echo"1">/proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm-C
/sbin/ipvsadm-A-t$VIP:
80-srr
/sbin/ipvsadm-a-t$VIP:
80-r$RIP1:
80-m
/sbin/ipvsadm-a-t$VIP:
80-r$RIP2:
80-m
touch/var/lock/subsys/ipvsadm>/dev/null2>&1
/sbin/ipvsadm
;;
stop)
/sbin/ipvsadm-C
/sbin/ipvsadm-Z
rm-rf/var/lock/subsys/ipvsadm>/dev/null2>&1
echo"ipvsadmstoped!
!
"
;;
status)
if[!
-e/var/lock/subsys/ipvsadm];then
echo"ipvsadmstoped!
!
!
!
!
!
!
!
"
exit1
else
ipvsadm-ln
echo"...............ipvsadmisOK!
"
fi
;;
restart)
$0stop
$0start
;;
*)
echo"Usage:
$0{start|stop|restart|status}"
exit1
esac
exit0
注意权限:
chmod+x/etc/init.d/lvsdi
我们运行这个服务:
servicelvsdistart
测试:
我们在客户机浏览器中输入http:
//192.168.1.10,可以看到浏览的是real的内容,反复刷新,出现的内容:
我们关闭real中的一台,网页内容都还可以显示
因为在工作环境中,所有的real都是共享数据的,也就是说他们提供的服务都是一样的,这里因为是做测试,所以两台主机的网页内容不一样,成功了!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
我们看一下director的状态,由于使用的是RoundRobin(rr)算法,发现real1、real2的应答数都是一样的
[root@director~]#/etc/init.d/lvsdistatus
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:
PortSchedulerFlags
->RemoteAddress:
PortForwardWeightActiveConnInActConn
TCP192.168.1.10:
80rr
->10.1.1.12:
80Masq1016
->10.1.1.11:
80Masq1016
...............ipvsadmisOK!
下面我们使用另一个算法WeightedRoundRobin(wrr)
改变算法:
[root@director~]#/etc/init.d/lvsdistop
ipvsadmstoped!
!
[root@director~]#/etc/init.d/lvsdistart
startLVSofDirectorServer
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:
PortSchedulerFlags
->RemoteAddress:
PortForwardWeightActiveConnInActConn
TCP192.168.1.10:
httprr
->10.1.1.12:
httpMasq100
->10.1.1.11:
httpMasq100
[root@director~]#ipvsadm-E-t192.168.1.10:
80-swrr
改变权重:
[root@director~]#ipvsadm-e-t192.168.1.10:
80-r10.1.1.11-m-w1
[root@director~]#ipvsadm-e-t192.168.1.10:
80-r10.1.1.12-m-w5
然后我们到客户端的网页反复刷新,再次查看director的状态:
[root@director~]#ipvsadm-ln
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:
PortSchedulerFlags
->RemoteAddress:
PortForwardWeightActiveConnInActConn
TCP192.168.1.10:
80wrr
->10.1.1.12:
80Masq5070
->10.1.1.11:
80Masq1045
我们可以看出
两台主机响应请求的次数不一样了!
!
!
!
!
!
!
!
!
!
VS/DR
主机
IP
网关
真实机
10.1.1.252
Director
Eth0:
10.1.1.10(DIP)
Eth0:
0:
10.1.1.250/32(VIP)
10.1.1.252
Real1
Eth0:
10.1.1.11(RIP)
lo0:
0:
10.1.1.250/32(VIP)
10.1.1.252
Real2
Eth0:
10.1.1.12(RIP)
lo0:
0:
10.1.1.250/32(VIP)
10.1.1.252
注:
我这些实验都是用虚拟机做的,eth0是桥接,eth1是host-only
本址网卡IP地址为:
10.1.1.252,host-onlyIP地址是192.168.1.252
所以自己的真实主机也可以做客户机来测试的!
!
!
!
!
!
!
!
!
!
!
测试环境:
real1、real2都启动http服务
Real1网页的内容为:
I'mReal1!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
10.1.1.11
Real2网页的内容为:
I'mReal2!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
10.1.1.12
安装软件:
ln-s/usr/src/kernels/2.6.18-194.el5-i686//usr/src/linux
tarxfipvsadm-1.24.tar.gz
cdipvsadm-1.24
make
makeinstall
在Director自己编辑一个服务脚本lvsdi,内容如下:
[root@director~]#more/etc/init.d/lvsdi
#!
/bin/bash
#description:
startLVSofDirectorServer
#defineusedip.
#GW=10.1.1.252
VIP=10.1.1.250
RIP1=10.1.1.11
RIP2=10.1.1.12
case"$1"in
start)
echo"startLVSofDirectortServer"
/sbin/ipvsadm-C
/sbin/ifconfigeth0:
0$VIPbroadcast$VIP255.255.255.255up
/sbin/routeadd-host$VIPdeveth0:
0
/sbin/ipvsadm-A-t$VIP:
80-srr
/sbin/ipvsadm-a-t$VIP:
80-r$RIP1:
80-g
/sbin/ipvsadm-a-t$VIP:
80-r$RIP2:
80-g
touch/var/lock/subsys/ipvsadm>/dev/null2>&1
/sbin/arping-Ieth0-c5-s$VIP$GW>/dev/null2>&1
/sbin/ipvsadm
;;
stop)
/sbin/ipvsadm-C
/sbin/ipvsadm-Z
/sbin/ifconfigeth0:
0down
routedel$VIP
rm-rf/var/lock/subsys/ipvsadm>/dev/null2>&1
/sbin/arping-Ieth0-c5-s$VIP$GW
echo"ipvsadmstoped"
;;
status)
if[!
-e/var/lock/subsys/ipvsadm];then
echo"ipvsadmstoped!
!
!
"
exit1
else
ipvsadm-ln
echo"............ipvsadmisOK!
"
fi
;;
restart)
$0stop
$0start
;;
*)
echo"Usage:
$0{start|stop|restart|status}"
exit1
esac
exit0
在两个real名自编辑一个一样的的服务脚本lvs_r,内容如下:
[root@real1~]#more/etc/init.d/lvs_r
#!
/bin/bash
#chkconfig:
23457080
#description:
lvs_rs
VIP=10.1.1.250
case$1in
start)
echo"StartLVSofRealServer"
echo"lo:
0portstarting"
/sbin/ifconfiglo:
0$VIPbroadcast$VIPnetmask255.255.255.255up
/sbin/routeadd-host$VIPdevlo:
0
echo"1">/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo"2">/proc/sys/net/ipv4/conf/eth0/arp_announce
echo"1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo"2">/proc/sys/net/ipv4/conf/all/arp_announce
sysctl-p
;;
stop)
echo"closeLVSRealServer"
echo"lo:
0portclosing"
/sbin/ifconfiglo:
0down
echo"0">/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo"0">/proc/sys/net/ipv4/conf/eth0/arp_announce
echo"0">/proc/sys/net/ipv4/conf/all/arp_ignore
echo"0">/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo"Usage:
$0{start|stop}"
exit1
esac
测试:
在real1和real2启动lvs_r脚本:
[root@real1~]#servicelvs_rstart
在directory启动lvsdi脚本:
[root@director~]#servicelvsdistart
[root@director~]#ipvsadm-ln
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:
PortSchedulerFlags
->RemoteAddress:
PortForwardWeightActiveConnInActConn
TCP10.1.1.250:
80rr
->10.1.1.12:
80Route1026
->10.1.1.11:
80Route1026
跟上面一样的,这里就不折腾了!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
1
VS/TUN
主机
IP
网关
真实机
10.1.1.252
Director
Eth0:
10.1.1.10(DIP)
Eth0:
0:
10.1.1.250/32(VIP)
10.1.1.252
Real1
Eth0:
10.1.1.11(RIP)
Tunl0:
0:
10.1.1.250/32(VIP)
10.1.1.252
Real2
Eth0:
10.1.1.12(RIP)
Tunl0:
0:
10.1.1.250/32(VIP)
10.1.1.252
注:
我这些实验都是用虚拟机做的,eth0是桥接,eth1是host-only
本址网卡IP地址为:
10.1.1.252,host-onlyIP地址是192.168.1.252
所以自己的真实主机也可以做客户机来测试的!
!
!
!
!
!
!
!
!
!
!
测试环境:
real1、real2都启动http服务
Real1网页的内容为:
I'mReal1!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
10.1.1.11
Real2网页的内容为:
I'mReal2!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
10.1.1.12
安装软件:
ln-s/usr/src/kernels/2.6.18-194.el5-i686//usr/src/linux
tarxfipvsadm-1.24.tar.gz
cdipvsadm-1.24
make
makeinstall
其实这个拓扑和其它方面都是一样的,只是把lo0:
0设备变成了tunl0设备了,下面我就写
Director跟real的配置了,每台主机的配置都是以脚本的形式形成
Directory:
[root@director~]#more/etc/init.d/lvsdi
#!
/bin/bash
#description:
startLVSofDirectorServer
#defineusedip.
#GW=10.1.1.252
VIP=10.1.1.250
RIP1=10.1.1.11
RIP2=10.1.1.12
case"$1"in
start)
echo"startLVSofDirectortServer"
/sbin/ipvsadm-C
/sbin/ifconfigeth0:
0$VIPbroadcast$VIP255.255.255.255up
/sbin/routeadd-host$VIPdeveth0:
0
/sbin/ipvsadm-A-t$VIP:
80-srr
/sbin/ipvsadm-a-t$VIP:
80-r$RIP1:
80-i
/sbin/ipvsadm-a-t$VIP:
80-r$RIP2:
80-i
touch/var/lock/subsys/ipvsadm>/dev/null2>&1
/sbin/arping-Ieth0-c5-s$VIP$GW>/dev/null2>&1
/sbin/ipvsadm
;;
stop)
/sbin/ipvsadm-C
/sbin/ipvsadm-Z
/sbin/ifconfigeth0:
0down
routedel$VIP
rm-rf/var/lock/subsys/ipvsadm>/dev/null2>&1
/sbin/arping-Ieth0-c5-s$VIP$GW
echo"ipvsadmstoped"
;;
status)
if[!
-e/var/lock/subsys/ipvsadm];then
echo"ipvsadmstoped!
!
!
"
exit1
else
ipvsadm-ln
echo"............ipvsadmisOK!
"
fi
;;
restart)
$0stop
$0start
;;
*)
echo"Usage:
$0{start|stop|restart|status}"
exit1
esac
exit0
Real:
[root@real1~]#more/etc/init.d/lvs_r
#!
/bin/bash
#chkconfig:
23457080
#description:
lvs_rs
VIP=10.1.1.250
case$1in
start)
echo"StartLVSofRealServer"
echo"tunl0:
0portstarting"
ipaddradddevtunl010.1.1.250/24broadcast10.1.1.250
iplinksetdevtunl0up
/sbin/routeadd-host$VIPdevtunl0
echo"1">/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo"2">/proc/sys/net/ipv4/conf/eth0/arp_announce
echo"1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo"2">/proc/sys/net/ipv4/conf/all/arp_announce
sysctl-p
;;
stop)
echo"closeLVSRealServer"
echo"tunl0portclosing"
/sbin/ifconfigtunl0down
echo"0">/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo"0">/proc/sys/net/ipv4/conf/eth0/arp_announce
echo"0">/proc/sys/net/ipv4/conf/all/arp_ignore
echo"0">/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo"Usage:
$0{start|stop}"
exit1
esac
测试:
跟前面是一样的!
!
!
!
!
!
!
!
!
!
!
!
!
[root@directorinit.d]#servicelvsdistart
startLVSofDirectortServer
SIOCSIFADDR:
无效的参数
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:
PortSchedulerFlags
->RemoteAddress:
PortForwardWeightActiveConnInActConn
TCP10.1.1.250:
httprr
->10.1.1.12:
httpTunnel100
->10.1.1.11:
httpTunnel100
NAT+DR+TUN
主机
IP
网关
真实机
10.1.1.252
Director
Eth0:
10.1.1.10(DIP)
Eth1:
192.168.1.10(DIP)
Eth0:
0:
10.1.1.250/32(VIP)
10.1.1.252
Real1
Eth0:
192.168.1.11(RIP)
192.168.1.10
Real2
Eth0:
10.1.1.12(RIP)
Lo:
0:
10.1.1.250/32(VIP)
10.1.1.252
Real3
Eth0:
10.1.1.13(RIP)
Tunl0:
10.1.1.250/32(VIP)
10.1.1.252
注:
我这些实验都是用虚拟机做的,eth0是桥接,eth1是host-only
本址网卡IP地址为:
10.1.1.252,host-onlyIP地址是192.168.1.252
所以自己的真实主机也可以做客户机来测试的!
!
!
!
!
!
!
!
!
!
!
测试环境:
real1、real2都启动http服务
Real1网页的内容为:
I'mReal1!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
192.168.1.11
Real2网页的内容为:
I'mReal2!
!
!
!
!
!
!
!
!
!
!
!
!
IP:
10.1.1.12
Real3网页的内容为:
I'mR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LVS 实验 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)