负载均衡LVS集群详解
一、LB--负载均衡
在负载均衡集群中需要一个分发器,我们将其称之为Director,它位于多台服务器的上面的中间层,根据内部锁定义的规则或调度方式从下面的服务器群中选择一个以此来进行响应请求,而其分发的方式则是根据某个算法进行的。
二、HA--高可用
高可用顾名思义就是服务的可用性比较高,即当我们不会因为某台服务器的宕机,从而造成我们的服务不可用,其工作模式则是将一个具有故障的服务转交给一个正常工作的服务器,从而达到服务不会中断。
三、LVS:
LVS:Linux Virtual Server,可以实现LINUX平台下的简单负载均衡。
一般来说,LVS采用三层结构:负载调度器、服务器池、共享存储。工作在TCP/IP协议的四层,其转发是依赖于四层协议的特征进行转发的,由于其转发要依赖于协议的特征进行转发,因此需要在内核的TCP/IP协议栈进行过滤筛选,可想而知,这就需要在内核的模块来完成,而这样的过滤转发规则又是由管理员进行定义的,所以,LVS就是两段式的架构设计,在内核空间中工作的是"ipvs",而在用户空间中工作的,用来定义集群服务规则的是"ipvsadm"。这就很容易想到iptables。
LVS的三种转发模式:
LVS-NAT:网络地址转换 Network address translation
LVS-DR:直接路由 Direct routing
LVS-TUN:IP隧道 IP tunneling
VIP:Director用来向客户端提供服务的IP地址
RIP:集群节点(后台真正提供服务的服务器)所使用的IP地址
DIP:Director用来和D/RIP 进行联系的地址
CIP:公网IP,客户端使用的IP。
LVS-NAT:------扩展的DNAT
1.所有的real server和Director要在同一网段
2.通常情况下RIP是私有地址,仅用于集群节点之间进行通信
3.Director同时处理入站和出站请求
4.Real server的网关要指向DIP
5.可以实现端口映射(请求端口和提供服务的端口可以不一致)
6.Real server可以是任意的操作系统
7.Director很容易成为系统性能的瓶颈
数据包地址转换过程:
S:CIP D:VIP------->Director------>S:CIP D:RIP------>Real Server------>S:RIP D:CIP----->Director----->S:VIP D:CIP
LVS-DR:用户的请求经过Director,然后real server直接响应给客户端任何real server网关不能执行Drector
1.集群节点必须在同一个物理网络中,基于MAC转发
2.RIP可以使用公网地址
3.Director仅处理入站请求,响应的数据包不在经过Director
4.Real server的网关不能指向Director
5.不支持端口映射
6.大多数的操作系统都可以用于real server(隔离ARP广播,同一块网卡上支持多个IP)
7.Director的性能表现远远优于NAT
数据包地址转换过程:
S:CIP D:VIP----->Director--->S:CIP D:RIP -----> Real Server---> S:VIP D:CIP
LVS-TUN:用户的请求经过Director,然后real server直接响应给客户端
1.Real server和Director不需要在一个物理网段中
2.RIP一定不能是私有地址
3.Director仅处理入站请求
4.Real server的网关不能指向Director
5.不支持端口映射
6.仅有支持IP隧道的操作系统才能用于real server
与DR的网络结构一样,但Director和Real Server可以在不同的网络当中,DIP----->VIP 基于隧道来传输,在数据包外层额外封装了S:DIP D :RIP 的地址。
四、LVS的调度算法:
1.静态调度算法:
RR:Round-robin:轮循
WRR:Weighted round-robin:加权轮循-----按照性能分配,为其计算出权重
DH:Destination hashing:目标地址hashing-----将某个固定IP的请求转发给一个相同的real server,用于具有缓存服务器的
SH:Source hashing:源地址hashing
2.动态调度算法:根据分发算法和real server的负载状态设置出调度决策,Director对每一个连接进行追踪监控是否处于活动状态(ESTABLESHED)
LC:Least connection:最少连接-----监控每一个real server当前处于活动状态连接和非活动状态连接数,然后计算出其当前负载:active*256+inactive=overhead
WLC:Weighted least connection:加权最少连接------overhead/weight,考虑到real serverd的性能,默认集群算法
SED:Shortest Expected Delay:最短的期望的延迟----不考虑非活动状态的连接,算法:(active+1)*256/weight=overhead
NQ:Never Queue:永不排队-----没有连接时,直接转发
LBLC:Locality-Based Least-Connection:基于本地的最少连接,动态DH算法
LBLCR:Locality-Based Least-Connection with replication Scheduling:带复制的基于本地最少连接,缓存是共享的
五、ipvsadm
ipvsadm:1.定义集群服务,指定VIP,协议,端口、 2.向集群服务添加RS
用法:
ipvsadm -A|E -t|u VIP:PORT [-s scheduler] [-p [timeout]] [-M netmask]]
-A:定义新的集群服务
-E:修改已有的集群服务
-D:删除某集群服务
-s:指定调度算法,可选项:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq ,默认的调度算法是: wlc.
-C:清空
-R:等同ipvsadm-restore 恢复虚拟服务器规则
-S:等同ipvsadm-save 保存虚拟服务器规则,输出为-R 选项可读的格式
-L|l:列出当前已定义的集群服务和real server
--stats:显示统计信息 与-L同时使用
--rate:显示入站响应速率 与-L同时使用
-c:显示LVS 目前的连接 与-L同时使用
-n:不进行反向解析 与-L同时使用
-Z:清空计数器
-t --tcp-service service-address 说明虚拟服务器提供的是tcp 的服务
-u --udp-service service-address 说明虚拟服务器提供的是udp 的服务
-f --fwmark-service fwmark 说明是经过iptables 标记过的服务类型。
-p --persistent [timeout] 持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。
ipvsadm -a|e -t|u VIP:PORY -r RIP [-g|i|m] [-w weight]
-a:添加real server
-e:修改real server
-g:指定LVS 的工作模式为直接路由模式(也是LVS 默认的模式)
-i:指定LVS 的工作模式为隧道模式
-m:指定LVS 的工作模式为NAT 模式
-w:真实服务器的权值
ipvsadm -d -t|u service-address -r server-address 删除一条虚拟服务器记录中的某条真实服务器记录
负载均衡LVS集群详解的更多相关文章
- [link] 构建负载均衡服务器之一 负载均衡与集群详解
一.什么是负载均衡 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载, ...
- Linux系统(四)负载均衡LVS集群之NAT模式
序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...
- Linux系统(五)负载均衡LVS集群之DR模式
序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...
- Nginx/LVS/HAProxy 负载均衡软件的优缺点详解
Nginx/LVS/HAProxy 负载均衡软件的优缺点详解 Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验 ...
- 总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解
总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使 ...
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解【转】
转自 (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解http://www.ha97.com/5646.html PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均 ...
- (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解
Nginx/LVS/HAProxy负载均衡软件的优缺点详解 PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均 ...
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)
1.熟悉几个组件 1.1.apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...
- Apache配置反向代理、负载均衡和集群(mod_proxy方式)
Apache配置负载均衡和集群使用mod_jk的方式比较多,但是mod_jk已经停止更新,并且配置相对复杂.Apache2.2以后,提供了一种原生的方式配置负载均衡和集群,比mod_jk简单很多. 1 ...
随机推荐
- Image.FromFile 方法锁住文件解决方法
Image.FromFile 一旦使用后,对应的文件在一直调用 其生成的Image对象被Disponse前都不会被解除锁定,这就造成了一个问题,就是在这个图形被解锁前无法对图像进行操作(比如删除,修 ...
- Js对象转String的函数 和 JSON转String
js对象转string的函数 function obj2str(o){ var r = []; if(typeof o =="string") return "" ...
- MySQL · 性能优化· InnoDB buffer pool flush策略漫谈
MySQL · 性能优化· InnoDB buffer pool flush策略漫谈 背景 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页.buffer pool通常由数 ...
- Android 校验apk文件渠道号、包名、版本号
功能:可查看单个或目录下所有apk文件的渠道号.包名.版本号 下载地址:http://download.csdn.net/detail/zgz345/9248487使用:以查看包名.版本号为例 1.c ...
- XSS 前端防火墙(1):内联事件拦截
关于 XSS 怎样形成.如何注入.能做什么.如何防范,前人已有无数的探讨,这里就不再累述了.本文介绍的则是另一种预防思路. 几乎每篇谈论 XSS 的文章,结尾多少都会提到如何防止,然而大多万变不离其宗 ...
- 用ASP.Net写一个发送ICQ信息的程序
用ASP.Net写一个发送ICQ信息的程序 这里我给大家提供一个很实用的例子,就是在线发送ICQ信息.想一想我们在网页上直接给朋友发送ICQ信息,那是多么美妙的事情啊.呵呵,在吹牛啊,其实ICQ本来就 ...
- iOS学习笔记之回调(一)
什么是回调 看了好多关于回调的解释的资料,一开始总觉得这个概念理解起来有点困难,可能是因为自己很少遇到这种类型的调用吧.探索良久之后,才算有点启发,下面是自己的一点理解. 我们知道,在OSI网络七层模 ...
- 分段统计与Oracle的分析函数、逻辑判断等知识点的综合运用
重点部分:TOTAL层 项目要求: 统计每个巡检员(USER_ID)当前月的签到率及查询相关字段 签到率公式:以巡检员为单位, (当月至今天为止签到的所有点/该月巡检点的总个数)=(b.Point/a ...
- MySql 5.6 查询日志
记录所有查询的方法 打开My.ini 在 [mysqld]下面写 general_log= ON; log_output= TABLE; 然后保存重启mysql 最后在mysql库下 general_ ...
- Linux下如何进行FTP设置
一.Redhat/CentOS安装vsftp软件 1.更新yum源 首先需要更新系统的yum源,便捷工具下载地址:http://help.aliyun.com/manual?spm=0.0.0.0.z ...