LVS搭建的四种模型及其优缺点

本文详细介绍了Linux虚拟服务(LVS)的四种类型:NAT、DR、TUN、FULLNAT,包括它们的工作原理、架构特性、优缺点以及在不同场景的应用。LVS通过在OSI七层模型的传输层进行数据流转发,实现负载均衡、高可用性和高效处理任务。文章进一步解释了每种类型的特点,如NAT模型的安全性、DR模型的服务器并发能力提升、TUN模型的异地容灾功能以及FULLNAT模型在不同网络之间的负载均衡。

有道云地址:https://note.youdao.com/share/?id=e2ee54a38327eca892df116704ef2e05&type=note#/

一.Linux Virtual Server (linux虚拟服务)

        LVS工作于OSI七层模型的传输层,通过对TCP、UDP、SCTP、IPsec ESP、AH这些工作在四层的协议的支持,根据目标地址和端口做出转发与否的决策,根据调度算法做出转发至哪一个端口的决策。

        LVS将其控制程序ipvs嵌套至传输层数据流的Input钩子函数上,ipvs将发送至本控制器主机(director)上的数据流在input链上进 行截流,通过对数据报文的分析根据自身的算法将数据流转发至后台真正提供服务的主机(Real Server)上,达到根据后端服务器负载能力均衡分配处理任务的效果。

相关术语:

    ClientIP:CIP--------------------------客户端ip

    Dirvector Virtual IP:VIP------------控制器上对外开放的ip

    Dirvector IP:DIP---------------------控制器上连接后台服务器的ip

    Realserver IP:RIP--------------------后台服务器的ip

    Director-------------------------------控制器或调度器

    Real Server:RS------------------------后台提供服务的主机

简单模型:

        基本思路就是把多个LVS组成一个OSPF集群,这样可以使得LVS集群的性能提高并负载均衡,高可用性,4层负载均衡,效率高,各个层面都有冗余负载。

二.LVS的类型

1.LVS-NAT类型

        他通过修改请求报文的目标地址为根据调度算法所挑选出的某RS的RIP来进行转发。

        1.1 架构特性:

        <1> Rs应该使用私有地址,即RIP应该为私有地址,各RS的网关必须执行DIP

        <2> 请求报文和响应报文都经由Directory转发;调度器作为所有服务器节点网关,即作为客户端的访问入口,也是各节点回应客户端的访问出口。

        <3> 支持端口映射

        <4> RS可以使用任意类型的OS

        <5> RS的RIP必须与Directory的DIP在同一网络,中间不需要路由器

        1.2 NAT模型优缺点:

        优点:节点服务器使用私有IP地址,与负载调度器位于同一个物理网络,安全性比DR模式和TUN模式要高。

        缺点:调度器位于客户端和集群节点之间,并负责处理进出的所有通信;(压力大的根本原因)大规模应用场景中,调度器容易成为系统瓶颈。

图示:

 

2.LVS-DR类型                            

        Diectory在实现转发时不修改请求的IP首部,而是通过直接封装MAC首部完成转发;目标MAC是Directory根据调度方法挑选出某RS的MAC地址。

        2.1 架构特性:

        <1> 保证前端路由器将目标地址为VIP的请求报文通过ARP地址解析后送往Directory。解决方法:静态绑定,在前端路由器直接将VIP对应的目标MAC静态配置为Directory的MAC地址。

        <2> RS可以使用大多数的OS。

        <3> RS的RIP可以使用私有地址;但也可以使用公网地址,此时可通过互联网上的主机直接对此RS发起管理操作。

        <4> 请求报文必须经由Directory调度,但响应报文必须不能经由Directory。

        <5> 各RIP必须与DIP在同一物理网络中。

        <6> 不支持端口映射。

        <7> RS的网关一定不能指向Directory。

        不足:1、LVS-RS间必须在同一个VLAN。

                   2、RS上绑定VIP,风险大。

        2.2 DR模型优缺点:

        优点:负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端,大大提高了服务器并发能力。

        缺点:1、如果路由是运营商提供则没有路由器管理权限,则无法配置

                   2、如果调度器做了高可用,当主备切换的时候,MAC地址会发生改变。

                Arptables:在各RS上,通过arptables规则拒绝其响应对应的ARP广播请求

                内核参数:在RS上修改内核参数,并结合地址的配置方式实现拒绝响应对VIP的ARP广播请求;

图示:

 

