高端响应式模板免费下载

响应式网页设计、开放源代码、永久使用、不限域名、不限使用次数

服务器集群技术故障转移原理

body{ line-height:200%; } 服务器集群技术故障转移原理 在明确了以上设计服务器集群之前需要考虑的事项后,再来了解服务器集群故障转移的原理。在整个故障转移过程中主要涉及以下几个方面。 1.检测故障 在充分考虑了以上影响因素后,还必须设计一套故障检测方案。要让备用服务器变成活动服务器,必须设法确定活动服务器是否不再正常工作。 注意:故障转移集群就是前面介绍的不对称集群结构。在这一模式中,同一应用程序组只能有一台服务器是活动的,其他服务器处于备用状态,被称为“备用服务器”。 通常,系统使用下列某个常规类型的心跳机制来做到这一点。 发送信号。对于发送信号,活动服务器以定义好的时间间隔将指定信号发送到备用服务器。如果备用服务器在某个时间间隔内未收到信号,则确定活动服务器发生了故障并担任活动角色。例如,活动服务器每隔30s将状态消息发送到备用服务器,如果设定的备用服务器注意到在90s(3个时间间隔)内未收到任何状态消息,那么它会接管活动服务器的工作。 接收信号。对于接收信号,备用服务器向活动服务器发送请求。如果活动服务器没有响应,则备用服务器按特定次数重复发送此请求。如果活动服务器仍然没有响应,则备用服务器接管活动服务器的工作。例如,备用服务器可能每隔一分钟Get Customer Details请求3次,但未收到响应,此时,备用服务器接管活动服务器的工作。 集群可以使用多个级别的信号。例如,集群可以在服务器级别使用发送信号,并在应用程序级别使用一组接收信号。在此配置中,每当活动服务器启动并连接到网络时它都将心跳消息发送到备用服务器。这些心跳消息是按比较频繁的时间间隔发送的,而备用服务器可能通过编程设置为仅当未收到两个心跳消息,就接管活动服务器的工作。也就是说,在活动服务器发生故障后不超过10s的时间内,备用服务器将检测到这一故障并启动备用进程。 以上发送和接收信号是通过专用通信通道发送的以使网络拥塞和一般网络问题不会导致假的故障转移。此时,备用服务器可能将查询消息发送到运行在活动服务器上的一个或多个关键应用程序,并在指定的时间间隔内等待响应。如果备用服务器收到正确的响应,则它不采用任何进一步的行动。为了将对活动服务器性能的影响减少到最小,应用程序级别的查询通常要经过比较长的时段,如每隔一分钟或更长。备用服务器可能通过编程设置为:一直等到至少已经发送5次请求但未收到响应,然后才接管活动服务器的工作。这意味着,可能在长达5min之后,备用服务器才会启动故障转移进程。所以,集群故障转移也是有一个小时间隔的,并不能保证无缝接管。 2.同步状态 在集群服务系统中,在正式接管活动服务器的工作前,首先要将备用服务器的状态与发生故障的服务器的状态进行同步,然后才能开始处理事务。主要有3种不同的同步方法。 (1)事务日志 在事务日志方法中,活动服务器将对其状态的所有更改记录到日志中。同步实用工具定期处理日志,以更新备用服务器的状态,使其与活动服务器的状态一致。当活动服务器发生故障时,备用服务器必须使用此同步实用工具处理自上次更新以来事务日志中的任何添加内容。同步之后,备用服务器就称为活动服务器,并开始处理事务。这种同步方式所需的切换时间较长,服务器应用要停顿的时间也较长。 (2)热备用 在热备用方法中,将把活动服务器内部状态的更新立即复制到备用服务器。因为备用服务器的状态是活动服务器状态的克隆,所以备用服务器可以立即成为活动服务器,并开始处理事务。很明显,这种同步方式所需的切换时间较短,可用性较高。 (3)共享存储 在共享存储方法中,两台服务器都在共享存储设备上记录其状态。这样,因为不需要进行状态同步,故障转移可以立即发生。这种同步方式所需的切换时间也较短。可用性也较高。 3.确定活动服务器 对于指定的一组应用程序,只存在一台活动服务器,这是极其重要的。如果多台服务器都像是活动服务器,则通常会导致数据损坏和死锁。解决此问题的常见方法是使用“活动令牌”概念的某个变体。令牌在其最简单级别上是一个标志,用来将服务器标识为某个应用程序的活动服务器。对于每组应用程序来说,只存在一个活动令牌,因此,只有一台服务器可以拥有令牌。当服务器启动时,它会验证其合作伙伴是否拥有活动令牌。如果拥有,则该服务器将作为备用服务器启动。如果它未检测到活动令牌,则它会取得令牌的所有权,并作为活动服务器启动。当备用服务器成为活动服务器时,故障转移进程将把活动令牌交给备用服务器。 在大多数情况下,当备用服务器成为活动服务器时,对于它正在支持的应用程序或用户来说它是透明的。如果在事务处理过程中发生了故障,则可能必须重试该事务以使其成功完成。这就使在编写应用程序代码时使故障转移进程保持透明明显得更为重要。 此外,大多数服务器使用IP地址进行通信。因此,为了使故障转移成功,基础结构必须能够支持将IP地址从一台服务器转移到另一台服务器。比如,可以使用能够支持IP地址转移的网络交换机。如果系统的基础结构不支持这一转移功能,则可能需要使用负载均衡集群,而不是故障转移集群。 4.扩展故障转移集群服务器 故障转移集群中的可伸缩性通常是通过扩展集群内的单个服务器,或向其中添加更多功能来实现的,所以这种集群系统的可伸缩能力非常有限。 注意:在这一点上,了解以下两个方面是非常重要的:(1)故障转移集群必须设计为可处理预期负载,各个服务器的大小应当能够适应CPU、内存和磁盘使用的预期增长。(2)Failover Cluster(故障转移集群)服务器通常是高端多处理器服务器,并且他们被配置为使用多个冗余子系统来获得高可用性。如果解决方案的资源要求超过了集群服务器的限制条件,则扩展集群将是极其困难的。 推荐阅读:服务器集群故障转移解决方案考虑因素

猜你喜欢