使用LVS+DR搭建集群实现负载均衡

DR模式的概述与工作原理

DR模式服务概述: 

      Direct Routing(直接路由) --在同一个地域,同一个网段

Director分配请求到同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机服务器的一半连接。负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing由采用物理层(修改MAC地址)技术,因此所有服务器都必须在一个网段中。

 

LVS DR 模式工作原理: 修改MAC地址
    DR模式将报文直接路由给目标真实服务器。在DR模式中,调度器根据各个真实服务器的负载情况,连接数多少等,动态地选择一台服务器,不修改目标IP地址和目标端口,也不封装IP报文,而是将请求报文的数据帧的目标MAC地址改为真实服务器的MAC地址。然后再将修改的数据帧在服务器组的局域网上发送。因为数据帧的MAC地址是真实服务器的MAC地址,并且又在同一个局域网。那么根据局域网的通讯原理,真实复位是一定能够收到由LB发出的数据包。真实服务器接收到请求数据包的时候,解开IP包头查看到的目标IP是VIP。(此时只有自己的IP符合目标IP才会接收进来,所以我们需要在本地的回环借口上面配置VIP。另:由于网络接口都会进行ARP广播响应,但集群的其他机器都有这个VIP的lo接口,都响应就会冲突。所以我们需要把真实服务器的lo接口的ARP响应关闭掉。)然后真实服务器做成请求响应,之后根据自己的路由信息将这个响应数据包发送回给客户,并且源IP地址还是VIP。

 

DR模式实际拓扑图及LVS+DR方式的工作流程图: MAC转换过程

wKioL1gQnXmyGdWuAADPA3ralvY626.png-wh_50 

 

实例场景设备清单: director分发器,DIP: 192.1681.70,

                             VIP :192.168.1.63

wKiom1gQnYWj2fB-AAAXgFQxffs243.png-wh_50 

① client发送的请求基本信息: IP192.168.1.101 向目标vip发出请求,Director接收。此时IP包头及数据帧头信息如下:

wKiom1gQnZaw0nwzAAAbsCQ6Ddw871.png-wh_50 

② Director分发器根据负载均衡算法选择一台activerealserver(假设是192.168.1.62),将此RIP所在网卡的mac地址作为目标mac地址,发送到局域网里。此时IP包头及数据帧头信息如下:

wKioL1gQnaDQgmbrAAD9gQ50Lbg065.png-wh_50 

③ realserver(192.168.1.62)在局域网中收到这个帧,脱掉数据帧后发现目标IP(VIP)本地匹配,是处理这个报文。随后重新封装报文,发送到局域网。此时回复请求的IP包头及数据帧头信息如下:

wKioL1gQnauTDDl_AAE3Dwt5i1c824.png-wh_50 

如果clientVS同一网段,那么client(192.168.57.135)将收到这个回复报文。如果跨了网段,那么报文通过gateway/路由器经由Internet返回给用户。

 

DR模式小结:
1、通过在调度器LB上修改数据包的目的MAC地址实现转发。注意源地址仍然是CIP,目的地址仍然是VIP地址。
2、请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此并发访问量大时使用效率很高(和NAT模式比)
3、因为DR模式是通过MAC地址改写机制实现转发,因此所有RS节点和调度器LB只能在一个局域网里面
4、RS主机需要绑定VIP地址在LO接口上,并且需要配置ARP抑制。
5、RS节点的默认网关不需要配置成LB,而是直接配置为上级路由的网关,能让RS直接出网就可以。
6、由于DR模式的调度器仅做MAC地址的改写,所以调度器LB就不能改写目标端口,那么RS服务器就得使用和VIP相同的端口提供服务。

 

一:实验目标

1:正确理解DR的工作原理  

2:使用LVS+DR搭建集群实现负载均衡

3:理解LVS的几种调度模式以及调度参数

4:了解ipvsadm命令参数

5:用ab命令测试网站压力

6: 同时处理1000个请求。 一次要执行1000个并发请求。

 

二:实验拓扑

