LVS-DR负载均衡模型的RIP和VIP在不同网络的实现-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

LVS-DR负载均衡模型的RIP和VIP在不同网络的实现

简介:
+关注继续查看

LVS-DR模型架构图解:

        (172.16.0.1/16,192.168.0.254/24,192.168.1.254/24)

                            Router

                                        LVS Server  DIP:192.168.0.30/24 VIP:172.16.31.54/18

客户端IP:192.168.1.31/24   SW          WEB1:Real Server1 DIP:192.168.0.31/24 VIP:172.16.31.54/18

                                        WEB2:Real Server2 DIP:192.168.0.131/24 VIP:172.16.31.54/18

客户端和三台服务器分别连接SW,SW连接Router


一.实验环境介绍

路由器:存在多个网络 172.16.0.1,192.168.0.254,192.168.1.254

交换机:连接不同网络的主机

客户端:Windos XP;客户端IP地址为:192.168.1.31/24

LVS:Director 负载均衡服务器,其DIP和VIP在不同网段;

RS:Real Server;后端web服务器;其RIP和VIP在不同网段;

 

二.地址规划

VIP使用172.16.0.0/16网络

RIP使用192.168.0.0/24网络

 

1.Real Server的RIP的规划:

RS1:192.168.0.31/24

RS2:192.168.0.131/24

 

2.Director的LVS Server的地址规划:

DIP:192.168.0.130/24

VIP:172.16.31.54/16

 

3.客户端IP规划:

172.16.31.31/16或者192.168.1.31/24

RS响应客户端请求报文,需要将网关指向192.168.0.254/24,由192.168.0.254转发其响应报文到172.16.31.0/16或者192.168.1.0/24这个网络中来;

更真实的设计:将客户端的IP地址设置成192.168.1.31/24来实现


三.DR模型实现负载均衡的工作原理

     上面说了NAT模型的实现方式,那么NAT模型有个缺陷,因为进出的每个数据包都要经过Director Server,当集群系统负载过大的时候Director Server将会成为整个集群系统的瓶颈,那么DR模型就避免了这样的情况发生,DR模型在只有请求的时候才会经过Director Server, 回应的数据包由Real Server 直接响应用户不需要经过Director Server,其实三种模型中最常用的也就是DR模型了,下面来说DR模型具体是怎么实现负载均衡的,根据上图,

1.首先客户端用户用CIP请求VIP;

2.根据上图可以看到,不管是Director Server还是Real Server上都需要配置VIP,那么当用户请求到达我们的集群网络的前端路由器的时候,请求数据包的源地址为CIP目标地址为VIP,此时路由器会发广播问谁是VIP,那么我们集群中所有的节点都配置有VIP,此时谁先响应路由器那么路由器就会将用户请求发给谁,这样一来我们的集群系统是不是没有意义了,那我们可以在网关路由器上配置静态路由指定VIP就是Director Server,或者使用一种机制不让Real Server 接收来自网络中的ARP地址解析请求,这样一来用户的请求数据包都会经过Director Servre;

3.当Director Server收到用户的请求后根据此前设定好的调度算法结果来确定将请求负载到某台Real Server上去,假如说此时根据调度算法的结果,会将请求负载到Real Server 1上面去,此时Director Server 会将数据帧中的目标MAC地址修改为Real Server1的MAC地址,然后再将数据帧发送出去;

4.当Real Server1 收到一个源地址为CIP目标地址为VIP的数据包时,RealServer1发现目标地址为VIP,而VIP是自己,于是接受数据包并给予处理,当Real Server1处理完请求后,会将一个源地址为VIP目标地址为CIP的数据包发出去,此时的响应请求就不会再经过Director Server了,而是直接响应给用户;

 

四.架构实现

 

1.LVS Server配置

DIP设置:

[root@lvs network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@lvs network-scripts]# cat ifcfg-eth0

DEVICE="eth0"

BOOTPROTO="static"

HWADDR="08:00:27:FF:73:49"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=192.168.0.130

NETMASK=255.255.255.0

GATEWAY=172.16.0.1


VIP设置:

(1).不同网络:

[root@lvs network-scripts]#ifconfig eth0:0 172.16.31.54/16 up

(2).同一网络的只广播给自己;本实验不需要设置广播

[root@lvs network-scripts]#ifconfig eth0:0 172.16.31.54 netmask 255.255.255.255 broadcast 172.16.31.54 up

 

配置路由:

[root@lvs network-scripts]# route add -host 172.16.31.54 dev eth0:0

 

 

2.Real Server设置:

RS1的网卡的ip配置:


[root@node1 network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@node1 network-scripts]# cat ifcfg-eth0

DEVICE="eth0"

BOOTPROTO="static"

HWADDR="08:00:27:41:D4:C9"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=192.168.0.31

NETMASK=255.255.255.0

GATEWAY=172.16.0.1

 

需要指定网关:

