负载均衡之LVS TUN模式(IP隧道)

1、LVS、TUN简介

LVS 是Linux Virtual Server的简称,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以相对反向代理服务器来说,性能一般会高一些;

TUN 是IP Tunneling
,IP隧道的简称,它将调度器收到的IP数据包封装在一个新的IP数据包中,转交给应用服务器,然后实际服务器的返回数据会直接返回给用户。

2、简单的LVS/TUN架构图

这里我简单画一下LVS/TUN模式在应用时的部署环境:

我们先假设百度用的是这种架构模型(实际上百度是什么架构我也没有实地调研过)

然后来模拟下用户访问百度的情况。

1.用户在浏览器输入http://www.baidu.com,
用户的电脑通过网络询问DNS,www.baidu.com域名的IP地址。

2.DNS服务器通过用户的地址,在服务器列表里选择一个可能是距离用户最近的LVS虚拟服务IP地址或者一个按照轮询策略的地址。

可以用ping
www.baidu.com,能看到会返回一个IP地址,这个IP地址就是我们DNS返回给我们的地址。也可以用dig命令,能够看到www.baidu.com
实际对应了3个IP地址

3.用户浏览器通过DNS获得的IP地址,访问LVS服务器

4.进入LVS/TUN模式,LVS将数据包提供给APACHE或者nginx构建的反向代理服务器;

5.反向代理服务器最终将请求送给应用服务器;

6.应用服务器完成用户请求之后,通过反向代理服务器直接返回给用户,而不需要通过LVS服务器。

3、前提

不是所有的服务器都支持IP隧道,不过对一般的linux服务器操作系统而言,基本都支持ip
tunneling协议。

如果看过我关于LVS/DR模式的介绍,发现这个流程本质上是一样的。

4、优点

TUN模式可以解决DR模式下不能跨网段的问题,甚至可以跨公网进行。

5、总结

对于大规模网站,单独使用LVS还是不够的,一般还是得配合nginx or apache做负载均衡。这个时候最简单的就是lvs+nginx/haproxy(nginx官方版本现在没有4层代理功能,haproxy对后端又不支持keepalive),当然使用DR模式或者TUN模式也还可以的。基本都得用2层才能搞得定。其实对于访问量不是很大的公司,直接用nginx/haproxy/apache就OK了。搞的太复杂维护成本会比较高。

时间: 2024-08-06 11:35:34

负载均衡之LVS TUN模式(IP隧道)的相关文章

负载均衡之LVS/DR模式

和NAT模式不同,DR的负载均衡调度器工作在网络七层协议中的数据链路层,也就是第二层.它通过修改数据包的目标MAC地址,将数据包转发到实际应用服务器上,最重要的是,实际服务器的响应数据包将直接返回给用户端,而不需要经过负载调度器 1.LVS.DR简介 LVS 是Linux Virtual Server的简称,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以相对反向代理服务器来说,性能

负载均衡(LVS DR模式搭建,DR只用一个公网ip,Keepalived+LVS DR)

一.LVS DR模式搭建 准备工作 三台机器: 分发器,dir:192.168.52.100 rs1:192.168.52.101  (网关改回来,之前nat模式改成100) rs2: 192.168.52.102  (网关改回来,之前nat模式改成100) vip:192.168.52.200   (这个虚拟ip需要绑定在每台机器上) 分发器dir上: [[email protected] ~]# iptables -F [[email protected] ~]# vim /usr/loca

负载均衡之LVS/NAT模式

1.LVS.NAT简介 LVS 是Linux Virtual Server的简称,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,比起在第七层工作的负载均衡设备来说,理论上性能要高一些. NAT 是Network AddressTranslation,网络地址转换的简称,借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网

负载均衡、LVS概述

1. 负载均衡概述 负载均衡的基本思路是:在一个服务器集群中尽可能的平衡负载量.通常的做法是在服务器前端设置一个负载均衡器(一般是专门的硬件设备).然后负载均衡器将请求的连接路由到最空闲的可用服务器.下图显示了一个典型的大型网站负载均衡设置,其中一个负载均衡器用于HTTP流量,另一个用于MySQL访问. 负载均衡有5个常见的目的. (1)可扩展性:负载均衡对于某些扩展策略有所帮助,例如读写分离时从备库读数据. (2)高效性:负载均衡有助于更有效的使用资源,因为它能够控制请求被路由到何处. (3)

LVS负载均衡(LVS简介、三种工作模式、十种调度算法)《转》

一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器

应用负载均衡之LVS(三):使用ipvsadm以及详细分析VS/DR模式

*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { color: #998; font-style: italic; } .hljs-keyword, .css .rule .hljs-keyword, .h

CentOS7.4——LVS负载均衡群集—直接路由模式(LVS-DR)

LVS负载均衡群集-直接路由模式(LVS-DR)环境:调度服务器一台:Linux-CentOS7.4IP地址:192.168.80.20Web服务器两台:Linux-CentOS7.4IP地址:192.168.80.30(SERVER AA)IP地址:192.168.80.40(SERVER BB)客户端一台:以win7为例,用于测试验证IP地址:192.168.80.2 第一步:配置调度服务器//加载LVS内核模块LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动

Linux负载均衡软件LVS之二(安装篇)[转]

Linux负载均衡软件LVS之二(安装篇) 2011-04-26 16:01:47 标签:lvs安装配置 linux lvs 休闲 linux高可用 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ixdba.blog.51cto.com/2895551/554029 一.  安装LVS软件 1.安装前准备工作操作系统:统一采用Centos4.4版本.地址规划,如表1所示:表1 更详细的信息如图2所示: 图2  LVS DR模

集群负载均衡之lvs和keepalived

本篇主要介绍集群的负载均衡. lvs是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序.为此,在设计时需要考虑系统的透明性.可伸缩性.高可用性和易管理性. LVS主要组成部分为: 负载调度器(load balancer/Director),它是整个集群对