设为首页 收藏本站
查看: 1115|回复: 0

[经验分享] lvs基础知识及lvs

[复制链接]

尚未签到

发表于 2019-1-4 14:19:28 | 显示全部楼层 |阅读模式
  lvs是什么?

  lvs即linux virtual server,是LB(load balance)集群调度器的一种实现方法,是一种layer4 router,它能够根据目标地址、端口及调度方法,做出转发至哪一个后端的决策。
  通常来讲,lvs由ipvs和ipvsadm两部分组成,ipvs工作于内核中,是lvs的核心组件,ipvsadm用于编、修改、保存规则。
  ipvs工作于内核中,查看某redhat系列的系统是否支持此功能的方法是查看内核的编译参数。

  如果没有ipvs相关的项目,则需要为内核打补丁,才能使该系统支持ipvs功能。redhat系列的系统上,2.6以上版本的内核,已经把此功能收录进去了。
  

  

  lvs中常用的术语
  Host:
  Director:调度器
  Real Server: RS,后端提供服务的主机
  IP:
  Client: CIP
  Director Virtual IP: VIP(VIP也即客户端访问服务器时所使用的IP)
  Directory IP: DIP
  Real Server IP: RIP
  

  调度方法
  lvs的调度方法一共有十种。
静态方法:
RR:round-robin,轮询,来自客户端的请求会平均的分配给后端的每一台RS。


WRR:weightedround-robin,加权轮询,每一个RS会被分配一个权重,权重越大,表示承载能力越强,Director会根据权重分配相应比例的请求给RS。

SH:Source iphashing,源地址哈希,来自某一ip的请求会被定向至某一台RS。
         某地址第一次访问时,director会把源地址抽取出来,并使用调度算法(RR或WRR)本身挑选RS,并把RS和源地址的对应关系记录下来(保存于director内部的哈希表中),之后客户端的访问会先根据哈希表挑选RS。
会话绑定:session stick,SH是实现会话绑定的一种方案。

DH:Destination iphashing,目标地址哈希。客户端访问某一固定URL时,director会选择某一固定的RS。


动态方法
LC:leastconnection
Overhead,当前RS的负载状态,数值小表示负载低。
overhead=Active*256+inactive
Director会分配请求给Overhead小的RS。

WLC:weightedleastconnection
overhead=(active*256+inactive)/weighted
没有显式指定调度方法时的默认调度方法。

SED:shortedexpection delay
Over=(Active+1)*256/weight
是对WLC的改进。

NQ:Neverqueue
每一个RS先分一个,之后的连接再根据SED算法进行调度

LBLC:local-Baseleast connection
可以理解为动态方式的DH,
尽量保证用户访问同一个地址的时候都定向至同一RS(跟缓存有关),当该RS压力过大时,会调度至其它的RS

LBLCR:replicatedLBLC
带复制的LBLC,当某一RS负载过大,请求被调度至其它RS时,跟Destination 相关的缓存同时也会被复制。

ipvsadm
   ipvsadm是ipvs的规则编写工具。管理集群服务,管理集群服务中的RS,查看ipvs规则,
   管理集群服务
   创建或修改
      ipvsadm -A|E -t|u|f service-address [-s scheduler]
      -t:对于tcp承载的某协议服务。
      -u:承载的应用层协议为基于UDP协议提供服务的协议。
      -f:f表示Fire wall之意,承载的应用层协议为基于TCP或UDP协议提供服务的协议,但此类报文会经由iptables/netfilter打标记,即为防火墙标记。主要用于把两个不同端口的服务定义为一个。
      -s:指明调度方法。
例如:ipvsadm -A -t 172.16.7.1:80 -s rr
      ipvsadm -E -t 172.16.7.1:80 -s wlc    删除:

     ipvsadm -D -t|u|f service-address
ipvsadm -D -t 172.16.7.1:80   管理集群服务中的RS

ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]
-r:指明RS,server-address格式一般为“IP[:PORT]”;注意,只支持端口映射的lvs类型中才应该显式定义此处端口
   [-g|i|m]:指明lvs类型
  -g:表示dr类型
  -i:表示tun类型
  -m:表示nat类型
  当此选项省略是表示使用dr类型
  -w:指明权重
ipvsadm -a -t 172.16.7.1:80 -r 192.168.7.2 -m -w 3删除集群服务中的某一主机
ipvsadm -d -t 172.16.7.1:80 -r 192.168.7.2   清空所有集群服务的定义
ipvsadm -C  保存集群服务及RS的相关定义
  ipvsadm -S > /etc/sysconfig/ipvsadm

  ipvsadm-save > /etc/sysconfig/ipvsadm
  service ipvsadm save
  ipvsadm的配置文件/etc/sysconfig/ipvsadm.conf中定义了ipvs的规则保存于/etc/sysconfig/ipvsadm中。
  恢复规则
  ipvsadm -R < /etc/sysconfig/ipvsadm

  ipvsadm-restore < /etc/sysconfig/ipvsadm
  service ipvsadm start
  

  查看规则
  ipvsadm -L|l [options]
  -c:列出当前所有connection
  ipvsadm -Ln -c
  
  --stats:列出统计数据
  --rate: cps每秒钟的连接数,InPPS,入栈的报文数,OutPPS,出栈的报文数
  
  -n:数字格式显示IP及端口
  

  ipvsadm -Z:清空计数器
  
  lvs的类型
  lvs-nat
  
  其中Director需要有两块网卡,VIP为公网地址,负责接收客户端发来的请求,DIP应该为私网地址,负责与RS通信,RIP1、RIP2、DIP应该在同一网段,RS1、RS2的网关需要指向DIP。
  当client向director的VIP发出请求时,director会根据调度法则将请求报文的目标IP地址修改为后端某一个RS的IP,报文经由director的另外一块网卡(DIP)传送给RS,RS接收并处理后,响应报文的源地址为RIP,目标地址为CIP,因为RS的网关指向DIP,报文会通过DIP传输给director,此时,director会修改报文的报文的源地址为VIP,然后响应给client
  连接并配置好主机后,在director这台主机执行
cat /proc/sys/net/ipv4/ip_forward  确认director主机已开启路由转发功能(可以通过编辑/etc/sysctl.conf文件来修改此参数)

ipvsadm -A -t 172.16.7.1:80 -s rr
ipvsadm -a -t 172.16.7.1:80 -r 192.168.7.3 -m -w 2
ipvsadm -a -t 172.16.7.1:80 -r 192.168.7.2 -m -w 1  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659376-1-1.html 上篇帖子: LVS 负载均衡群集—— NAT (地址转换)模式 下篇帖子: LVS集群的组成与特定
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表