服务器集群的故障转移方案

广告也精彩

设计集群服务的目的是提高服务器的性能。同时,当出现故障时,可以及时转移故障,提高服务器的可用性。因此,在集群服务器设计之初,必须充分考虑故障转移方案。将应用程序或服务安装在多个可以接管对方故障时工作的服务器上,一个服务器接管故障服务器的工作过程称为故障转移。如果一个服务器变得不可用,另一个或多个服务器将自动接管故障服务器,并继续处理任务。集群中的每个服务器将集群中的少量其他服务器确定为备用服务器,可以在集群服务程序中提前设置。考虑故障转移解决方案的因素。集群服务器故障转移方案涉及许多重要方面。在设计集群服务器基础设施时,至少应考虑以下影响因素。1.用户希望这些应用程序在使用应用程序时能够使用和响应。2.连续连续运行日益成为一种普遍的业务要求。3.应用程序故障可能造成严重的经济损失。4.应用程序基础结构中的所有系统都需要维护。每个系统必须能够适应硬件升级和软件升级,而不会导致应用程序停止运行。例如,需要发布修复程序来修复在服务器上运行的组件的安全性(提供应用程序)。如果只有这个服务棒,应用程序将停止运行。如果服务器是一系列服务器之一,只有服务器将停止运行,而应用程序不会停止运行。5.增加硬件可能会增加解决方案的成本和复杂性。例如,为了使应用程序充分利用功能更强的环填充,需要为新硬件或功能更强的硬件提供开发和测试成本。此外,更复杂的环境管理也需要增加维护和培训成本。故障转移原理。在明确上述设计服务器集群之前需要考虑的事项后,了解服务器集群故障转移的原理。整个故障转移过程主要涉及以下几个方面。1.检测故障。在充分考虑了上述影响因素后,还必须设计一套故障检测方案。为了使备用服务器成为活动服务器,必须努力确定活动服务器是否不再正常工作。通常,该系统使用以下常规心跳机制。A.发送信号。对于发送信号,活动服务器将指定义的时间间隔将指定信号发送到备用服务器。如果备用服务器在一定时间间隔内没有收到信号,则确定活动服务器有故障并扮演活动角色。例如,活动服务器每30s向备用服务器发送状态信息。如果设置的备用服务器注意到90s(3个时间间隔)内没有收到任何状态信息,它将接管活动服务器的工作。b.接收信号。对于接收信号,备用服务器向活动服务器发送请求。如果活动服务器没有响应,备用服务器将根据特定次数重复发送此请求。如果春季活动服务吉普仍然没有响应,备用服务器将接管活动服务器的工作。例如,备用服务器可以每分钟向活动服务器发送一次GetcustomerDetails消息。如果备用服务器发送三次GetcustomerDetails请求,但没有响应,备用服务器将接管活动服务。集群可以使用多个级别的信号。例如,集群可以在服务器级别使用发送信号,并在应用程序级别使用一组接收信号。在这种配置中,每当活动服务器启动并连接到网络时,它都会将心跳信息发送到备用服务器。这些心跳信息是根据更频繁的时间间隔发送的(如每个SS),备用服务器可以通过编程设置为只有在没有收到两个心跳信息时才接管活动服务榕树的工作。换句话说,备用服务器将在活动服务器故障后不超过10秒内检测到此故障并启动备用过程。以上发送和接收信号通过特殊通信渠道发送,使网络拥塞和一般网络问题不会导致虚假故障转移。此外,备用服务器可以将查询信息发送到运行在活动服务器上的一个或多个关键应用程序,并在指定的时间间隔内等待响应。如果备用服务器收到正确的响应,则不采取任何进一步行动。为了最大限度地减少对活动服务器性能的影响,应用程序级别的查询通常需要很长时间,如每隔一分钟或更长时间。备用服务器可以通过编程设置为:在接管活动服务器工作之前,至少发送5个请求但没有响应。这意味着备用服务器可能在5分钟后启动故障转移过程。因此,集群故障转移也有一个时间间隔,不能保证无缝接管。2.同步状态。在集群服务系统中,在正式接管活动服务器之前,备用服务器的状态必须与故障服务器的状态同步,然后才能开始处理事务。问步有三种不同的方法。1)事务日志。在事务日志方法中,活动服务器将在日志中记录其状态的所有变化。同步实用工具定期处理日志,以更新备用服务器的状态,使其与活动服务器的状态一致。当活动服务器出现故障时,备用服务器必须使用这种同步实用工具来处理上次更新以来事务日的任何添加。同步后,备用服务器成为活动服务器,并开始处理事务。这种同步方法需要很长时间才能切换,服务器应用程序需要很长时间才能停止。2)热备用。在热备用方法中,活动服务器内部状态的更新将立即复制到备用服务器中。由于备用服务器的状态是活动服务器状态的克隆,备用服务器可以立即成为活动服务器,并开始处理第五个问题。显然,这种宽步法所需的切换时间较短,可用性较高。3)共享存储。在共享存储方法中,两台服务器在共享存储设备(如存储区域网络或双主机磁盘阵列)上记录其状态。这样,由于不需要状态同步,故障转移可以立即发生。这种同步方法所需的切换时间也更短,可用性更高。3.确定活动服务器。对于指定的一组应用程序,只有一个活动服务器,这是极其重要的。如果多个服务器就像一个活动服务器,它通常会导致数据损坏和锁定。解决这个问题的常见方法是使用活动令牌概念的变体。令牌是用于将服务器识别为应用程序的活动服务器的最简单级别的标志。对于每组应用程序,只有一个活动令牌,因此只有一个服务器可以拥有令牌。当服务器启动时,它将验证其合作伙伴是否有活动令牌。如果有,服务器将作为备用服务器启动。如果未检测到活动令牌,将获得活动令牌的所有权并作为活动服务器启动。当备用服务器成为活动服务器时,故障转移过程将活动令牌交给备用服务器。在大多数情况下,当备用服务器成为活动服务器时,它对其支持的应用程序或用户是透明的。如果在事务处理过程中出现故障,可能需要重事务才能成功完成。这使得在编写程序代码时保持故障转移过程透明更为重要。此外,大多数服务器使用IP地址进行通信。因此,为了成功转移故障,基础设施必须能够支持JP地址从一个服务器转移到另一个服务稽。例如,可以使用网络交换机,可以支持IP地址转移(将故障机的IP地址转移到接管服务器)。如果系统的基础设施不支持此转移功能,则可能需要使用负载平衡集群,而不是故障转移集群。4.扩展故障转移集群服务器。故障转移集群中的可伸缩性通常通过扩展集群中的单个服务器或添加更多的功能来实现,因此该集群系统的可伸缩性非常有限。

服务器集群的故障转移方案

 

转载于天翼云,如有侵权,请联系删除,谢谢

© 版权声明
广告也精彩

相关文章

广告也精彩

暂无评论

暂无评论...