linux lvs的DR模式原理详解
来源:互联网 发布:数字摄影测量软件 编辑:程序博客网 时间:2024/06/10 04:06
LVS – linux virtual server
通过直接路由实现虚拟服务器(VS/DR)
VS/DR利用大多数Internet服务的非对称特点,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群 系统的吞吐量。该方法与IBM的NetDispatcher产品中使用的方法类似(其中服务器上的IP地址配置方法是相似的),但IBM的 NetDispatcher是非常昂贵的商品化产品,我们也不知道它内部所使用的机制,其中有些是IBM的专利。
VS/DR的体系结构如下图所示:调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连,如通过高速的交换机或者HUB相连。VIP地址为调度器和服务器组共享(在调度器和real server都需要配置VIP),调度 器配置的VIP地址是对外可见的,用于接收虚拟服务的请求报文;所有的服务器把VIP地址配置在各自的Non-ARP网络设备上,它对外面是不可见的,只 是用于处理目标地址为VIP的网络请求。
在VS/DR 中,调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后 的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。当服务器发现 报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。
下面用实例详细讲解原理过程:
假设client,director,vip,realServer的ip及mac地址如下
第一步:client向vip发起请求,director接收到请求,ip包头的信息如下
第二步:LVS根据负载均衡算法,选择一台realServer,修改dst mac地址为realServer的mac地址,将数据包转发到局域网,此时ip包头信息如下
第三步:realServer接收到包,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文。随后重新封装报文,发送到局域网,IP包头及数据帧头信息如下
第四步:如果,通过路由将包路由到client
注意事项
a. LVS必须与realServer在同一个局域网,因为LVS收到数据包后,只修改了dst mac地址,然后广播出去,如果LVS与realServer不在统一网段,realServer永远收不到数据包
b. LVS-DR不需要路由转发,同一局域网内,不经过路由
c. realServer需要配置 vip
- linux lvs的DR模式原理详解
- Lvs的DR模式的配置详解
- linux下的lvs dr模式配置
- LVS的DR模式
- LVS的DR模式
- LVS-NAT和LVS-DR模式的实现详解
- LVS-NAT和LVS-DR模式的实现详解
- LVS-NAT和LVS-DR模式的实现详解
- LVS/DR模式原理剖析
- LVS/DR模式原理剖析
- LVS---LVS-DR工作原理图文详解
- LVS-DR模式配置详解
- LVS/DR工作模式详解
- lvs-dr模式原理详解和可能存在的“假负载均衡”
- lvs-dr模式原理详解和可能存在的“假负载均衡”
- LVS/DR模式工作原理的常见问题[转]
- lvs DR模式的笔记
- 基于DR模式的LVS
- 关于JAVA的垃圾回收机制-引用分类
- 阿里云oss云存储
- Android Studio 如何轻松整理字符串到string.xml中 1、在布局文件中写的字符串,整理到string.xml中 1、如下面的布局文件,一般写布局文件的时候都是直接把字符串写到里
- java的冒泡算法
- java的Exception异常有多少种?
- linux lvs的DR模式原理详解
- mysql复制复制切换主主复制开启GTID
- 日常问题(四)——Linux系统下MariaDB如何区分大小写
- mysql load data to elasticsearch 脚本
- 使用正则表达式优雅的解决SpringMVC时间转换问题
- epoll服务器
- IOS 自定义相机, 使用 AVFoundation(附实现部分腾讯水印相机功能 demo)
- Kotlin系列之常用操作符
- Java反射机制详解