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

Linuxlvs三种模式工作原理

#Linuxlvs三种模式工作原理LVS:LinuxVirtualSevser,Linux虚拟服务器,由章文嵩先生成立的有关负载均衡的开源项目。基于Linux内核。优化后
Linux lvs三种模式工作原理

LVS:Linux Virtual Sevser,Linux虚拟服务器,由章文嵩先生成立的有关负载均衡的开源项目。基于Linux内核。优化后并发量可以达到百万级。


NAT模式:

NAT(Network Address Translation)网络地址转换,内网主机可以通过路由NAT实现访问外网主机。

image.png

 1、client请求资源,当报文到达director时,源和目标IP是CIP-VIP,IPVS会强行修改目标地址为RIP,将报文从INPUT发向POSTROUTING,源和目标IP修改为CIP-RIP,RS验证目标地址是本地地址,则接受报文并处理请求。

2、RS响应请求,由于请求报文源IP是CIP,所以响应报文的目标IP是CIP;将响应报文发送给网关director后,director会通过SNAT将源IP修改为VIP,这样client才可以明确是响应它请求报文的数据包。

特点:

director与RS必须在同一个局域网呢。

RS的网关必须指向director的私网DIP。

请求和响应报文都需要director转发,会成为整个系统的瓶颈。

支持端口映射,client访问80端口,director可以映射到RS的8080端口上。

director必须是Linux系统。

director需要两个网卡,一个与互联网通信的公网VIP,一个与RS通信的私网DIP。

NAT模式配置过程:https://www.cnblogs.com/houyongchong/p/10551079.html


TUN模式:

IP隧道技术又称IP封装,在源和目标IP地址的基础上,利用新的源和目标IP地址对数据报文进行第二次封装。

image.png

1、client请求资源,源和目标IP为CIP-VIP的报文到达director,IPVS会利用隧道技术将DIP-RIP封装在请求报文中,经POSTROUTING链发送至RS,RS本地需要配置tunl0地址为VIP,当RS接收到报文,二次封装的目标地址RIP为本地eth0地址,原始目标地址VIP为本地tunl0地址,所以RS就会认定是发送给自己的数据包,就会处理请求。

2、RS响应请求,由于请求报文源和目标IP是CIP-VIP,所以响应报文的源和目标地址应为VIP-CIP;此时报文会经由RS的网关路由一直送达client。

特点:

VIP、DIP、RIP都是公网IP。

RS网关不会也不能指向DIP。

请求报文经过director,响应报文直接由RS发送给client,director不再成为系统瓶颈。

RS必须支持隧道技术。

不支持端口映射。


DR(direct route)模式:

image.png

1、client请求资源,请求报文经过路由到达交换机,然后交换机查看目标IP为VIP,则修改源和目标MAC后再封装报文发送给director,IPVS则将报文源MAC修改为DIP的MAC地址,目标MAC修改为RIP的MAC地址,然后经POSTROUTING链发送出去,通过交换机转送给RS。DR模式会lo接口上配置一个虚拟地址VIP,当RS收到报文拆封发现目标MAC地址是自己,目标IP地址也是自己的lo地址VIP,就会处理请求。

2、RS响应请求,由于请求报文的目标IP是VIP,所以响应报文就通过lo接口传送到eth0网卡发出。

特点:

保证前端路由将目标地址为VIP的报文全部发送给DS,而不是RS

RS的RIP可以使用私有地址,但也可以使用公网地址

RS和director必须在同一物理网络中

请求报文有director调度,但响应报文不一定经由director

不支持端口映射

RS的网关不能指向DIP

DR模式配置过程:https://www.cnblogs.com/houyongchong/p/10535993.html

调度算法:

rr,轮询算法(round robin),调度器会将所有的请求平均分配给每个服务器。

  wrr,加权轮询(weight round robin),给每个RS分配权重比例。

  lc,最小连接(least connections),把新请求分配到当前连接数最小的服务器上,,集群系统的真实服务器具有相近的系统性能,采用最小连接调度算法可以比较好地均衡负载

  wlc,加权最小连接(weight least connections),在lc算法上为每台服务器分配上权重比例。



推荐阅读
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 如何方便地退订邮件列表,避免混乱和烦恼
    本文介绍了如何方便地退订邮件列表,避免混乱和烦恼。文章指出,退订邮件列表可能会造成混乱,特别是当被意外添加到列表中时。为了快速、轻松地取消订阅,建议不要将退订电子邮件发送到用于发布消息的电子邮件地址。文章还介绍了邮件列表由邮件列表软件控制,作为邮件列表成员,可以对该软件进行一些用户控制。一些邮件列表允许使用自动电子邮件地址退订,但这可能会带来一些混乱。最后,文章提到退订邮件列表需要向电子邮件服务器发送特殊命令来脱离列表。 ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
author-avatar
life-death-swallow_204
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有