群集服务使用资源监视器和资源 DLL 将所有资源都作为不透明的对象进行管理。资源监视器接口为群集服务启动资源管理命令和获取资源状态数据提供了标准的通讯接口。资源监视器通过资源 DLL 执行实际的命令和获取数据。群集服务使用资源 DLL 将资源联机、管理这些资源同其它群集资源的交互,单更为重要的是通过监视它们的健康状况来检测故障情况。
服务器群集提供的资源 DLL 可以同时支持 Microsoft 群集感知应用程序和独立软件供应商 (ISV) 以及第三方公司提供的通常不能感知群集的应用程序。另外, ISV 和第三方也可以提供让它们的特定产品能够感知群集的资源 DLL 。有关当前可感知群集的应用程序和硬件的详细信息 , 请参阅 “ 详细信息 ” 一节。
为支持资源管理 , 资源 DLL 仅需要提供少量的简单资源接口和属性。资源监视器可将特定的资源 DLL 作为系统帐户下优先运行的代码载入其地址空间。系统帐户是仅供操作系统以及同基础操作系统集成的服务所使用的帐户。借助系统帐户,群集服务可以在操作系统的上下文中执行多种功能。有关 Windows Server 2003 或 Windows 2000 系统服务架构以及帐户安全性的详细信息 , 请访问 :
http://www.microsoft.com/windows2000/techinfo/howitworks/default.asp
Microsoft 为 Microsoft 群集感知应用程序提供的所有资源 DLL 都仅在单一的资源监视器进程中运行。 ISV 或第三方资源 DLL 可能需要有自己的资源监视器。当在群集节点上安装或启动资源时,群集服务会根据需要创建资源监视器进程。
如果某些资源要求有其它资源才能工作 , 这些依存关系可以通过资源 DLL 来定义。如果某个资源依赖于其它资源,则群集服务只有在该资源所依存的资源按照正确的序列联机后才会让该资源联机。
资源的脱机方式与此类似。群集服务只有在任何所依存的资源已脱机后才会将有关资源脱机。这可以防止在加载资源时导致依存关系循环。
每个资源 DLL 都可以定义资源所要求的计算机类型和设备连接类型。例如,磁盘资源可能要求只有同该磁盘设备物理相连的节点才能拥有它。在资源 DLL 中还可以定义本地重启策略以及在故障转移事件期间希望执行的操作。
借助随 Windows server 2003 产品一起提供的资源 DLL , 服务器群集可以支持以下资源 :
文件和打印共享
通用服务或应用程序
通用脚本
物理磁盘
Microsoft 分布式事务协调器 (MSDTC)
Internet 信息服务 (IIS)
消息队列 (MSMQ) 触发器
网络地址和名称
Windows Server 2003 Enterprise Edition 和 Windows Server 2003 Datacenter Edition 中还包括用于以下附加服务的资源 DLL :
分布式文件系统 (DFS)
动态主机配置协议 (DHCP) 服务
Windows Internet 服务 (WINS)
提供了自己的资源 DLL 和资源监视器的群集感知应用程序可以实现高级的可扩展性和故障转移功能。例如,带有自己的数据库资源 DLL 的数据库服务器应用程序允许群集服务将单个的数据库从一个节点故障转移到另一节点。如果没有特定的数据库资源 DLL ,数据库应用程序将使用默认的通用服务器应用程序资源 DLL 在群集上运行。当使用通用的应用程序服务器资源 DLL 时,群集服务只能将整个通用的服务器应用程序(包括其数据库)进行故障转移。但如果使用单独的资源 DLL (比如数据库资源 DLL ),数据库可以作为群集服务可以监视和管理的资源被对待。这样,应用程序就不再是服务器群集可以管理的唯一资源单位和故障转移单位。借此可以在不同的群集节点上同时运行某个应用程序的多个实例,并且每个实例都有自己的数据库组合。为了实现可感知群集的应用程序,提供定义了应用程序特定资源的资源 DLL 还只是第一步。
有关创建群集服务器资源 DLL 的信息 , 请访问 : http://msdn.microsoft.com/library/backgrnd/html/msdn_mscs_resource_dlls.htm
标签: