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

[经验分享] LVS 之 集群概念介绍

[复制链接]

尚未签到

发表于 2019-1-4 09:53:51 | 显示全部楼层 |阅读模式
  1  概述
  备注:本文主要结合自己的学习笔记,以及参考博客 集群(cluster)原理(转)整理而成。
  集群(cluster)就是一组计算机,他们作为整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意的增加和删除集群系统的节点。
  2  Linux Cluster类型
  a)高可用性(High Availability)集群
  HA集群致力于提供高度可靠的服务,避免SPOF单点失败(single Point Of failure)的问题。就是利用集群系统的容错性对外提供7*24小时不间断的服务,如高可用的文件服务器、数据库服务等关键应用。
  b)负载均衡(Load Balancing)集群:
  使任务可以在集群中尽可能平均的分摊不同计算机处理,充分利用集群的处理能力,提高对任务的处理效率。在实际应用中这几种集群类型可能混合使用,以提供更高稳定的服务,如在一个使用网络流量负载均衡的集群中,就会包含高可用的网络文件系统、高可用的网络服务。
  其中负载均衡服务器的高可用性是指为了屏蔽负载均衡服务器失效,需要建立一个备份机。主服务器和备份机上都运行High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器IP并继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,他就释放IP地址,这样的主管理器就开开始再次进行集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步和备份,保持两者系统的基本一致。
  .LB Cluster分类
  四层:lvs,nginx(stream),haproxy(modetcp)
  七层:基于http,如nginx(http),haproxy(mode http), httpd(apache)...
  c)性能计算(High Perfervidmance  Computing)集群
  HPC集群,也称为计算集群。在这种集群运行的是专门开发的并行应用程序,它可以把一个问题的数据分不到多台计算机上,利用这些计算机的共同资源来完成任务,从而可以解决单机不能胜任的工作(如果问题规模太大,单机计算速度太慢)。
  这类集群致力于提供了单个计算机所不能提供的强大的计算能力。如天气预报、石油勘探与油藏模拟、分子模拟、生物计算等。
  
  3  集群的优点
  a)高扩展性
  b)高可用性HA:集群中的一个节点失效,它的任务可传递给其他节点。可以防止单点失效
  c)高性能:负载平衡集群允许系统同时接入更多的用户
  d)高性能价比:可以采用廉价的复合工业标准的硬件来构造高性能的系统
  
  4 集群分类
  4.1 基于软硬件分类
  .硬件:
  F5 Big-IP
  Citrix Netscaler
  A10 A10
  .软件:
  lvs:LinuxVirtual Server,不能识别应用层数据
  nginx:支持四层调度,也可以支持7层调度
  haproxy:支持四层调度,也支持7层调度
  应用层的调度器,需要对发过来的请求进行解开数据包,然后再封装。有一个问题是,socket一台机器上只能是65536个,并发请求太多,主机将不能正常提供请求。解决方案是把后台服务拆分开,对服务进行分类。把不同的服务拆开,独立提供服务
  ats:apachetraffic server,yahoo捐助
  perlbal:Perl 编写
  pound
  4.2  基于工作的协议层次划分:
  .传输层(通用):DPORT
  LVS:
  nginx:stream机制
  haproxy:mode tcp机制
  实际工作中,生产环境用 nginx  和    haproxy进行调度
  .应用层(专用):针对特定协议,自定义的请求模型分类
  proxy server:
  http:nginx,httpd, haproxy(mode http), ...
  fastcgi:nginx,httpd, ...
  mysql:mysql-proxy,...
  5  集群相关概念介绍
  5.1  HA概念介绍
  计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常采用平均无故障时间(MTBF:MeanTime Between Failure)来度量系统的可靠性,用平均恢复时间(MTTR:MeanTime To Restoration(repair))来度量系统的可维护性。于是可用性定义为:A=MTTF/(MTBF+MTTR)*100%。   可用性百分比范围是(0,1),如99%,99.5%, 99.9%, 99.99%, 99.999%, 99.9999%。其中99.999%表示一年内允许5分钟的故障时间
  系统故障:
  硬件故障:设计缺陷、wear out(损耗)、自然灾害……
  软件故障:设计缺陷
  5.1.1  HA的容错备援运作过程
  自动侦测(Auto-Detect)阶段 由主机上的软件通过冗余侦测线,经由复杂的侦听程序。逻辑判断,互相侦测对方运行情况,所检查的项目有:主机硬件(CPU和周边)、主机网络、主机操作系统、数据引擎以及其他应用程序、主机与磁盘阵列连线。为确保侦测的正确性,而防止错我的判断,可设定安全侦测时间、包括侦测时间间隔、侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供维护参考。
  自动切换(Auto-Switch)阶段 某一主机如果确认对方故障,则正常主机继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序以及服务。
  自动恢复(Auto-Recovery)阶段  在正常主机代替故障机工作后,故障机可离线进行修复工作。在故障主机修复后,通过冗余通讯线与原来主机连线,自动切换回修复完成的主机上。整个回复过程完成有EDI-HA自动完成,亦可依靠预先配置,选择回复动作为半自动或不回复。
  5.1.2 HA三种工作方式
  a) 主从方式(非对称方式)
  工作原理:主机工作,备机处于监控状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。
  b) 双机双工方式(互备互援)
  工作原理:两台主机同时运行各自的服务工作且互相检测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。
  c) 集群工作方式(多服务器互备方式)
  工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。
  5.1.4  HA集群实现方案
  keepalived: vrrp协议,和lvs配合使用。keepalive实现高可用,lvs实现调度。
  ais:应用接口规范
  heartbeat
  cman+rgmanager(RHCS)
  coresync_pacemaker
  5.2  会话保持:负载均衡(LB)
  (1) session sticky:同一用户调度固定服务器
  Source IP:LVS sh算法(对某一特定服务而言)
  注意,基于源地址调度不太靠谱,因为可能IP经过NAT转换,该源IP后端可能有很多机器发起请求,如果将这些请求都集中调度到
  同一台机器,可能会会后端该服务器造成较大的负担
  Cookie:服务器分发给客户端的
  cookie用来表示客户端的身份的。早期用重cookie,包含了所有的信息。
  后来用轻cookie,主要有session的id.session是在服务器端的。
  根据cookie的信息来决定分发给哪台机器上。cookie属于应用层的数据。因此要使用应用层的调度器,如Ngnix或haproxy
  (2) session replication:每台服务器拥有全部session,如session multicastcluster
  (3) session server:专门的session服务器,如Memcached,Redis
  6  高可用的实现
  有如下6种方法实现高可用
  1)共享存储(shared storage)
  NAS:网络附属存储(NetworkAttached Storage),文件共享服务器
  SAN:存储区域网络,(Storage Area Network),块级别的共享
  2)网络分区  (Networkpartition)
  有以下两个方式:
  a) 法定人数(quorum):
  with quorum:> total/2
  without quorum:

运维网声明 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-659200-1-1.html 上篇帖子: 负载均衡集群介绍,LVS介绍,LVS的调度算法,LVS的NAT模式搭建 下篇帖子: LVS Tunnel安装笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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