LVS集群类型比较:选择最适合你的应用架构
创始人
2025-07-05 04:21:49
0

一、什么是LVS?

LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的软件项目,现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须重新编译内核以支持LVS功能模块,但是从Linux2.4内核心之后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。

使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能,高可用的服务器群集,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。

二、LVS集群几种类型

1.LVS-NAT

原理:本质上是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和port实现转发。

  • RIP和DIP尽量在同一个网络,且使用私有网络,RS的网关尽量要指向DIP;
  • 请求报文和响应报文都必须经由Diretory转发,Diretory易于成为系统瓶颈;
  • 支持端口映射,可修改请求报文的目标port;
  • VS必须是linux系统,RS可以是任意OS系统;

2.LVS-DR(常用)

原理:Dirrect Routing,直接路由,LVS的默认模式,应用最广泛,通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在接口的MAC,目标MAC是挑选出来的RS的RIP所在接口的MAC地址,源IP/PORT以及目标IP/PORT均保持不变。

  • Director和各RS均要配置VIP;
  • 确保前端路由器将目标IP为VIP的请求报文发往Director

在RS上使用arptables工具:

arptables -A IN -d $VIP -j Drop
arptables -A OUT -s $VIP -j **** --*****-ip-s $RIP

RS上修改内核参数以限制arp通告及应答级别:

/proc/sys/net/ipv4/vonf/all/arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce
  • RS的RIP可以使用私有网络地址,也可以使用公网地址;RIP和DIP在同一个IP网络;
  • RIP的网关不能指向DIP,以确保响应报文不会经过Director
  • RS和Director要在同一个物理网络
  • 请求报文要经过Director,但是响应报文不会经过Director,由RS直接发往Client
  • 不支持端口映射,即端口固定
  • RS可使用大多数OS操作系统

3.lvs-tun(跨异地)

原理:不修改请求报文的IP首部(CIP->VIP),而在原IP报文之外封装一个IP首部(DIP->VIP),将报文发往目标RS,RS直接响应客户端(VIP->CIP)。

  • DIP、VIP、RIP都应该是公网地址
  • RS的网关不能指向DIP
  • 请求报文要经过Director,但是响应报文不经过直接回到Client
  • 不支持端口映射
  • RS的OS必须支持隧道功能

4.lvs-fullnat

原理:通过同时修改请求报文的源ip和目的ip进行转发

  CIP->VIP
  DIP->RIP
  • VIP是公网地址
  • RS收到的请求报文源地址是DIP,因此只响应给DIP,lvs服务器将其转发给client
  • 请求和响应报文都经过LVS服务器
  • 支持端口映射
  • 内核默认不支持

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...