lvs的工作模型及调度算法

lvs:linux virtual server  基于端口的高并发负载均衡器

工作与tcp层,软件实现方式

工作原理:当数据包经过prerouting进入input链,如果请求的是定义为集群服务的服务时,lvs通过强行改变数据包的走向至postrouting链完成向后端转发,回包经由prerouting->forward->postrouting回送给客户端

对于负载均衡集群,重要的关注点:

1.实现调度的工作原理

2.调度算法

3.后端健康状态监测

lvs优缺点:

优点:由于工作在内核空间,基于netfilter框架,所以其不受套接字文件句柄数目的限制,可以支持高达百万的并发

缺点:只能基于端口定义集群服务,对于基于七层协议进行调度无能为力

lvs的工作模型:

通过将数据包从input链强行送往postrouting链完成向后端转发,根据通过何种方式完成此操作就衍生了lvs的几种工作模型:

lvs-nat:

多目标的DNAT

工作原理:修改数据包的目标ip地址为后端某realserver的ip地址进行调度

特点:

数据包流入流出都经由director

支持端口映射

后端realserver需要指向director为其网关

后端realserver与director的DIP需要在同一ip网络

lvs-dr:

直接路由(默认类型)

工作原理:通过修改mac地址将数据包转发到后端

特点:

数据包入向经由director,出向由realserver直接返回

不支持端口映射

DIP需要和后端realserver上的RIP在同一物理网络,因为其要直接通过mac通信

realserver上也要配置VIP地址,因为其要直接回包给客户端,但是此VIP应该满足以下条件:

只作为回包源IP

对于此IP的ARP解析请求不响应

lvs-tun:

隧道类型

工作原理:在原数据包三层之外再次封装一个ip首部

特点:

数据包入向经由director,出向不经由

不支持端口映射

os需要支持隧道机制

realserver上也要有vip,但只做回包之用

主要应用场景:异地机房

lvs-fullnat

完全nat

工作原理:修改数据包的源目ip地址

特点:

数据包入向和出向都经由director

支持端口映射

主要应用场景:RIP与DIP不在同一ip网络,只要能路由回包给director即可

调度算法:

静态调度:仅根据算法,不考虑后端realserver的overload

动态调度:根据算法结合后端realserver的overload

静态调度:

rr:roundrobin轮询

wrr:weight roundrobin加权轮询

sh:source hash  源hash,通过对源地址hash除以权重求余数进行调度,可实现会话绑定

dh:destination hash

动态调度:

lc:least connection:最少连接

wlc:weight least connection 加权最少连接(默认调度算法) (active*256+inactive)/weight

sed:shorest expextion delay 最短期望延迟   (active+1)*256/weight

lblc

lblcr

时间: 2024-10-07 21:02:49

lvs的工作模型及调度算法的相关文章

LVS专题: LVS的工作模型和调度算法介绍

LVS专题: LVS的工作模型和调度算法介绍 前言 什么是负载均衡? 什么是LVS? LVS的架构: LVS的实现模型: NAT实现原理: DR实现原理: TUN实现原理: FULLNAT实现原理: LVS的调度算法 静态调度算法(4种) 动态调度算法(6种): 总结 前言 本文大概介绍一下LVS的工作方式和实现的模型以及调度算法,流程图方面只上了两张图, 如果有需要LVS各工作模式的流程图请看张小凡:LVS原理详解 什么是负载均衡? 当单台服务器性能不足时我们有两种对其进行扩展的方式, 分别是

LVS包转发模型和调度算法(转)

LVS简介 Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大量并发访问服务的能力,因此对于大负载的服务器来 讲, CPU.I/O处理能力很快会成为瓶颈.由于单台服务器的性能总是有限的,简单的提高硬件性能并不能真正解决这个问题.为此,必须采用多服务器和负载均衡 技术才能满足大量并发访问的需要.Linux 虚拟服务器(Linux Virtual Servers,LVS) 使用负载均衡技术将多台服务器组成一个虚拟服务器.它为适应快速增长的网络访问需求提供了一个负

