可以将各种不同服务或应用程序配置为在故障转移群集中具有高可用性。有关最常配置为具有高可用性的服务或应用程序列表,请参阅配置服务或应用程序的高可用性

本主题包含下列部分:

可作为通用应用程序、通用脚本或通用服务而运行的服务或应用程序

在故障转移群集中,可以使用“通用应用程序”、“通用脚本”和“通用服务”选项,来为不支持群集的某些服务和应用程序(最初并未设计用于在群集中运行)配置高可用性。

通用应用程序

如果您将某个应用程序作为通用应用程序来运行,则群集软件将启动该应用程序,然后定期查询操作系统,以查看该应用程序看上去是否正在运行。如果是这样,则认为它是联机的,将不对它重新启动或进行故障转移。

请注意,与群集感知应用程序相比,通用应用程序将其准确状态传递给群集软件的方法比较少。如果通用应用程序进入有问题的状态,但看上去正在运行,则群集软件无法发现此问题并采取措施(如重新启动应用程序或将其进行故障转移)。

在运行高可用性向导以针对通用应用程序而配置高可用性之前,确保已知道应用程序路径和应用程序所需的 HKEY_LOCAL _MACHINE 下的任何注册表项名称。

通用脚本

可以创建一个在 Windows Script Host 中运行的脚本,该脚本可监视和控制您的应用程序。然后,可将该脚本配置为群集中的一个通用脚本。脚本为群集软件提供了有关应用程序当前状态的信息。根据需要,群集软件将重新启动脚本或对脚本进行故障转移(通过它,应用程序可重新启动或进行故障转移)。

在故障转移群集中配置通用脚本时,群集软件能否精确响应应用程序状态将由该脚本决定。脚本在提供应用程序状态的相关信息时越精确,群集软件对该信息的响应就越精确。

在运行高可用性向导以针对通用脚本配置高可用性之前,确保您已知道脚本的路径。

通用服务

群集软件将启动服务,然后定期查询服务控制器(操作系统的一个功能),以确定服务看上去是否正在运行。如果是这样,则认为它是联机的,将不对它重新启动或进行故障转移。

请注意,与支持群集的服务相比,通用服务将其准确状态传递给群集软件的方法比较少。如果通用服务进入有问题的状态,但看上去正在运行,则群集软件无法发现此问题并采取措施(如重新启动服务或将其进行故障转移)。

在运行高可用性向导以针对通用服务配置高可用性之前,确保您已知道该服务在 HKEY_LOCAL _MACHINE\System\CurrentControlSet\Services 下的注册表中所出现的名称。

故障转移群集环境中的服务或应用程序的基本要求

若要对应于某个故障转移群集,服务或应用程序必须具有某些特征。最重要的特征包括:

  • 服务或应用程序应是有状态的。换言之,服务或应用程序应该具有长时间运行的内存中状态,或具有较大的并且频繁更新的数据状态。数据库应用程序就是一个示例。对于无状态应用程序(如 Web 服务器前端),网络负载平衡可能比故障转移群集更适用。

  • 服务或应用程序应使用在临时网络中断之后自动重试的客户端组件。否则,如果应用程序的服务器组件从一台群集服务器故障转移到另外一台群集服务器,则不可避免(但又短暂)的中断将会使客户端停止运行,而不仅仅是进行重试或重新连接。

  • 服务或应用程序应能够识别它所使用的一个或多个磁盘。这样,服务或应用程序就可以与群集存储中的磁盘进行通信,甚至在故障转移之后也能可靠地找到正确的磁盘。

  • 服务或应用程序应使用基于 IP 的协议。示例包括 TCP、UDP、DCOM、命名管道和 RPC over TCP/IP。

其他参考


目录