首页 > 其他 > 详细

lvs基础

时间:2016-01-04 00:11:54      阅读:288      评论:0      收藏:0      [点我收藏+]

集群基础知识:

当服务器性能不足以支撑我们当前的服务的时候,此时则需要对服务器性能做提升;通常有两种方法:

纵向扩展(垂直扩展):大概意思就是换好的CPU,大的内存,总之一句话换贵的服务器,性价比非常不高;

横向扩展(向外扩展):即是将N台性能一般的服务器组合起来成为服务器集群,提升性能,性价比高;

 

集群的分类:

负载均衡集群:Load Balancing

高可用集群:High Availability

高性能集群:High Performance

 

 

可扩展性”、“高可用性”、“性能”名词解释:

性能:响应时间;

容量:在保证可接受性能的情况下能够达到的吞吐量;

最大吞吐量:基准性能测试时得出的数据指标;系统容量的极限;

可扩展性:表明了需要增加资源以完成更多的工作任务时能够获得的划算地等同提升;

 

LVSLinux Virtual Server

 

基本信息:作者为章文嵩,现供职于阿里巴巴,lvs也是中国人做出的最著名的开源软件之一;(linux2.4/2.6内核自带lvs

lvs组成部分:ipvs, ipvsadm

ipvs:工作于netfilterINPUT链;真正实现调度功能;

ipvsadm:用于在ipvs上定义集群服务,以及对应可用的后端主机,以及调度算法;

支持的协议:TCP, UDP, SCTP, AH, ESP, AH_ESP

 

lvs中的常用术语:

Host:

Director:调度器

Real Server: RS,后端提供服务的主机

IP

Client:CIP

DirectorVirtual IP: VIP

DirectoryIP: DIP

RealIP: RIP

 

lvs的类型:

 

lvs-nat:类似于DNAT,但支持多目标转发;

基本原理:它通过修改请求报文的目标地址;为根据调度算法所挑选出的某RSRIP来进行转发

    技术分享

架构特性:

(1) RS应该使用私有地址,即RIP应该为私有地址;各RS的网关必须指向DIP

(2) 请求和响应报文都经由Director转发;高负载场景中,Director易于成为系统瓶颈;

(3) 支持端口映射;

(4) RS可以使用任意类型的OS;

(5) RSRIP必须与DirectorDIP在同一网络;

 

lvs-dr:直接路由

基本原理:Director在实现转发时不修改请求的IP首部,而是通过直接封装MAC首部完成转发;目标MACDirector根据调度方法挑选出某RSMAC地址;拓扑结构有别NAT类型;技术分享

架构特性:

(1) 保证前端路由器将目标地址为VIP的请求报文通过ARP地址解析后送往Director

解决方案:

静态绑定:在前端路由直接将VIP对应的目标MAC静态配置为DirectorMAC地址;

arptables:在各RS上,通过arptables规则拒绝其响应对VIPARP广播请求;

内核参数:在RS上修改内核参数,并结合地址的配置方式实现拒绝响应对VIPARP广播请求;

(2) RSRIP可以使用私有地址;但也可以使用公网地址,此时可通过互联网上的主机直接对此RS发起管理操作;

(3) 请求报文必须经由Director调度,但响应报文必须不能经由Director;

(4) RIP必须与DIP在同一个物理网络中;(因为需要通过交换机转发)

(5) 不支持端口映射;

(6) RS可以使用大多数的OS

(7) RS的网关一定不能指向Director

 

lvs-tun: 隧道型

基本原理:不修改请求报文IP首部,而是通过IP隧道机制在原有的IP报文之外再封装IP首部,经由互联网把请求报文交给选定的RS

技术分享

架构特性:

(1) RIP, DIP, VIP都是公网地址;

(2) RS的网关不能,也不可能指向DIP;

(3) 请求报文由Director分发,但响应报文直接由RS响应给Client

(4) 不支持端口映射;

(5) RSOS必须得支持IP隧道;

 

lvs-fullnat:不是原生lvs的功能,是阿里巴巴后来增加的;

基本原理:通过请求报文的源地址为DIP,目标为RIP来实现转发;对于响应报文而言,修改源地址为VIP,目标地址为CIP来实现转发;

技术分享

架构特性:

(1) RIP,DIP可以使用私有地址;

(2) RIPDIP可以不在同一个网络中,且RIP的网关未必需要指向DIP

(3) 支持端口映射;

(4) RSOS可以使用任意类型;

(5) 请求报文经由Director,响应报文经由Director

 

lvs的调度算法(scheduler):

 

静态方法:仅根据算法本身实现调度;

RR: round-robin, 轮询;轮叫、轮调、轮流;

WRRweighted round-robin, 加权轮询;

SHSource ip Hashing,源地址哈希;把来自同一个地址请求,统统定向至此前选定的RS;

DHDestination ip Hashing, 目标地址哈希;把访问同一个目标地址的请求,统统定向至此前选定的某RS

 

动态方法:根据算法及后端RS当前的负载状况实现调度overhead较小的响应请求)

