您好,欢迎访问一九零五行业门户网

lvs-dr实验搭建

lvs-dr实验搭建 2012-04-19 18:00:59
分类: linux
环境:
lvs director:    10.57.220.198:80    ubuntu 10.04 lts  vmware 虚拟机
    real server1 10.57.220.195:80    ubuntu 11.10  nginx服务器
    real server2 10.57.220.20:80     ubuntu 11.10  nginx服务器
虚拟ip(vip):10.57.220.144
1、下载 ipvsadm
 分别在3台机器上下载
 apt-get install ipvsadm
2、ipvsadm设置
 dpkg-reconfigure ipvsadm 
 第一个选no       (automatically load ipvs rules on boot?)
 第二个选none     
3、配置脚本
1)director脚本
lvs-dr.sh
点击(此处)折叠或打开
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipvsadm='/sbin/ipvsadm'
vip=10.57.220.144
rs1=10.57.220.20
rs2=10.57.220.195
ifconfig eth0:1 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:1
$ipvsadm -c   /*清除虚拟服务器信息*/
$ipvsadm -a -t $vip:81 -s rr   /*创建一条虚拟服务器记录,调度算法为rr 参见http://www.it165.net/admin/html/201401/2248.html */
$ipvsadm -a -t $vip:81 -r $rs1:81 -g -w 1  /*给虚拟服务器添加一台物理机*/
$ipvsadm -a -t $vip:81 -r $rs2:81 -g -w 1  /*给虚拟服务器添加一台物理机*/chmod 777 lvs-dr.sh
2)realserver脚本
所有realserver相同
lvs-rs.sh点击(此处)折叠或打开
#!/bin/bash
#description : realserver
#write by:hugwww
#last modefiy:2009.1.24
vip=10.57.220.144
/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       /*只回答目标ip地址是来访网络接口本地地址的arp查询请求*/
echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce     /*对查询目标使用最适当的本地地址.在此模式下将忽略这个ip数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标ip地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该arp回应的网络接口来进行发送*/
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
#endchmod 777 lvs-rs.sh
4、执行、测试
分别在三个机器上执行相应脚本
注意事先启动。nginx 服务器
firfox访问  10.57.220.144:81
可用ipvsadm -ln查看状态
5、注意问题
防火墙要关闭,linux下是iptables
各服务器 端口一致,否则不通。比如都是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教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息