3.LVS-TUN

        不修改请求报文IP首部,而是通过IP隧道机制在原有的IP报文之外在封闭IP首部,经由互联网把请求报文交给选定的RS,主要实现异地容灾。

        3.1 架构特性:

        <1> RIP,DIP,VIP都是公网地址

        <2> RS的网关不能,也不可能指向DIP

        <3> 请求报文由Directory分发,但响应报文直接由RS响应给client

        <4> 不支持端口映射

        <5> RS的OS必须得支持IP隧道

        3.2 DR模型优缺点:

                优点:实现了异地容灾,避免了一个机房故障导致网站无法访问。

                 缺点:RS配置复杂(IPIP模块等)

图示:

4.LVS-FULLNAT(双向转换)

        通过请求报文的源地址为DIP,目标为RIP来实现转发:对于响应报文而言,修改源地址为VIP,目标地址为CIP来实现转发。

        4.1 架构特性:

        <1> 这是一种对nat模型的改进,是一个扩展,使得RS与Director可以处于不同网络。

        <2> RIP,DIP可以使用私有地址;

        <3> RIP和DIP可以不再同一个网络中,且RIP的网关未必需要指向DIP;

        <4> 支持端口映射;

        <5> RS的OS可以使用任意类型;

        <6> 请求报文经由Director,响应报文也经由Director;

        4.2 DR模型优缺点:

                优点:实现了不同Vlan间的负载均衡,抗危险性强。

                缺点:性能差

图示:

 

### 关于LVS(Linux Virtual Server)仿真配置教程 #### 什么是LVSLVS(Linux Virtual Server),即Linux虚拟服务器,是一种用于构建高可用性和高性能服务系统的解决方案。它通过在网络层实现负载均衡技术,在UNIX/Linux平台上提供高效的集群管理能力[^1]。 #### LVS的主要功能 LVS可以用来分发网络请求到多个实际工作的节点上,从而提高整个系统的吞吐量和服务质量。它可以应用于Web服务、数据库查询等多种场景中,并支持多种负载均衡策略以及不同的转发模式[^2]。 #### 工作原理概述 LVS的工作流程通常如下所示: - 用户发起请求至前端的LVS负载均衡服务器; - 负载均衡器依据设定好的规则将流量分配给后端真实的服务实例(如Apache HTTP服务器或其他应用服务器); - 后续可能还会涉及数据持久化组件(例如MySQL数据库或者缓存系统Memcached等)。值得注意的是,这些后台资源同样可以通过另一级LVS来进行进一步优化处理[^4]。 #### 配置SNAT规则 (可选项) 当内部网络中的设备需要访问外部Internet时,则需设置源地址转换(SNAT),这可通过`iptables`工具完成相应规则定义来达成目标[^3]: ```bash iptables -t nat -A POSTROUTING -s 内部子网IP范围 ! -d 外部接口所在网段 -j MASQUERADE ``` #### 实现方式——三种主要模型介绍 以下是几种常见的部署架构及其特点说明: ##### VS/NAT (基于网络地址翻译的方式) 在这种方法里, 客户端看到的目标ip实际上是lvs所在的机器上的vip(virtual ip),而realserver并不知道客户端的存在. 优点在于简单易行;缺点则是性能受限于单台nat路由器的能力. ##### VS/TUN (利用IP隧道封装的方法) 此方案把来自客户的包重新打包成一个新的带有目的地址为rs(RealServer)私有ip的数据报发送出去. RealServers必须开启ip_forward参数并正确路由返回路径. 相比前者减少了额外开销, 提升了一定程度下的效率. ##### VS/DR (借助直接路由的技术手段) 该种形式下client到达director之后不再经过任何修改便直接传送给相应的real server, 只不过此时两者间存在一个共同使用的物理链路连接而已. 这种方式具有最低延迟和最高带宽利用率的优势. #### 示例代码片段展示如何搭建基本环境 下面给出一段简单的shell脚本作为参考指南帮助理解上述理论部分的实际运用情况: ```bash #!/bin/bash # 设置VIP ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0 up # 开启ip_forward echo "1" > /proc/sys/net/ipv4/ip_forward # 清理旧表项 /sbin/iptables -F /sbin/iptables -X /sbin/iptables -Z # 添加新的规则 /sbin/ipvsadm -C /sbin/ipvsadm -A -t 192.168.1.1:80 -s rr # 加入RS列表 for i in `seq 1 3`;do /sbin/ipvsadm -a -t 192.168.1.1:80 -r 172.16.$i.1:80 -g; done ``` 以上仅作为一个基础框架供学习者模仿练习之用,请根据实际情况调整各项数值以满足特定需求。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值