热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LVS介绍与搭建

Nginx与LVS区别:Nginx7层反向代理LVS4层数据包的转发LVS介绍:LVS是linuxVirtualserver简写,虚拟服务器

Nginx与LVS区别:

  Nginx 7层  反向代理

  LVS  4层   数据包的转发

 

LVS介绍:

    LVS是linux Virtual server简写,虚拟服务器

 LVS负载均衡调度技术是在LINUX内核中实现的,使用该软件配置LVS时候,不能直接配置内核中的ipvs,而是使用ipvs的管理工具ipvsadm(命令行工具)进行管理,但是keepalived软件可以直接管理ipvs

 

  虚拟IP地址(Virtual  ip  address)    VIP     vip为Director用于向客户端计算提供服务的IP地址

  真实IP地址(Real Server IP address) RIP    在集群下面节点上使用的IP地址,物理IP地址

Director的IP地址(Director IP address) DIP   Director用于连接外网网络的IP地址,物理网卡上的ip地址

客户端主机ip地址(Client IP address)  CIP   客户端用户计算机请求集群服务器的IP地址

 

 

LVS 集群的4种工作模式介绍以及原理介绍

  1. NAT(Network Address Translation)
  2. TUN(Tunneling)
  3. DR (Direct Routing)最常用的
  4. FULLNAT(Full Network Address Translation)为阿里巴巴开发的

 

DR模式:

(仅供参考)

 

  特点

  1.    通过在调度器LB上修改数据包的目的mac地址实现转发,源IP地址仍然是CIP,目的IP地址仍然是VIP
  2.      请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此并发访问量大时使用效率很高(和NAT相比)
  3.     因DR模式是通过MAC地址的改写机制实现的转发,因此所有RS节点和调度器LB只能在一个局域网中
  4.    需要注意RS节点的VIP的绑定(lo:VIP/32,lo1:vip/32)和arp抑制问题
  5.      RS节点的默认网关不需要是调度器LB的DIP,而直接是IDC机房分配上级路由器的ip(这是RS带有外网ip地址情况),理论上来讲,RS可以出外网即可,不是必须配置外网ip
  6.       由于DR模式的调度器仅进行了目的MAC地址的改写,因此,调度器LB无法改变请求的报文的目的端口
  7.            当前调度器LB支持几乎所有unix/linux系统,但是目前不支持windows系统,真是服务器RS节点可以是windows
  8.           DR模式效率很高,配置比较麻烦,访问量不是特别大的时候,可以使用haproxy/nginx取代即可(参考1000-2000pv)
  9.        直接对外的访问业务,列如web服务做RS节点,RS最好用公网ip地址,如果不直接对外的业务,列如:mysql,存储系统RS节点最好用内部IP

 

NAT模式:

   特点

  1.      nat技术将请求的报文(通过DNAT方式改写)和响应的报文(通过SNAT方式改写),通过调度器地址重写然后在转发给内部的服务器,报文返回时在改写成原来的用户请求的地址
  2.    只需要在调度器LB上配置wan公网ip即可,调度器也要有私有lan ip和内部RS节点通信
  3.    每台内部RS节点的网关地址,必须要配成调度器LB的私有LNA内物理网卡地址(LDIP),才能确保数据报文返回时仍然经过调度器LB
  4.     由于请求与相应的数据报文都经过调度器LB,因此,网站访问量大的时候,LB有瓶颈,一般要求最多10-20台节点
  5.    NAT模式支持对IP及端口的转换,即用户请求10.0.0.1:80 可以通过调度器转换到RS节点的10.0.0.2:8080(DR和TUN模式不具备)
  6.  所有NAT内部RS节点只需要配置私有LAN IP即可
  7.    由于数据包来回都需要经过调度器,需要开启内核转发  net.ipv4.ip_forward = 1,也要包括iptables防火墙forward功能

 

 

TUNNEL模式

  特点

  (直接加ip头)

  1. 负载均衡器通过把请求的报文通过IP隧道的方式
  2. 由于真是服务器将相应处理后的报文直接返回给客户端用户,因此,最好RS有一个外网ip地址,这样效率会更高
  3. 由于调度器LB只处理入站请求的报文,,集群系统的吞吐量可以提高10倍以上,但是隧道模式也会带来系统开销,TUN模式适合LAN/WAN
  4. TUN模式的LAN环境转发不如DR模式效率高,而且还要考虑系统对IP隧道支持问题
  5. 所有的RS服务器都要绑定VIP,一直ARP,配置复杂
  6. LAN环境一般采用DR模式,wan环境可以用TUN模式,但是当前在WAN环境下,请求转发更多被haproxy/nginx/DNS调度等代理取代
  7. 直接对外的访问业务,列如web服务做RS节点,最好用公网ip地址,不直接对外的业务最好内部ip

 

 

 

LVS最常用的几种算法

rr   轮循调度,分配不同的RS节点

wrr   加权轮询调度,根据节点权值分配任务

wlc   加权最小连接数调度

dh  目的地址哈希调度

sh   源地址哈希调度

 


推荐阅读
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 第七课主要内容:多进程多线程FIFO,LIFO,优先队列线程局部变量进程与线程的选择线程池异步IO概念及twisted案例股票数据抓取 ... [详细]
  • 负载均衡 LVS vs Nginx 对比
    前言今天总结一下负载均衡中LVS与Nginx的区别,之前看过好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TU ... [详细]
  • 【图解HTTP】第一章 了解web及网络基础
    [图解HTTP]了解Web及网络基础Web页面是如何呈现的?根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resour ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • 怎么解决oracle提示框显示不全问题
    这篇文章主要介绍“怎么解决oracle提示框显示不全问题”,在日常操作中,相信很多人在怎么解决oracle提示框显示不全问题问题上存在疑惑,小编查阅 ... [详细]
  • Answer:Theterm“backslash”isonofthemostincorrectlyusedtermsincomputing.People ... [详细]
  • Linux内核那些事之连接跟踪
    “本文分析了Linux内核连接跟踪的关键实现”连接跟踪(也叫会话管理)是状态防火墙关键核心,也是很多网元设备必不可少的一部分。各厂商的实 ... [详细]
  • 计算机网络概述计算机网络基本概念计算机网络计算机网络是互连的、自治的计算机集合。协议计算机网络中的实体在进行数据交换的过程中必须遵循的规定或约定,称为网络协议。协议的三个要素:语法 ... [详细]
author-avatar
海带木耳求_529
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有