(转)详解LVS负载均衡之三种工作模型原理和10种调度算法

前言:最近在为我们的产品在做高可用,一边搭环境,一边了解相关知识,搜到这篇博客,质量不错,表述清晰,于是转载过来学习. 标签:详解LVS负载均衡之三种工作模型原理和10种调度算法 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://linuxnx.blog.51cto.com/6676498/1195379 LVS负载均衡原理和算法详解    Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大

LVS类型的介绍,调度算法和不同类型的实现

LVS类型介绍,调度算法和不同类型的实现 LVS集群的组成与特点 Linux虚拟服务器(Linux Virtual Server,LVS),是一个由章文嵩开发的一款自由软件.利用LVS可以实现高可用的.可伸缩的Web.Mail.Cache和Media等网络服务,并在此基础上开发支持庞大用户数的.可伸缩的.高可用的电子商务应用.LVS自1998年发展到现在,已经变得比较成熟,目前广应用在各种网络服务和电子商务应用中.LVS具有很好的可伸缩性.可靠性和可管理性,通过LVS要实现的最终目标是:利用Li

Linux实验报告-构建一个LVS的DR模型

Linux实验报告-构建一个LVS的DR模型 实验背景: 学习笔记,构建一个LVS的DR模型 实验目的: 了解LVS的DR模型工作原理 实现一个LVS的DR模型的实验 实验环境: Vmware Workstation 9,CentOS 6.4  实验步骤: 1,实验目的规划如下模型,CIP.VIP.DIP与RIP在同一网段 2.RS1上配置如下: 配置内核参数: #echo 1 > /prco/sys/net/ipv4/conf/lo/arp_ignore                    

LVS的工作模式介绍和NAT模式&DR模式实验步骤

一:LVS介绍 二.LVS的NAT和DR模式的实验及配置步骤 一.LVS的简单介绍 linux virtual server 简单来讲lvs是一段内核代码 类似于netfilter本身是一框架但不提供任何功能,但是在这框架上提供了能够根据用户定义的转发规则将用户对于服务应用的请求转发至后端主机的机制,类似于DNAT 但DNAT只是其提供的一种工作模式 LVS的工作模式 lvs是工作在内核中的第四层(TCP/UDP)层 能够处理用户请求的套接字,而后只判定用户是否访问了定义为集群服务的应用 在lv

LVS的工作原理和相关算法

首先我们要了解LVS的工作机制: LVS里Director本身不响应请求,只是接受转发请求到后方,Realservers才是后台真正响应请求. LVS 工作原理基本类似DNAT,又不完全相像,它是一种四层交换,默认情况下来通过用户请求的的地址和端口,来判断用户的请求,从而转发到后台真正提供服务的主机,而判断这种请求的是通过套接字来实现,所以四层就可以实现.而且这个转发的过程对用户而言是透明的(简单的讲,就是用户访问的是DR的IP,而DR转发给RSS,而用户不知道这个过程) LVS的工作模式 1.

LVS负载均衡模型及算法概述

集群类型 LB: Load Balancing,负载均衡 HA:High Availability, 高可用 HP:High Performance, 高性能   负载均衡 负载均衡设备 Hardware: F5,BIG IP Citrix,Netscaler A10 最便宜 Software: 四层 性能高,支持的特性少 LVS 中国 七层:反向代理,性能略次于四层,支持高级特性 nginx 俄罗斯 http.smtp.pop3.imap haproxy 主要应用场景http.其他tcp(my

LVS的NAT模型建立

LVS的NAT模型建立一. LVS的NAT模型拓扑图客户端请求时,请求报文时通过director来改变目标ip实现转发.(经过director时目标ip由VIP改为RIP,但是请求报文从director出来时,还是由DIP所在的网卡接口出去的.)报文流向:1->2->31的源地址是CIP,目标地址是director的VIP.2的源地址是CIP,目标地址是director的RIP. 图一 服务器端回应时,响应报文时通过director改变源ip实现转发.(经过director时,源ip由RIP改