浅谈HA集群。

本文深入探讨了高可用集群的概念、衡量标准及其实现原理,包括自动侦测、故障转移和恢复。重点阐述了集群的法定票数、资源粘性和位置约束在故障判断中的作用,以及故障回转的条件。此外,还介绍了常见的高可用集群工作模型,如Active/Passive和Active/Active,并讨论了资源隔离的重要性以及STONITH组件在防止脑裂现象中的角色。最后,提到了常用的高可用集群软件和共享存储解决方案。
摘要由CSDN通过智能技术生成

1、什么是高可用集群
高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件、硬件、人为造成的故障对业务的影响降低到最小程度。

2、高可用集群的衡量标准
要保证集群服务100%时间永远完全可用,几乎可以说是一件不可能完成的任务。比如,淘宝在这几年双十一刚开始的时候,一下子进来买东西的人很多,访问量大,都出现一些问题,如下单后却支付不了。所以说只能保证服务尽可能的可用,当然有些场景相信还是可能做到100%可用的。

通常用平均无故障时间(MTTF:mean time to failure)来度量系统的可靠性,用平均故障维修时间(MTTR:mean time to restoration)来度量系统的可维护性。于是可用性被定义为:HA=MTTF/(MTTF+MTTR)*100%。
在这里插入图片描述
3、高可用集群实现原理
高可用集群主要实现自动侦测(Auto-Detect)故障、自动切换/故障转移(FailOver)和自动恢复(FailBack)。

简单来说就是,用高可用集群软件实现故障检查和故障转移(故障/备份主机切换)的自动化,当然像负载均衡、DNS分发也可提供高可性。

3-1、自动侦测(Auto-Detect)/故障检查
自动侦测阶段由主机上的软件通过冗余侦测线,经由复杂的监听程序,逻辑判断,来相互侦测对方运行的情况。

常用的方法是:集群各节点间通过心跳信息判断节点是否出现故障。

3-1-1、问题是:当有节点(一个或多个)和另外节点互相接收不到对方心跳信息时,如何决定哪一部分节点是正常运行的,而哪一部分是出现故障需要隔离的呢(避免集群脑裂)?
这时候通过法定票数(quorum)决定,即当有节点故障时,节点间投票决定哪个节点是有问题的,票数大于半数为合法。

票数: 每个节点可以设置票数,即决定节点在集群内是否合法(正常)的权限值,这个是可以有多有少的,例如有些节点的性能较好或有其他优势,可以设置较多的票数。
法定票数(quorum): 当一个节点能和另一个节点保持心跳信息,该节点就获取得了另一个节点的票数,该节点获得的所有票数就是法定票数。
3-1-2、比较特殊的是只有两个节点的集群,或两边票数相等
这时候可以借助另外的参考节点:

ping node:两个节点的模式下,一旦其中一个节点发生故障,发生集群分隔以后,无法判定哪个节点不正常,但工作正常的节点一定是可以连到互联网,故正常的节点是可以跟前端路由通信,所以可以把前端路由当成第三个节点,如果可以ping通,那就说明自己是正常的,可以将对方隔离掉。
qdisk: RHCS不是使用ping节点来判断,而是使用一个共享存储的设备,节点按照心跳信息频率每隔一个信息频率时间就往磁盘里写一个数据位,如果设备每隔一个心跳时间间隔就更新一次数据位,就说明这个设备处于活动状态的,可以将对方隔离掉。
3-2、自动切换/故障转移(FailOver)
自动切换阶段某一主机如果确认对方故障,则正常主机除继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序及服务。

通俗地说,即当A无法为客户服务时,系统能够自动地切换,使B能够及时地顶上继续为客户提供服务,且客户感觉不到这个为他提供服务的对象已经更换。

通过上面判断节点故障后,将高可用集群资源(如VIP、httpd等,下面详见)从该不具备法定票数的集群节点转移到故障转移域(Failover Domain,可以接收故障资源转移的节点)。

3-2-1、高可用集群资源(HA Resource)和集群资源类型
集群资源是集群中使用的规则、服务和设备等,如VIP、httpd服务、STONITH设备等。类型如下:

Primitive:主资源,在某一时刻只能运行在某个节点上,如VIP。
group:组,资源容器,使得多个资源同时停/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值