企业级负载均衡集群—四层LVS(DR模式、TUN模式)

本文详细介绍了LVS(Linux Virtual Server)集群的工作原理和实现方式,包括DR(Direct Routing)模式和TUN(Tunneling)模式。在DR模式中,调度器通过修改MAC地址实现负载均衡,而在TUN模式下,调度器会在原始IP报文首部封装一层新的IP首部。两种模式都需要配合相应的配置和策略,如arptables规则,以确保客户端请求正确路由到后端服务器并实现负载均衡。
摘要由CSDN通过智能技术生成

1、lvs集群

LVS(Linux Virtual Server)是Linux虚拟服务器,是一个虚拟的服务器集群系统
LVS集群中实现的IP负载均衡的三种技术:VS/NAT、VS/TUN和VS/DR
VS/NAT技术(Virtual Server via Network Address Translation):网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器;
VS/TUN (Virtual Server via IP Tunneling):针对于VS/NAT的缺点和网络服务的非对称性,通过IP隧道方法实现虚拟服务器;
VS/DR(Virtual Server via Direct Routing):通过直接路由实现虚拟服务器的方法
它们可以极大地提高系统的伸缩性

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。
集群采用三层结构   
一般来说,LVS集群采用三层结构,其主要组成部分为:   
A、负载调度器(loadbalancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。
B、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。
C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

2、lvs工作原理

lvs是工作在防火墙的INPUT链上,用户请求访问从PREROUTING到INPUT,lvs在INPUT链上强行改变数据流向,从而实现调度
当用户向负载均衡器(DS)发出请求时,调度器首先会把请求发往内核空间,然后PREROUTING链会接收到用户请求,路由前它会判断你这个ip是不是访问的我本机,确定是本机,把数据包发到INPUT链上。这时,ipvs其实就是工作在INPUT链上,当用户的请求到达INPUT链时,ipvs会把用户的请求和自己已经定义好的服务集群(server2、server3上的服务)进行比对,如果用户请求的就是我们定义的服务集群,这时ipvs会强行修改数据包的目的ip地址、端口,并且更新数据包,然后发往POSTROUTING链,接收到数据包之后,发现ip地址刚好是我们后端自己的服务器,它通过再一次路由把请求发往真正的后端web服务器(RS)

3、实现lvs调度器的DR模式

DR模式原理过程:
client—>DS(调度器)—>PREROUTIN—>INPUT—>POSTROUTING—>RS—>lo(回环接口)—>网卡eth0—>client
lvs分为两个组件:ipvs、ipvsadm
ipv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值