LC: least connection

Overhead=Active*256+Inactive

WLC: weighted least connection(默认算法)

Overhead=(Active*256+Inactive)/weight

SEDShorted Expection Delay

Overhead=(Active+1)*256/weight

NQNever Queue

LBLCLocal-Based Least Connection,动态方式的DH算法;

LBLCRReplicated LBLC

 

ipvsadm命令的用法:

 

管理集群服务:创建、修改、删除

管理集群服务的RS:添加、修改、移除

 

管理集群服务:

创建或修改:

ipvsadm -A|E -t|u|f service-address [-s scheduler]

 

-A: 添加

-E:修改

-t: 承载的应用层协议为基于TCP协议提供服务的协议;其service-address的格式为“VIP:PORT”,如“172.16.100.6:80”

-u: 承载的应用层协议为基于UDP协议提供服务的协议;其service-address的格式为“VIP:PORT”,如“172.16.100.6:53”

-f:承载的应用层协议为基于TCPUDP协议提供服务的协议,但此类报文会经由iptables/netfilter打标记,即为防火墙标记;其service-address的格式为“FWM”,例如“10”

-s scheduler: 指明调度方法;默认为wlc

 

删除:

ipvsadm -D -t|u|f service-address

 

管理集群服务上的RS

添加或修改:

ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]

 

-r server-address: 指明RSserver-address格式一般为“IP[:PORT]”;注意,只有支持端口映射的lvs类型中才应该显式定义此处端口

例如:-r 192.168.10.7:80

[-g|i|m]: 指明lvs类型

-g: gateway, 意为dr类型;

-i: ipip, 意为tun类型;

-m: masquerade, 意为nat类型;

[-w weight]:当前RS的权重;

注意:仅对于支持加权调度的scheduler,权重才有意义;

 

删除:

ipvsadm -d -t|u|f service-address -r server-address

 

清空所有集群服务的定义:

ipvsadm -C

 

保存集群服务及RS的定义:

ipvsadm -S > /etc/sysconfig/ipvsadm

ipvsadm-save > /etc/sysconfig/ipvsadm

service ipvsadm save

恢复集群服务及RS的定义:

ipvsadm -R < /etc/sysconfig/ipvsadm

ipvsadm-restore < /etc/sysconfig/ipvsadm

service ipvsadm restart

 

查看规则:

ipvsadm -L|l [options]

-c: 列出当前所有connection

--stats: 列出统计数据

--rate: 列出速率

-n, --numeric: 数字格式显示IP及端口;

--exact: 精确值;

 

清空计数器:

ipvsadm -Z [-t|u|f service-address]





本文出自 “运维” 博客,请务必保留此出处http://laoliao.blog.51cto.com/10027070/1731112

lvs基础

原文:http://laoliao.blog.51cto.com/10027070/1731112

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!