您的位置:首页 > 运维架构 > Linux

Linux LVS-DR模型实战演示

2015-08-20 15:36 731 查看
1. LVS-DR类型的特性
a.RS可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入RS,以实现配置、监控等

b.RS的网关一定不能指向DIP

c.RS跟Dirctory要在同一物理网络内(不能有路由器分隔)

d.请求报文经过Directory,但响应报文一定不经过Director

e.不支持端口映射

f.RS可以使用大多数的操作系统

2.LVS-DR模拟拓扑图



3.LVS-DR模拟数据流向图

如下图:当客户端请求VIP时,会将请求先发给Director(调度器),调度器发现请求的是一组集群服务,根据调度算法将这一请求转发给RealServer,注意在转发的过程中,仅仅是修改了数据报文中的MAC地址,所以这也是为什么我们要求DR和RS必须在同一个物理网络内,就是为了保证可以通过修改MAC地址而进行数据报文的转发。

另外关于各服务器网络的配置,首先每个服务有一个独立网卡即可。在DR上将DIP配置eth0上,将VIP配置在网络别名上,这样是为了以后调度器做高可用方便VIP做IP地址飘移。在各RS上同样需要配置好VIP,这样个RS就可以直接响应Client,而不需要再经过DR,但是一个物理网络之内是不允许有多个同名IP的,所以需要修改RS的内核参数,并且将VIP配置在LO上,让其保留VIP但是不允许对外进行广播,这样从RS出去的报文源地址就是VIP,当然这需要从真实的物理网卡出去,所以必须加一条路由,让访问VIP的数据包请求,对其响应的是配置了VIP的网卡,这样响应出去的报文源地址就是VIP,可以被Client接受。



4.实验流程之网络配置

首先说一下,我目前只有一个可以上外网的地址:192.168.1.211,于是我使用linux做了一个路由器,因此路由器的“外网就是192.168.1.211”,该主路由下划分子网,分别是192.168.0.0/24,172.16.0.0/16和10.10.10.0/8.如果我们可以通过192.168.0.10访问VIP172.16.0.8,并且该VIP服务由10.10.10.11和10.10.10.22提供,就证明我们实验成功了。

在Director上:

# ifconfig eth0 10.10.10.8/8

# ifconfig eth0:0 172.16.0.8/16

# route add -host 172.16.0.8 dev eth0:0

# route add default gw 172.16.0.1

在RS1上:
# ifconfig eth0 10.10.10.11/8

# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8

# route add default gw 10.10.10.1

# route add -host 172.16.0.8 dev lo:0

# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore

# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce

# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

在RS2上:
# ifconfig eth0 10.10.10.22/8

# ifconfig lo:0 172.16.0.8 netmask 255.255.255.255 broadcast 172.16.0.8

# route add default gw 10.10.10.1

# route add -host 172.16.0.8 dev lo:0

# echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore

# echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

# echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce

# echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

5.实验流程只LVS配置
在Director上(为了演示实验效果,同样使用轮询rr的调度算法,一般企业多使用wlc调度算法):

# ipvsadm -C

# ipvsadm -A -t 172.16.0.8:80 -s rr

# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.11 -g

# ipvsadm -a -t 172.16.0.8:80 -r 10.10.10.22 -g 配置好以后如下图:



6.关于测试机的IP地址



7.访问测试





在调度器上查看一下模板信息,发现我们发出的请求是通过“主网关”192.168.1.211过来的,对其作出响应的分别是RS1和RS2,因此实验成功。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息