一:什么是高可用集群
高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的得服务器集群技术。它通过保护用户得业务程序对外部间断提供的服务,把因为软件,硬件,认为造成的故障对业务得影响降低到最小程度。总而言之就是保证公司业务7*24小时不宕机
二:高可用集群的衡量标准
通常用平均无故障时间(MTTF:mean time to failure)来衡量系统的可靠性,用平均故障维修时间(MTTR:Mean Time Between Failures)来度量系统得可维护性。于是可用性被定义为: HA=MTTF/(MTTF+MTTR)*100%。
基本可用性 2个9 99% 年度宕机时间:87.6小时
较高可用性 3个9 99.9% 年度宕机时间:8.8小时
具有故障自动恢复 4个9 99.99% 年度宕机时间:53分钟
极高可用性 5个9 99.999% 年度宕机时间:5分钟
三:高可用集群实现原理
高可用集群主要是实现自动侦测(Auto-Detect)故障、自动切换/故障转移(FailOver)和 自动恢复(FailBack)。
1:自动侦测、故障检测:通过集群各节点间心跳信息判断心跳信息判断节点是否出现故障
2:当有节点(一个或多个)和另外节点互相接收不到对方心跳信息时,如何决定哪一部分接点是否正常运行得,而哪一部分是出现故障需要隔离得呢?
这时候通过法定票数(quorum)决定,即当有节点故障时,节点间投票决定哪个节点是有问题得票数大于半数为合法,每个节点可以设置其票数,当一个节点能和另一个节点保持心跳信息,该节点就获取得了另一个节点得票数,该节点获得就是正常节点,反之为故障节点
有四类资源代理:(安装crmsh后,可以使用ra classes查看)
1、Legacy heartbeat(heatbeat v1版本的资源管理);
2、LSB(Linux Standard Base),主要是/etc/init.d/*目录下的脚本
3、OCF(Open Cluster Famework),比LSB更专业,更加通用,除了上面的四种操作,还包含monitor、validate-all等集群操作,OCF 的规范在http://www.opencf.org/cgi-bin/viewcvs.cgi/specs/ra/resource-agent-api.txt?rev=HEAD。
4、STONITH:实现节点隔离