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

[经验分享] 集群:(一)LVS

[复制链接]

尚未签到

发表于 2019-1-3 08:37:17 | 显示全部楼层 |阅读模式
集群(Cluster): 将多个计算机组合起来一起完成某个特定任务

     LB, load Balancing  负载均衡集群   
                         LVS 实现多台主机以特定方式组合起来 分摊大容量的并发请求压力  
     HA, Hig Avaliability  高可用性
                           时时在线  7*24小时在线 服务不中断  关键性的业务要求达到5个9 (99.999%)
                           高可用集群要求至少要有两台主机同时在线 ,在某一个时刻只有一台主机在工作,一旦这条主机宕机了 另外的主机马上顶替上来提供同样的服务运行 要保证时时在线可用性
     HP, High Performance 高性能集群 也叫科学计算集群
                                     解决需要用到大量复杂数据        如:天气监控
                                      人口的统计 科学勘探 绘制DNA基因图谱
   
计算机扩展方式
      scal on:向上扩展 用更好的计算机代替原有的性能叫差的计算机
           也能实现高可用性,设计冗余结果,但成本过高
      scal out:向外扩展 组合方式足够先进  全球前500强超级计算机其中有90%的计算机大多数是使用 接近于           废弃的PC机组合成的集群  照样能排名全球前500强超级计算机   只要组合方式足够先进               
      
  1.负载均衡
     主要目的是分摊负载
     要想具有负载均衡的能力 需要一个前端的负载器   //负载均衡调度器  
     能够实现将来源于客户端的请求负载到其他节点上去
     F5 : 硬件 实现负载均衡转发
     LVS: (Linux虚拟服务器) 负责分配  // 章文嵩开发的一个基于Linux的开源软件
     工作机制: 前端部署一个调度器 监控客户端发来的请求 当用户发来请求的时候 LVS 查找后台真正提供服务的服务器 而基于特定算法进行转发  
     基于至少10种算法进行转换  分别用于计算不用应用的轮转 请求调度   优化后基本达到硬件速度
     前端调度器 接收请求 转发到后台服务器节点
     缺点:单点故障  一个地方出错导致整个集群系统失效
     优点:
        1.也能可提供高可用性 不考虑单点故障 考虑后端提供的真正服务器 一但后台一台服务器出现了故障  请求的数据就会自动转向于另外的服务器  一个服务器宕机了 只要把请求转发到另外的服务器就0K 了
        2.负载均衡
        3.便于扩展
   
  2.高可用性集群
     提供至少两台主机 时时在线的能力 保证时时在线
     Source 资源  在个个节点之间流动(float)转移
     保证服务器时时在线但特定时间内只有一个节点在运行  
     后台节点之间 探测
     
   解决共享方案:
     NFS  共享存储 效率低  文件级
          文件同步  
          rsync 检测双方节点上是否发生改变 检查文件是否同步  
          rsync Server 服务器监控 是否发生改变
     DRBD  在内核中基于块实现
     SAN   专业级别的共享存储:输出的是块级别的共享
     
     如何实现双方不抢用共享存储
     A .B 节点通过心跳探测 主动向别的节点通告
     
   3.高性能集群: 云计算  (分布式文件系统)
     也需要前端的转发节点 前端主机可以实现把一个复杂的运算任务 解剖成N个小任务  然后每一个节点分别计算每一个小任务 每一个节点把小任务完成以后 在把计算的结果返回给转发节点  转发节点在整合所有的结果
     框架bowerfull  Hadoop(java实现)
     
    各种开源集群常见的解决方案:
    LB:
       lvs
       haproxy   
    HA:
       heartbeat
       corosync+openais: RHCS 红帽集群套件    // 可靠性 可部署性优于heartbeat
       ultramokey
       keepalive
      
    HP: boweerful
   
    Linux解决问题的思路:
      
      集合一个个小软件 组合起来实现强大的功能 个个组件套件存在   
   
  -------------------------------------------------------------------------------------
     LVS : 开源软件
       lvs 接受用户发来的请求 本身并不响应请求 把接受到的请求转发到后台真正的服务器
       LVS只需要装在调度节点上
       direcor 调度器 叫做四层交换机 默认情况下 判断用户请求端口是那种服务于是
       把用户请求的信息转发到后台真正提供服务的节点上去  转发机制在四层实现 客户端上几乎是透明的
      
       真正提供服务的节点叫做 realservers  
           
      
     术语:LVS (linux virtual server) 常见缩写地址:
     
      VIP: Vitual IP address  并不提供真正的服务 把请求转发到后台上
      RIP: real IP address    真正提供服务的地址
      DIP: Director's IP      调度器 转发请求
      CIP: Client computer's IP   客户端地址
      
     LVS工作模式:
       特点: 高吞吐性 高并发 , 冗余 ,适应性(扩展服务器,缩减服务器)
       1.NAT        LVS-NAT
         集群节点必须在同一个网络中  DIP 和 RIP 不能跨越网络
         RIP 通常是私有地址
         调度器要处理所有进出的请求 压力较大
         可以做端口转发
      
       2.直接路由   LVS-DR     出去的请求直接发送至客户端
         进来的请求经过Director  出去的请求不经过Drector
          LVS-DR 基本 properties  
          必须在同一个物理网络
          RIP 可以使用公网地址
          仅处理请求 不处理响应
          集群节点的网关不能指向DIP
          不支持端口转换
          绝大多数操作系统都支持RealServer
         
          基于二层转发实现  响应速度比NAT 速度快N倍以上  应用于小型网络            
      
       3.隧道 LVS-TUN
         经过修改过的DR 模型可以跨越网段转发
         
         1.不需要在同一个网段
         2.RIP 必须要使用公网地址
         3.调度器只需要处理进来的请求
         4.
         5.不能做端口映射
         6.只能使用支持IP隧道的 REAL server
         
       LVS Scheduling Methods
        静态调度
          RR : 轮调
          WRR:  加权轮调  按比例轮调   
          DH 目标地址散列 目标地址的请求做固定地址转发  
                          将同一个目标的请求转发到一个目标上
          SH 源地址散列:  实现来自于同一个用户的请求 转发到同一个 路由器或者 防火墙上
                          实现平均内网负载 特定防火墙
                          
        静态算法不考虑当前状态的情况
        
        活动状态一直处于 ; ESTABLISHED 状态
        
        优先级 : 活动连接*256+分活动连接
        
        LC :least-connection 最少连接算法
             连接数最少的会接受下一个连接请求 谁最小 谁胜出 接受下一次请求
             同时考虑连接和非连接
             缺陷不能区分服务器响应能力
            
        WLC: 加权最少连接数      // 最好的算法         
            
        SED: shortest expected delay  最短期望延迟  对WLC 的简单改进
      
        NQ :不用排队 不用考虑非活动连接状态
        
        LBLC: 基于本地算法    基于DH算法  动态算法 考虑后台连接数
        
        LBLCR: 基于本地的最少连接数  对整个负载均衡上的真正负载均衡




运维网声明 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.iyunv.com/thread-658812-1-1.html 上篇帖子: 关于LVS的ARP问题 下篇帖子: Lvs 集群简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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