[root@node1 network-scripts]#route add default gw 192.168.0.254

 

3.在RS上配置arptables:

[root@node1 network-scripts]#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

[root@node1 network-scripts]#echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce

[root@node1 network-scripts]#echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore

[root@node1 network-scripts]#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

 

在RS上设置VIP地址:

[root@node1 network-scripts]#ifconfig lo:0 172.16.31.54 netmask 255.255.255.255 broadcast 172.16.31.54 up

 

在RS上添加路由:

[root@node1 network-scripts]#route add-host 172.16.31.54 dev lo:0

 

4.启动web服务;此处安装了LAMP架构+wordpress,可以参考我前面写的文章,这里就不重复了。

#service httpd start

#curl http://192.168.0.31

#curl http://172.16.100.8

 

5.RS2的配置:跟RS1一致的哦!

设置RIP地址: 

#ifconfig eth0 192.168.0.131/24 up

#route add default gw 192.168.0.254

配置arptables:

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

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

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

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

  

设置VIP地址:

#ifconfig lo:0 172.16.31.54 netmask 255.255.255.255 broadcast 172.16.31.54 up

  

添加路由:

#route add -host 172.16.31.54 dev lo:0

  

#启动web服务

#service httpd start

#curl http://192.168.0.131

#curl http://172.16.31.54

 

 

6.LVS Server上定义集群服务:

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

#ipvsadm  –a  -t 172.16.31.54:80 -r 192.168.0.31 -g

#ipvsadm  –a  -t 172.16.31.54:80 -r 192.168.0.131 –g

 

设置完成后访问网页测试:

http://www.stu31.com/wp/


我们在LVS上查看一下连接状态:

[root@lvs ~]# ipvsadm -A -t 172.16.31.54:80 -s rr

[root@lvs ~]# ipvsadm -a -t 172.16.31.54:80 -r 192.168.0.31 -g

[root@lvs ~]# ipvsadm -a -t 172.16.31.54:80 -r 192.168.0.131 -g

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

至此:LVS-DR模式的负载均衡实验完成!!!



本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1964534,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
RecSys提前看 | 深度学习在推荐系统中的最新应用
作为推荐系统的顶会,RecSys 一如既往受到了业界的广泛关注。与其他机器学习会议相比,RecSys 一向重视解决实际的问题,即结合在实际应用场景中推荐系统性能提升、效果提高等问题提出设计策略和算法解决方案等。随着深度学习研究的进一步深入,深度学习在推荐系统中的应用依然是研究热点之一,本次会议中图神经网络(Graph Neural Network,GNN)、经典深度学习模型都有所应用及改进。
5 0
作为程序员的他,大学四年一直自学,全靠这些实用工具和学习网站!
作为程序员的他,大学四年一直自学,全靠这些实用工具和学习网站!
4 0
推荐10个堪称神器的学习网站
推荐10个堪称神器的学习网站
6 0
商汤自研训练框架SenseParrots首次亮相,林达华全面解读
8 月底,在机器之心承办的 WAIC 2019 世界人工智能大会上,商汤科技联合创始人林达华教授首次对商汤自研的深度学习框架 SenseParrots 进行了系统性介绍,也畅谈了对 AI 技术未来发展的看法。
7 0
DARTS+:DARTS 搜索为何需要早停?
近日,华为诺亚 方舟实验室的作者们提出一种可微分的神经网络架构搜索算法 DARTS+,将早停机制(early stopping)引入到原始的 DARTS[1] 算法中,不仅减小了 DARTS 搜索的时间,而且极大地提升了 DARTS 的性能。相关论文《DARTS+: Improved Differentiable Architecture Search with Early Stopping》已经公开(相关代码稍后也会开源)。
5 0
学妹抱怨Spring入门太难了,我用一篇文章彻底征服了她(1)
学妹抱怨Spring入门太难了,我用一篇文章彻底征服了她
6 0
【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作(3)
【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作
8 0
关于 Kubernetes中Volume的一些笔记
男女情事,谁先动心谁吃亏,越吃亏越难忘,到最后,到底是喜欢对方呢,还是喜欢自己,都搞不清楚了,答案偏偏在对方身上,所以才说,由爱故生忧。--------《剑来》
4 0
意念加AI算法「复原」每个手指,智能义肢登上Nature子刊封面
使用「意念」控制机械,让肢体缺失的残疾人过上正常人的生活,这听起来像是出现在电影中的场景。最近,瑞士洛桑联邦理工学院(EPFL)展示的新技术却让科幻变成了现实,他们的研究还登上了最新一期自然杂志子刊《Nature Machine Intelligence》的封面。
6 0
历经 7 年双 11 实战,阿里巴巴是如何定义云原生混部调度优先级及服务质量的?
本文将聚焦在 K8s 层的容器优先级和服务质量模型上,希望给业界提供一些可借鉴的思路。
6 0
8434
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载