LVS/DR 配置

前期准备

需求:三台服务器一台作为director, 两台作为real server

三台机器:实际环境中,每台机器都需要一个公网ip,还需要一个vip也是公网ip,dr只需要一块网卡,这里用内网测试,所以在同一网段

#vip为公网IP;dr的vip绑定公网网卡,rs的vip绑定lo网卡(client不会通过vip访问到rs)
director(eth0:192.168.11.190, vip eth0:0: 192.168.11.100)
rs1(eth0 rip: 192.168. 11.160, vip lo:0: 192.168.11.100)
rs2(eth0 rip: 192.168.11.20, vip lo:0: 192.168.11.100)

 

两个real server 上都安装httpd: yum install -y nginx
Director上安装ipvsadm:  yum install -y  ipvsadm

开始实验

Director 上 vim /usr/local/sbin/lvs_dr.sh //增加

#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.11.100
rs1=192.168.11.160
rs2=192.168.11.20
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s rr 
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
View Code

两台rs上:vim /usr/local/sbin/lvs_dr_rs.sh

#! /bin/bash
vip=192.168.11.100
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up 
route add -host $vip 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
View Code

 

执行sh会生成vip和ipvsadm规则

然后director上执行: sh /usr/local/sbin/lvs_dr.sh 
两台rs上执行: sh /usr/local/sbin/lvs_dr_rs.sh

 

测试机器:192.168.11.6

测试一:

[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs2rs2
[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs2rs2
[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs2rs2
View Code

 测试二:

[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs2rs2
[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs1rs1
[root@hy ~]# curl 192.168.11.100
rs2rs2
View Code

 

posted @ 2015-12-10 20:28  沐风先生  阅读(169)  评论(0)    收藏  举报