LVS工作原理的简单理解
在LVS中有四种常用的模式
以下结合图片说说我的理解
DR模式(直接路由)
DR模式处理客户端的请求时,虚拟服务器与真实的服务器子在一个内网上,然后处理,VS/DR调度器只处理客户到服务器端的连接,响应数据可以直接从独立的网络路由返回给客户。这可以极大地提高LVS集群系统的伸缩性。 虚拟服务器与实际服务器都有一块网卡连在同一物理网段上,服务器网络设备(或者设备别名)不作ARP响应,或者能将报文重定向(Redirect)到本地的Socket端口上。
当请求进入虚拟服务器上时,将其mac地址转换为真实服务器的mac的地址。
在虚拟主机到真实主机可以加入调度的算法实行负载均衡。
NAT方式(网络地址转换)
NAT方式是一种经由路由的方式,首先虚拟服务器接受客户端的请求,然后经由一个switch修改des IP,然后真实服务器识别到自己的IP就处理请求,如果要返回客户端也需要按照原来的流向返回。
TUN方式(IP隧道方式)
IP隧道方式的搭建结构有点像DR方式,但是虚拟服务器和真实服务器不一定需要在一个内网,但是必须在真实主机上绑定所有的虚拟服务器的IP VIP地址。处理过程大体如下,当客户端发起请求然后,虚拟服务器处理,然后进行ip tunnel的封装,给其加上IP头,按照一定的算法改变其des IP ,然后转到真实服务器处理,然后返回客户端。
fullNAT 模式
与NAT模式的区别主要在于,NAT 模式只修改des IP 也就是选择的真实服务器的IP,而fullNAT模式,不只是修改dest IP 也修改来源的虚拟主机的src IP ,所以在请求发送的过程大致与NAT模式类似。当请求进入虚拟服务器时,送交给真实服务器处理时,修改src IP为lvs集群的ip dest IP修改为某个分配到的真实服务器的IP。然后返回时,将src修改为lvs集群的ip dest 。