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

[经验分享] lvs集群简介

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-12 08:19:59 | 显示全部楼层 |阅读模式
LVS集群:
   优点:
       开源免费,具有高可用性,高稳定性,高可靠性
       lvs的负载均衡集群具有很高的处理能力,real server组中的某台node节点出问题了,不会影响整个集群的正常工作;而且具有超高负荷的服务能力,可支持上百万个并发连接数


   缺点:
       在LB上容易出现单点故障,若只有一台LB机,虽然LB机的负载不是很高,但是一旦出现问题整个集群将无法再正常工作

   解决单点故障方法:
       对LB机做一个热备机(双机热备),正常情况下主LB机工作,当主LB机出现问题的时候由热备机接管,继续工作(备用LB机通过keepalived心跳监控主LB机的运行状态,当主LB机出现问题,备用LB机将接管主LB机的vip和服务继续工作)

   组成:
       前端LB负载均衡机,中端real server,底端共享存储数据设备


   LB负载均衡机:
       位于整个集群的最前端,LVS的核心模块IPVS就安装在LB机上,LB机类似于一个路由器,在上面有一个路由表,通过这个路由表把用户的请求通过某种算法交给选定的real server ,同时在LB机上还安装一个监控模块keepalived,此模块用来监控real server的健康状况,如果某台real server出现问题,则从集群中剔除,恢复正常后再加入集群

   负载均衡方法:
       基于DNS的,通过轮询解析域名的A记录来实现负载均衡
       基于ip的负载均衡技术  
       注意:lvs采用的是基于ip的负载均衡技术

   ip负载均衡技术:
       通过IPVS模块来实现的,IPVS模块安装在LB负载机上,在LB负载机上虚拟出一个ip,及vip,客户访问的时候就是访问的这个vip,然后再由负载调度器通过某种调度算法选择一台real server,把客户的请求交给选定的real server


   IPVS:
       是lvs集群系统的核心软件,主要用于当用户请求到达负载调度器后,如何将用户的请求分发给real server,及real server处理完请求后如何将数据返回给用户

   调度算法:
       轮询调度(rr):将用户的请求平等的交给每台real server,这样会有一个问题就是如果real server性能不一样,就会出现性能高的机器处理请求快处于空闲状态,性能低的机器处理请求慢处于忙碌的状态

       权重方式(wrr):根据real server性能的不同分配不同的权重,性能高的权重高,处理请求多;性能低的权重低,处理请求少
       最少连接数(lc):根据real server的连接数多少来分配请求,连接数少的优先去处理客户的请求,适用于每台real server性能相似的情况

   IPVS实现负载的方式:
       NAT(网络地址转换)
       DR(直接路由)
       TUN(隧道)


   NAT方式:
       当用户访问LB机上vip,请求到达负载调度器时,调度器会把目标ip和端口(即vip的地址和端口号)改写成选定的real server的ip和端口号,然后把请求交给选定的real server,real server处理完请求后把数据交给LB机,然后调度器再把real server的ip和端口改会vip的地址和端口,最后把数据交给用户;这种方式访问请求和返回数据都会经过LB机,所以LB机会有很大的压力,容易出现瓶颈


   DR方式:
       和NAT方式唯一的区别是real server返回数据时不再经过LB机,而是直接将数据返回给用户(因此不但在LB机上设置vip,而且在每台real server上也要配置vip,real server处理完用户的请求后直接将数据返回给用户,用户收到请求数据后发现来源ip(real server上的vip)是之前自己发送的那个数据请求的目的ip地址,便接受这个数据请求)


   realserver上的vip:
       绑定在lo接口上的:ifconfig lo:0 118.192.64.120 broadcast 118.192.64.120 netmask 255.255.255.255 up






总体描述:
   LB负载均衡集群:只有一个LB负载均衡机
   HA(High availability)的LB负载均衡集群:对LB机做双机热备

   LB负载均衡集群具有高可用性,高稳定性,高可靠性;实现集群负载的方式有三种:NAT(网络地址转换),DR(直接路由),TUN(隧道);最常用的是DR直接路由方式,当用户访问LB机的vip,请求到达负载调度器后,负载调度器通过某种调度算法选择一台real server,把客户的请求交给选定的real server,real server处理完请求后把数据直接返回给用户,不再经过LB机了,这就需要在real server上绑定vip,这个vip绑定在lo接口上,lo是一个回旋地址,只用来做本地的测试,不进行网络间的数据传输;我们需要在LB机上安装IPVS模块来实现负载均衡,用于当用户请求到达负载调度器后,如何将用户的请求分发给real server及real server处理完请求后如何将数据返回给用户;同时我们还需要在LB机上安装keepalived,如果某台real server出现问题,则从集群中剔除,恢复正常后再加入集群;这种情况下只有一台LB机,在LB上容易出现单点故障,若只有一台LB机,虽然LB机的负载不是很高,但是一旦出现问题整个集群将无法再正常工作,因此我们可以对LB机做一个双机热备,通过刚才安装的keepalived心跳监控主LB机的运行状态,当主LB机出现问题,备用LB机将接管主LB机的vip和服务继续工作,从而实现高可用性



运维网声明 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-66065-1-1.html 上篇帖子: lvs+keepalived配置高可用集群 下篇帖子: LVS、Nginx和HAProxy负载均衡区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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