官方的原理说明:Director接收用户的请求,然后根据负载均衡算法选取一台realserver,将包转发过去,最后由realserver直接回复给用户。
请求由LVS接受,由真实提供服务的服务器(RealServer, RS)直接返回给用户,返回的时候不经过LVS。
LVS-DR is based on IBM's NetDispatcher. The NetDispatcher sits in front of a set of webservers, which appear as one webserver to the clients. The NetDispatcher served http for the Atlanta and the Sydney Olympic games and for the chess match between Kasparov and Deep Blue.
When the packet CIP->VIP arrives at the director it is put into the OUTPUT chain as a layer 2 packet with dest = MAC address of the realserver. This bypasses the routing problem of a packet with dest = VIP, where the VIP is local to the director. When the packet arrives at the realserver, which finds the packet addressed to an IP local to the realserver (the VIP).
DR模式下需要LVS和绑定同一个VIP(RS通过将VIP绑定在loopback实现)。
一个请求过来时,LVS只需要将网络帧的MAC地址修改为某一台RS的MAC,该包就会被转发到相应的RS处理,注意此时的源IP和目标IP都没变,LVS只是做了一下移花接木。
RS收到LVS转发来的包,链路层发现MAC是自己的,到上面的网络层,发现IP也是自己的,于是这个包被合法地接受,RS感知不到前面有LVS的存在。
而当RS返回响应时,只要直接向源IP(即用户的IP)返回即可,不再经过LVS。
DR模式是性能最好的一种模式。
1. ARP广播会产生的问题
当客户端发起访问VIP 对应的域名的请求时,根据网络通信原理会产生ARP 广播,因为负载均衡器和真实的服务器在同一网络并且VIP设置在集群中的每个节点上,此时集群内的真实服务器会尝试回答来自客户端计算机的查找VIP的ARP广播,这就会产生问题,大家都说我是"VIP"。
2. 为了达到负载均衡的目的,必须想法办让真实服务器忽略来自客户端计算机的ARP广播请求
虚拟ip地址的广播地址是它本身,子网掩码是255.255.255.255。 为什么要这样呢?因为有若干机器要使用同一个ip地址,
用本身做广播地址和把子网掩码设成4个255就不会造成ip地址冲突了,否则lvs将不能正常转发访问请求。
LVS负载均衡原理:
访问集群服务的请求都要先到达Director,由Director根据调度算法。把访问集群服务的请求均衡到后端的RealServer.
根据上述分析,要做下述一些配置:
1、请求报文流入
因为,我们的 Directory、Realserver1、Realserver2 都配置有VIP地址,所以基于本地通讯的原理
和LVS负载均衡的工作原理考虑:
目的:要控制路由器把用户请求访问集群服务的数据报文只送到Director,
不会把数据报文送到 RealServer.
手段:通过控制无论任何时候路由器的ARP缓存中:VIP对应的MAC地址都是Director的VIP地址所在的
网卡的MAC地址。这样保证路由器一定会把数据报文送到Director
方法:
A)、在路由器做静态地址绑定:
B)、aprtables,阻止路由器发送的ARP地址解析请求(请求VIP对应的MAC)进入RealServer
C)、修改ReserServer主机的内核参数,将RS上的VIP配置在lo接口的别名上,并限制其不能响应
对VIP地址解析请求,也不能把MAC地址通告出去。
LVS的dr模型,Director通过修改请求访问集群服务的报文的MAC地址实现把数据报文分发到后端的RealServer.
所以,要保证Director能够基于MAC地址与后端的RealServer进行通信。
方法:Director与RealServer在同一个物理网络。
2、响应报文流出
当RealServer 构建完响应报文之后,直接把报文送给客户端。
因为,客户端请求的是VIP,所以,RealServer 构建的响应的数据报文的源IP是CIP(10.10.0.1)目标IP是VIP(172.10.0.9),客户端才会接收。
所以,在RealServer中通过主机路由指定使用配置在lo:0的VIP对响应的数据报文进行封装。再通过eth0把响应的数据报文送达客户端。
由于RealServer的RIP是私有网络,不能把数据报文送达客户端。所以给RealServer指定一个默认网关,RealServer把不属于本网络的数据报文发给默认网关由默认网关把数据报文送达客户端。
相关推荐
linux lvs 的DR 模式 linux lvs 的DR 模式
配置完Keepalived+LVS-DR模式后,输出文档以做备忘。
Redhat Linux 6 操作系统LVS_DR模式配置的详细文档,按照文档的部署和配置可实现 LVS_DR模式的负载均衡。
搭建LVS-DR模式,需要注意在Director和RS上开启VIP,并且同时指定路由,使用rr模式,在刷新网页时实现178和179轮流呈现。需要注意将三台设备上防火墙关闭。
CentOS上配置LVS DR集群.docx CentOS上配置LVS DR集群.docx
负载均衡的调度算法,LVS简介,LB负载均衡集群,HA高可用集群 以及在生产生活环境中集群的一些简单配置
例如,使用ipvsadm -e命令可以修改LVS集群规则的模式,将其改为DR模式。 1.5 小结 LVS是Linux虚拟服务器的缩写,主要用于实现服务器集群和负载均衡。LVS提供了两种集群模式:LVS-NAT集群和LVS-DR集群。通过使用...
LVS架构中有三种模式:LVS-DR、LVS-NAT和LVS-TUN,本文将对这三种模式进行详细的配置总结。 LVS-DR 模式 LVS-DR 模式(Direct Routing)是一种基于直接路由的负载均衡模式。在这种模式下,Director Server和Real ...
LVS-DR模式详细叙述文档,根据安装好的服务抓包详述了LVS-DR的基本原理。 后附配置文档。
第三讲LVS负载均衡DR模式安装调试介绍.pptx
实验2 LVS DR模式实现负载均衡.md
LVS开源企业级4层代理服务器,稳定性和效率非常的高,LVS有三种常见模式,NAT模式、DR模式、IP Tunnel模式,本篇文章为大家分享LVS利用DR模式代理后台网站服务。
lvs DR模式总结详细笔记文档
搭建lvs 的DR模式拓扑图案例环境:系统类型IP地址主机名所需软件Centos 6.5 64bit192.168.100.100192.168.3.100GW
基于DR模式的LVS负载均衡群集
NULL 博文链接:https://acooly.iteye.com/blog/1832742
lvs高可用dr模式配置文件
在Centos7中使用Nginx 三 LVS-DR模式配置与实践 (本文只在Centos虚拟机中搭建,在阿里云是没有这样的负载均衡免费的服务的,需要你花软妹币。) 为什么我们要使用LVS呢?为什么会出现LVS+Nginx nginx用来做http的...
LVS负载均衡DR模式安装调试介绍
这里简介LVS-DR模式 LVS-DR+Nginx+Apache集群搭建 不使用keepalived 负载均衡权重,根据实际需求进行配置 网卡配置需要注意哪些问题 外网配置和VIP配置 Nginx的两种安装方式:源码包安装和yum安装 Apache的两种安装...