首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

Windows群集开发:4)资源和资源DLL

        资源和资源DLL

        对于群集服务,群集是可管理的硬件或软件组件。例如资源可以是磁盘,网络名字,IP地址,数据库,WEB站点,应用程序,以及任何其它可以联机和脱机的实体。资源按类型进行组织。资源类型包括物理硬件(例如磁盘驱动器)和逻辑项(诸如IP地址,文件共享,以及普通应用程序)。

        每个资源使用一个资源DLL。资源DLL是介于资源监视器和资源之间的一个大的被动转换层。资源监视器调用资源DLL的入口函数来检查资源状态并将资源联机或脱机。资源DLL负责与它的资源之间的通信,可以通过任何方便的IPC机制来实现。

        注意 没有提供自己的资源DLL的应用和服务仍然能够在群集环境内进行配置-MSCS为这种情况提供一个通用资源DLL,群集服务将这样的应用或服务作为普通的、群集不可感知的应用或服务。不过,任何需要利用群集环境优势的应用或服务,应当实现能够与群集服务交互的自定义的资源DLL,以获取由MSCS所提供的丰富功能带来的优势。

        为什么要编写自定义DLL?

        一个常被问及的问题是:既然MSCS附带了为普通应用和服务准备的DLL,为什么开发人员还要编写资源DLL?主要原因是MSCS的提供的DLL是相当基础的、很“阳春”DLL,只提供基本的故障转移/故障恢复能力。

        例如,如果一个应用程序已经打开一些文件,而群集服务出于某种原因决定将这个应用程序移动到另一个节点,该应用程序在被移动之前无法在原先节点上干净利落的关闭。特定于应用程序的资源DLL能够提供干净的关闭功能。群集服务能够从较好控制的资源轮询中受益(请参考后续章节中关于LooksAlive和IsAlive例程的描述)。并且,一些资源需要传入或输入特定参数或属性(公用和私有的)的集合来使资源联机或脱机,诸如此类。这些在实现群集管理扩展时加入的参数或属性与资源类型(与资源DLL相结合)紧密结合。未实现资源DLL的应用和服务必须根据通用扩展的要求限制其参数和属性。

        最后一点,最重要的原因是提供特定于应用程序的资源DLL将能支持“活动/活动(Active/Active)”式的故障转移和故障恢复功能。这将允许同一类型资源的分离实例在不同节点上运行,每个实例使用位于共享SCSI总线上的磁盘上的不同的数据集进行工作。(这意味着虽然数据非共享,但是资源类型在两个节点上都是活动的。根据定义,一个资源仅能有一个实例;但是,一个资源类型可以有多个实例。)如果该资源类型的实例在其中一个节点上失效了,其实例将被移动或“故障转移”到下一个可用节点。例如,假定资源类型是一个数据库管理程序,那么可以在每个节点上都运行该程序的一个拷贝。可以定义一个特别的数据库(db1)作为资源。根据“活动/活动”模式的功能,可以在节点1和节点2之间来回移动db1,方法是在每个节点上的数据库管理程序正常的释放和请求数据库。这种沟通方法不可能发生在通用应用程序和和服务的资源类型上。

        仲裁资源

        在上述应用程序、服务,以及其它资源之外,MSCS还允许一种特殊的资源,称为“仲裁(quorum)资源”,在群集操作中扮演一个关键角色。仲裁资源必须提供持久独断机制(也就是说,允许单个节点取得对仲裁资源的控制,并独占该控制不被其它节点获取),也必须提供能够被群集内任一节点访问的物理存储空间(虽然任一时刻仅有一个节点能够访问该物理存储空间)。仲裁资源维护群集数据库的最新版本,假如发生失效情况,将变化保存到群集数据库。MSCS包含了用于特定的群集资源的标准仲裁资源DLL。当然也可能实现自定义的仲裁资源,本文不包含编制自定义仲裁资源DLL的过程和指引。

        下面讨论创建群集可感知应用程序需要用到的编程工具,以及创建新资源类型和编制自定义资源DLL的指引。

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航