图 1:三种支持群集的 Microsoft 服务器技术 QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南 通过 Microsoft 群集服务实现的故障转移功能 MSCS 故障转移功能是通过群集中连接的多台计算机中的冗余实现的,每台计算机都具有独立的故障状态。冗余要求在群集中的多台计算机上安装应用程序。但是,应用程序任何时刻只在一个节点上处于联机状态。当该应用程序出现故障或该服务器停机时,此应用程序将在另一个节点上重新启动。Windows .NET Server 2003 Datacenter Edition 支持在一个群集中最多包含 8 个节点。 每个节点都具有自己的内存、系统磁盘、操作系统和群集资源的子集。假如某一节点出现故障,另一个节点将接管故障节点的资源(此过程称为“故障转移”)。然后,Microsoft 群集服务将在新节点上注册资源的网络地址,以便将客户端流量路由至当前拥有该资源的可用系统。当故障资源恢复联机状态时,MSCS 可配置为适当地重新分配资源和客户端请求(此过程称为“故障回复”)。要使应用程序恢复到发生故障转移时的那一点,节点必须能够访问保持应用程序状态的共享存储器。 请注重,Microsoft 群集服务旨在提供高可用性,而不是真正的容错功能。“容错”一词通常用于描述提供更高级别恢复功能的技术。容错服务器通常使用结合了特定软件的高级硬件或数据冗余,为单个硬件或软件故障提供近乎瞬时的恢复。这些解决方案的成本远远高于群集解决方案,因为必须支付冗余硬件的费用,而冗余硬件只不过闲置在那里等待恢复故障。Microsoft 群集服务使用价格适宜的标准硬件提供优秀的高可用性解决方案,同时最大程度地利用计算资源。
图 2:Microsoft 群集服务 群集服务体系结构 Microsoft 群集服务包含三个主要组件:群集服务、资源监视器和资源 DLL。此外,群集治理器还答应生成提供治理功能的扩展 DLL。 群集服务 群集服务是核心组件,并作为高优先级的系统服务运行。群集服务控制群集活动并执行如下任务:协调事件通知、方便群集组件间的通信、处理故障转移操作和治理配置。每个群集节点都运行自己的群集服务。 资源监视器 资源监视器是群集服务和群集资源之间的接口,并作为独立进程运行。群集服务使用资源监视器与资源 DLL 进行通信。DLL 处理所有与资源的通信,因此在资源监视器上宿主 DLL 可以保护群集服务免受错误运行或停止工作的资源造成的影响。资源监视器的多个副本可以在单个节点上运行,从而可以将无法猜测的资源与其他资源隔离开。 群集服务在需要对资源执行操作时将向分配给该资源的资源监视器发送请求。假如资源监视器的进程中没有可以处理该类型资源的 DLL,则使用注册信息加载与该资源类型相关的 DLL。然后,将群集服务的请求传递至其中一个 DLL 的入口点函数。资源 DLL 将处理操作的具体信息以符合资源的特定需要。 资源 DLL 第三个主要的 Microsoft 群集服务组件是资源 DLL。资源监视器和资源 DLL 使用资源 API 进行通信。资源 API 是用于治理资源的入口点、回叫函数和相关结构及宏的集合。 对于群集服务而言,资源是任何可进行治理的物理或逻辑组件,例如磁盘、网络名、IP 地址、数据库、站点、应用程序和任何其他可以联机和脱机的实体。资源可按类型进行组织。资源类型包括物理硬件(例如磁盘驱动器)和逻辑项(例如 IP 地址、文件共享和一般应用程序)。 每个资源都使用资源 DLL,它主要是资源监视器和资源之间的被动转换层。资源监视器调用资源 DLL的入口点函数查看资源的状态并使资源联机和脱机。资源 DLL 负责通过便利的 IPC 机制与其资源进行通信,以实现这些方法。 实现其自身资源 DLL 与群集服务通信的应用程序以及使用群集 API 请求和更新群集信息的应用程序都被定义为群集相关应用程序。不使用群集或资源 API 以及群集控制代码函数的应用程序和服务都不识别群集,也无法识别群集服务是否正在运行。这些群集无关应用程序通常作为一般应用程序或服务进行治理。 群集相关和群集无关应用程序都可以在群集节点上运行,并且都可以作为群集资源进行治理。但是,只有群集相关应用程序可以利用群集服务通过群集 API 提供的功能。开发群集相关应用程序需要建立自定义资源类型。通过自定义资源类型,开发人员可以使应用程序在群集发生各种事件(例如,节点即将脱机,因此会关闭数据库连接)时,做出必要的响应并采取措施。 对于大多数需要在群集中运行的应用程序,最好花费一些时间和资源开发自定义资源类型。可先在群集环境中对应用程序进行测试,而不必修改应用程序的代码或创建新的资源类型。在 Windows .NET Server 2003 中,未经修改的应用程序可以作为“群集相关”应用程序在基础级别运行。群集服务专为此用途提供了一般应用程序资源类型。 QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南 群集治理器扩展 DLL 群集治理器扩展 DLL 在群集治理器内提供特定于应用程序的治理功能,答应用户以同样的方式治理他们的应用程序,无论该应用程序是在群集内部还是在群集外部运行。开发人员可以在群集治理器框架内提供给用程序治理功能,或只是链接到现有的治理工具。 开发人员可通过编写扩展 DLL 扩展群集治理器的功能。群集治理器应用程序通过一组已定义的 COM 接口与扩展 DLL 进行通信。扩展 DLL 必须实现一组特定的接口并且在群集的每个节点都进行注册。
图 3:主要组件:群集服务、资源监视器和资源 DLL 群集无关应用程序 不提供其自身资源 DLL 的应用程序或服务仍可以在群集环境中进行配置。Windows .NET Server 2003 中的群集服务包括仅用于此目的的一般资源 DLL:一般应用程序资源 DLL 和一般服务资源 DLL。群集服务将这些应用程序或服务看作是群集无关的一般应用程序或服务。 一般资源 DLL 只提供最基本的控制。例如,一般应用程序资源 DLL 通过确定应用程序的进程是否依然存在来检查应用程序是否发生故障,并通过终止进程使应用程序脱机。但它并不依靠于其他资源,而是提供一个在群集环境中测试应用程序的简单方法。 高可用性记事本
图 4:群集治理器工具中的资源类型节点 群集治理器具有交互式向导,使您能够为列出的任何资源类型创建资源。群集服务还提供了 COM 接口,答应以编程方式创建和治理资源。注重:最新的群集治理器工具及关联的开发资源可以从 Platform SDK 获得。 群集自动化服务器 群集自动化服务器提供一组自动化对象,用于向脚本语言公开一个完整的群集治理接口,使您能够开发基于 Web 的远程治理工具。群集自动化服务器能够简化和增强创建群集治理应用程序的进程。 群集自动化服务器的面向对象的本质意味着几乎所有群集编程任务都将执行以下步骤:
图 5:Notepad 资源参数 查看 Advanced(高级)选项卡,您将看到默认属性,表明发生故障时应用程序至多重新启动 3 次。LooksAlive 和 IsAlive 轮询间隔默认为资源类型中的值,但也可以指定其他值将其改写。由于此应用程序没有非凡代码使其成为群集相关应用程序,因此仅通过在系统中运行的进程存在与否确定其是否处于活动状态。
图 6:Notepad 资源 Advanced(高级)选项卡 测试应用程序 Notepad 资源联机后将在服务器上启动。假如 Notepad 进程被终止,它将立即再次启动。这是因为群集服务在发挥作用,试图使应用程序保持打开和运行状态。作为一般应用程序资源,群集服务能够注重到应用程序进程何时不再运行,并根据策略采取纠正措施。新闻热点
疑难解答