LVS四种工作模式原理

LVS四种工作模式原理,第1张

LVS 是 Linux Virtual Server :Linux 虚拟服务器;是一个虚拟的服务器集群【多台机器 LB IP】。

负载调度器(load balancer) :它是整个LVS 集群对外的前端机器,负责将client请求发送到一组服务器[多台LB IP]上执行,而client端认为是返回来一个同一个IP【通常把这个IP 称为虚拟IP/VIP】

服务器池(server pool) :一组真正执行client 请求的服务器,一般是我们的web服务器;除了web,还有FTP,MAIL,DNS

共享存储(shared stored) :它为 server pool 提供了一个共享的存储区,很容易让服务器池拥有相同的内容,提供相同的服务

常用术语

VS:Virtual Server #虚拟服务,一个抽象的服务,用于最开始接收 web 请求的服务

Director, Balancer #负载均衡器、分发器

RS:Real Server # 真正提供服务的服务器

CIP: Client IP #用户端IP,发起请求的客户端 IP,一般是公网 IP

VIP:Director Virtual IP #负载均衡器虚拟IP

DIP:Director IP #负载均衡器IP

RIP:Real Server IP #真正提供 web 服务的服务器的 IP

(1)直接路由模式(LVS-DR)

互联网使用比较多的一种模式

DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。

DR模式特点

优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。

缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。

(2)NAT模式(LVS-NAT)

NAT模式是通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP),这样真实服务器(RS)就能够接收到客户的请求数据包了。真实服务器响应完请求后,查看默认路由(NAT模式下我们需要把RS的默认路由设置为LB服务器。)把响应后的数据包发送给LB,LB再接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。

NAT模式特点:

1、NAT技术将请求的报文和响应的报文都需要通过LB进行地址改写,因此网站访问量比较大的时候LB负载均衡调度器有比较大的瓶颈,一般要求最多之能10-20台节点

2、只需要在LB上配置一个公网IP地址就可以了。

3、每台内部的节点服务器的网关地址必须是调度器LB的内网地址。

4、NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。

(3)Full NAT模式(LVS-FullNAT)

客户端对VIP发起请求,Director接过请求发现是请求后端服务。Direcrot对请求报文做full-nat,把源ip改为Dip,把目标ip转换为任意后端RS的rip,然后发往后端,rs接到请求后,进行响应,响应源ip为Rip,目标ip还是DIP,又内部路由路由到Director,Director接到响应报文,进行full-nat。将源地址为VIP,目标地址改为CIP

请求使用DNAT,响应使用SNAT

Full NAT模式特点:

FULL NAT 模式也不需要 LBIP 和realserver ip 在同一个网段;

full nat 跟nat 相比的优点是:保证RS回包一定能够回到LVS;因为源地址就是LVS==>不确定

full nat 因为要更新sorce ip 所以性能正常比nat 模式下降 10%

(4)IP隧道模式(LVS-Tunnel)

采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写,当客户请求越来越多时,调度器处理能力将成为瓶颈。为了解决这个问题,调度器把请求的报文通过IP隧道转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文,由于一般网络服务应答数据比请求报文大很多,采用VS/TUN模式后,集群系统的最大吞吐量可以提高10倍。

它和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址。而是把客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过LB服务器。

ip隧道模式特点:

负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。

隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。

四种模式性能比较:

因为DR模式 IP TUNELL 模式都是在package in 时经过LVS ,在package out是直接返回给client,所以二者的性能比NAT 模式高,但IP TUNNEL 因为是TUNNEL 模式比较复杂,其性能不如DR模式;

FULL NAT 模式因为不仅要更换 DST IP 还更换 SOURCE IP 所以性能比NAT 下降10%

4种模式的性能如下:DR ==>IP TUNNEL ==>NAT ==>FULL NAT

一、什么是Linux

Linux和Windows一样,是一个计算机操作系统,和Windows不一样的是,Linux是完全开源的操作系统,任何人都可以容易得到Linux的内核代码,并对其进行研究修改,使其适用于不同的设备和应用场景,这也使得Linux和Windows这样的相比,应用范围要广得多。

首先,Linux是开源的,自从1991年李纳斯(linux的创始人)发布第一个内核版本以来,无数的开发者参与到了Linux的开发中,随着版本不断迭代,linux内核变得越来越健壮,安全性也越来越高,也被应用到越来越多的领域之中,从这个角度来说,Linux是人类智慧的共同结晶,而Windows是属于微软私有产物,人们只有使用权而没有修改权。

二、Linux可以做什么

   1.网络服务器

因为Linux内核的开源,使得Linux拥有无与伦比的安全性,因此在很多安全性要求极高的关键领域都有Linux的身影,linux服务器应用范围非常广泛,在电信、金融、政府、教育、银行、石油等领域都能见到Linux的身影,软件公司也有很多将Linux作为代码测试和托管服务器。

2.网络安全

Linux天生具有网络基因,因此也是众多网络安全专家和黑客必备的操作系统,无论是白帽子还是黑帽子,Linux是必须要精通的。

3. 嵌入式Linux

还是因为任何人都能拿到并对Linux内核进行修改,因此在一些对计算资源要求严苛的领域,比如路由器、交换机、自动售货机、手机、PDA、以及各种家用电器上广泛存在Linux的身影,基于Linux开发的Android如今已经成为智能手机第一大操作系统,智能电视绝大多数使用的也都是Android的定制版。

4. 超级计算机

开源使得Linux具有极高的安全性、稳定性、可定制性和扩展性,因此超级计算机大多数也会采用Linux作为操作系统,例如我国著名的超级计算机天河2采用的就是一款定制的Linux操作系统。

5. 通用桌面操作系统

虽然目前微软的Windows在桌面操作系统领域占据统治地位,但是各种Linux桌面版(发行版)同样具有极强的生命力,经过这么多年的发展,基于linux的各类软件也越来越丰富,已经能够在某种程度上取代Windows,成为日常使用的桌面操作系统。

NFS通过port传输数据,NFS服务在传输数据的时候,端口是随机选择的(自己重启NFS服务,查看端口是否在变化)

NFS是通过RPC服务,进行一个端口注册,实现告知用户,NFS的工作端口是哪一个

RPC

RPC:远程过程调用

Linux上使用NFS服务,必须启动2个服务:NFS服务 和 RPC 服务

NFS服务通过RPC注册自己的端口功能

RPC服务功能就是记录每个NFS功能对应的一个端口号,并且RPC保证了NFS客户端发出请求的时候,把该功能对应的端口信息告知NFS客户端,保证客户端能够正确连接到NFS服务端的端口,达到数据传输的目的

RPC好比是一个中介,处于客户端和服务端之间

RPC服务如何知道NFS服务端的端口信息?

NFS服务器启动的时候,会随机采用若干个端口,并且主动在RPC服务中进行注册,如此一来,RPC服务就正确知道所有NFS服务端的端口功能了,RPC服务默认使用Linux的111端口和NFS客户端进行交流,并且通过111端口将正确的NFS服务端的端口信息,告知给NFS客户端。因此,NFS客户端就能够正确找到NFS服务端的端口信息


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/324871.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存