(一)高可用性的定义
计算机系统的可维护性用平均维修时间(MTTR)来度量,即系统发生故障后维修和重新修复正常运行平均花费的时间。可靠性理论中一般采用RAS来定义系统环境健壮与完善性。RAS即可靠性(Reliability)、可用性(Availability)和可维护性(Serviceability)。可靠性通常是根据系统平均故障间隔时间(Mean Time To Failuer,MTTF)(平均两次相邻故障之间的正常运行时间)来衡量的。可维护性衡量的是对系统或部件所提供的维护服务的时间,包括计划内的维护和不可预知的服务。通常用平均修复时间(Mean Time To Repair,MTTR)来衡量可服务性,即从系统中断到恢复正常运行的平均时间。
(二)现有高可用性集群系统工作方式
高可用性集群中,同时运行着多个计算、服务节点。这些节点可能是某个计算设备,也可能是某个软件服务。在集群中的每个功能主节点都会被定义多份备用的辅助节点。当集群系统中的提供应用服务的主节点发生故障或失效时,辅助节点马上接替主节点工作,为用户进行服务。这种集群节点的冗余保障了集群高可用性的实现。在集群技术中,用户提交请求的对象是集群,并不需要感知集群内部的控制策略。这种服务的透明性简化了用户的应用操作,而集群内部的冗余和控制逻辑保障了集群服务的高可用性。
下面是实现高可用性集群系统的三种工作方式。
1.主备方式(activestandby)
主备方式,即是双机热备份的工作方式。本书的研究采取此种方式。它的工作原理可概述为:正常工作时,主机保持工作状态,备援机则处于监控预备状态,一旦主机发生故障失效,备援机立即接管主机的所有工作,直到主机恢复,原主机才能重新获得集群管理权限。
2.双机双工方式(dualactive)
双机双工方式的工作原理为:两台具有相同功能的主机同时处于运行状态,独立处于各自的任务并相互监控对方的状态,一旦发现对方异常中断,另一台主机将立即接管其所有任务。
3.集群式的多机工作方式(cluster)
集群方式的工作原理类似于双机双工方式,不同的是,在集群方式下,是多台主机共同工作,各自完成系统的某一部分任务,并运行相应的服务,为每个服务定义备用主机,一个主机发生故障,其上运行的服务将被转到其备份机上继续进行。
(三)高可用性集群设计侧重点(www.xing528.com)
高可用性集群是指以减少集群服务异常中断时间为目的的集群技术,它要保证集群系统对外提供服务的不间断性,以此降低系统软硬件故障所带来的损失。基于这个目的,在设计集群系统时应着重考虑如下几个方面。
1.冗余备份
对于高可用性集群系统而言,当节点出现故障之后,要保证服务器能够正常运行下去,就应该在系统中准备一个备份节点随时接管失效节点的服务。因此,为每个管理节点准备备份数据、记录工作状态是必需的。即便这会造成数据的冗余,但只有这样,才能保证系统发生故障后仍能对外正常提供服务。
2.错误检测
系统的故障检测一般是通过类似于软件监视器的方式来完成的,即通过使用监控进程来检测系统的运行状态。常用的方法有两种。
第一种,主备节点之间相互发送心跳(heartbeat)信息来查看对方进程和节点的活动状态。每隔一定的时间,主备节点上的监控进程会给对方发送一个消息(心跳信息),通知对方自己的状态。一旦某个节点在规定时间内没有收到对方进程发出的心跳信息,该节点将被认为发生了故障,并应及时采取相应的措施。这种方法有两个重要的参数,即心跳间隔(心跳信息发送的时间间隔)和最长心跳间隔(注意:心跳信息的中断可能是由于主机的重启等非异常情况所引起的,故应根据实际情况设置一个最长时间间隔,避免发生不必要的故障转移)。
第二种方法是问答式检测方法,它与第一种方法的不同之处在于其不但要求主备节点上的监控进程主动询问对方的状态,同时还要求对方有回复消息。如若在规定时间内未收到回复消息,也将视为故障已经发生。
相比较而言,心跳检测机制要优于问询检测的方法:一是因为心跳检测机制发送的消息量要少一些,减轻系统开销;二是心跳检测的消息类型单一,在统计和判断时间记录时更为方便。
3.系统恢复
当检测到系统故障时,系统会运用一系列措施改善这种状况,要么屏蔽故障,要么故障恢复,这可根据具体应用采取具体的 方案。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。