高可用性集群
编辑高可用性集群是支持服务器应用的计算机群,可以可靠地利用最小的停机时间。它们通过使用高可用性软件,在群组或集群中驾驭冗余的计算机,在系统组件发生故障时提供持续的服务。如果没有集群,如果运行一个特定应用程序的服务器崩溃,该应用程序将无法使用,直到崩溃的服务器被修复。HA集群通过检测硬件/软件故障来补救这种情况,并立即在另一个系统上重新启动应用程序,而不需要管理干预,这个过程被称为故障转移。作为这个过程的一部分,集群软件可以在节点上启动应用程序之前对其进行配置。例如,适当的文件系统可能需要被导入和安装,网络硬件可能需要被配置,一些支持性的应用程序可能也需要被运行。
HA集群通常用于关键数据库、网络上的文件共享、商业应用和客户服务,如电子商务网站。HA集群的实施试图在集群中建立冗余,以消除单点故障,包括多个网络连接和数据存储,通过存储区域网络进行冗余连接。
HA集群通常使用心跳的私人网络连接,用来监测集群中每个节点的健康和状态。所有集群软件都必须能够处理的一个微妙但严重的情况是大脑分裂,这发生在所有的私有链路同时瘫痪,但集群节点仍在运行。如果发生这种情况,集群中的每个节点可能会错误地认为其他每个节点都已经宕机,并试图启动其他节点仍在运行的服务。有重复的服务实例可能导致共享存储上的数据损坏。
HA集群通常也使用法定人数见证存储(本地或云)来避免这种情况。一个见证设备不能在分裂集群的两半之间共享,所以在所有集群成员不能相互通信的情况下,如果一个成员不能访问见证,它就不能成为活动的。
应用设计要求
编辑不是每个应用都能在高可用性集群环境中运行,必要的设计决定需要在软件设计阶段的早期做出。为了在高可用性集群环境中运行,一个应用程序必须至少满足以下技术要求,其中最后两项对其在集群中的可靠功能至关重要,也是最难完全满足的。
必须有一个相对容易的方法来启动、停止、强制停止和检查应用程序的状态。在实践中,这意味着应用程序必须有一个命令行界面或脚本来控制应用程序,包括支持应用程序的多个实例。 应用程序必须能够使用共享存储(NAS/SAN)。 最重要的是,应用程序必须尽可能多地在非易失性共享存储上存储其状态。同样重要的是,能够在另一个节点上使用共享存储中保存的状态重新启动故障前的最后状态。 如果应用程序崩溃,或从保存的状态重新启动,必须不破坏数据。
这种方法与运行集群感知的应用程序之间的一个关键区别是,后者可以处理服务器应用程序崩溃,并支持实时滚动软件升级,同时保持客户端对服务(如数据库)的访问,方法是让一个实例提供服务,而另一个正在升级或修复。这需要集群实例在移交过程中进行通信、刷新缓存和协调文件访问。故障转移集群属于规划、创建和配置以及故障排除。 节点配置 HA集群最常见的规模是两个节点的集群,因为这是提供冗余的最低要求,但许多集群由更多的节点组成,有时是几十个节点。
主动/主动--为故障节点准备的流量被传递到一个现有的节点上,或者在其余的节点上进行负载平衡。这通常只有在节点使用同质化的软件配置时才有可能。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/193155/