wKiom1gQncSgEoicAAC5xhZWc8s013.png-wh_50 

 

三:实验环境

1准备3台

分发器:xuegod63  VIP:eth0:1:192.168.1.63

                DIP:eth0192.168.1.70

Real server xuegod62:  RIP:eth0: 192.168.1.62

                          VIP:lo:1  192.168.1.63

Real server xuegod64:  RIP:eth0: 192.168.1.64      

                          VIP:lo:1  192.168.1.63                                                                                                                         2iptables -F , 清除规则

3selinux关闭

4:red had 6.5版本 64位操作系统

 

四:实验代码


分发器-xuegod63 

1:配置DIPRIP地址

DIP :[root@xuegod63 ~]# ifconfig eth0 192.168.1.70 

VIP :[root@xuegod63 ~]# ifconfig eth0:1 192.168.1.63

[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 #以配置以下信息

IPADDR=192.168.1.70 

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=202.106.46.151

 

2生成eth0:1配置文件

[root@xuegod63 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1

[root@xuegod63 network-scripts]# vim ifcfg-eth0\:1 #写入以下内容

DEVICE=eth0:1

NM_CONTROLLED=yes

IPADDR=192.168.1.63

NETMASK=255.255.255.0

ONBOOT=yes

TYPE=Ethernet

PREFIX=24

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

NAME="eth0:1"

HWADDR=00:0C:29:12:EC:1E #Mac地址必需要写成和eth0一样,否则出eth0:1这个网卡设备

[root@xuegod63 network-scripts]#service network restart

[root@xuegod63 network-scripts]# ifconfig #查看是否有eth0 和eth0:1  

inet addr:192.168.1.63 Bcast:192.168.1.255 Mask:255.255.255.0

inet addr:192.168.1.63 Bcast:192.168.1.255 Mask:255.255.255.0

 

3配置LVS-DR规则:

[root@xuegod63 network-scripts]# rpm -ivh /mnt/Packages/ipvsadm-1.25-9.el6.x86_64.rpm

[root@xuegod63 ~]# ipvsadm -A -t 192.168.1.63:80 -s rr

[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.62 -g

[root@xuegod63 ~]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.64 -g

注: -g 表示DR模式 , -m 表示IP tun 模式

 

[root@xuegod63 ~]# ipvsadm -L -n

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.1.63:80 rr

-> 192.168.2.62:80 Route 1 0 0

-> 192.168.2.64:80 Route 1 0 0

注:三个LVS 模式中,只有NAT模式需要开启路由转发功能。 DRTUN模式需要开启。

 

4LVS的规则配置文件:/etc/sysconfig/ipvsadm

找到配置文件方法: 因为:/etc/init.d/ipvsadm save 可以保存。所以配置文件一定可以在/etc/init.d/ipvsadm 中找到相关保存路径。

 

[root@xuegod63 ~]# vim /etc/init.d/ipvsadm

wKioL1gQndKTakyxAAAka-Kuc0o446.png-wh_50 

[root@xuegod63 ~]# /etc/init.d/ipvsadm save

[root@xuegod63 ~]# cat /etc/sysconfig/ipvsadm

-A -t 192.168.1.63:80 -s wrr

-a -t 192.168.1.63:80 -r 192.168.1.62:80 -g

-a -t 192.168.1.63:80 -r 192.168.1.64:80 -g

 

 

RealServerxuegod62

1, 配置RIP eth0 ,桥接模式

[root@xuegod62 ~]# ifconfig eth0 192.168.1.62/24

 

2, 回环接口 -vip

[root@xuegod62 ~]# ifconfig lo:1 192.168.1.63 netmask 255.255.255.255

[root@xuegod62 network-scripts]# cp ifcfg-lo ifcfg-lo:1

[root@xuegod62 network-scripts]# cat ifcfg-lo:1

DEVICE=lo:1

IPADDR=192.168.1.63

NETMASK=255.255.255.255

ONBOOT=yes

NAME=loopback

[root@xuegod62 ~]# service%

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值