开放式管理基础结构

很多年以前,Microsoft 就与其他公司合作,共同定义了硬件抽象层 (HAL),这是一系列用于在操作系统中抽象化 个人计算机(及之后的服务器)上设备的标准。HAL 是计算行业的无名英雄,帮助 x86 生态系统实现了无与伦比的灵活性和互操作性。该技术是让一切“正常工作”的幕后关键技术之一。
在 Windows Server 2012 中,Windows 将重心转移到构建云操作系统上,因此需要设计一个新的抽象层,即DAL(数据中心抽象层)。Microsoft 将再次与其他公司合作,共同定义 DAL。Microsoft不是从零开始的或推动专有标准,而是选择了基于标准的管理,以便加速该过程,帮助生态系统和用户尽快过渡到云。

而在让整个业界接受基于标准的管理这条道路上,我们仍将面临诸多挑战。

第一个挑战就是向业界证实基于标准的管理非常可靠并且能够胜任全面管理,为了证实这一点,Microsoft在 Windows Server 2012 中针对基于标准的管理投入的巨大精力。在该版本中,我们全面致力于将基于标准的管理作为主要管理途径,而 DCOM 仅为提供向后兼容而存在。

接下来的挑战就是帮助业界实施基于标准的管理。现有的开源实施存在很多问题,阻碍了该方案在生态系统中的普及。

在今天的博文中,Windows 管理团队的项目经理,Otto Helweg 和 Wassim Fayed,将介绍我们为解决该问题而付出的努力。能够置身当今的计算行业实乃我们的荣幸,我们正在全力将其推向一个新的高度,而我们的用户也即将收获这一进步带来的巨大回报。还有什么能比这一结果更加令人鼓舞呢?

谨启!Jeffrey

Microsoft 和 The Open Group 即将在基于标准的管理这一领域大展身手,推出一种名为开放式管理基础结构或 OMI(原名为 NanoWBEM)的全新免费开源技术。我们正在与 Arista 及 Cisco 合作,将 OMI 移植到他们的网络交换机中,以供我们的 Windows Azure 和云数据中心使用。Jeffrey Snover 曾在 TechEd Europe 上进行过一次技术演示,演示的内容包括如何使用一组基于标准的常用工具管理服务器上的主板控制器、Windows 操作系统和运行 OMI 的 Arista 交换机。

OMI 的公开提供意味着您现在可以通过一个开源的软件包,在任何设备或平台上轻松地编译并实施基于标准的管理服务。我们的目标是清除阻挡实施基于标准的管理的一切绊脚石,确保世界上的所有设备可以通过一种简洁、一致和连贯的方式进行管理,并培育和促进由基于标准的管理产品组成的生态系统。

如今,数据中心中由不同硬件和平台供应商提供的大量规格设备所构成,因此需要使用不同的工具和管理过程。各家公司都在致力于开发自己的抽象层,或指定单一的供应商,但这样做会限制他们的选择和灵活性。要解决这个问题,必须推动整个行业接受一种针对数据中心设备和抽象平台的合适标准。

此外,云计算的日益普及明显提升了企业对自动化的需求,而这需要建立在一系列管理标准的坚实基础上。要满足当今的云管理需求,基于标准的管理必须足够复杂,以便支持多样化的设备,同时它必须易于硬件和平台供应商实施。DMTF CIM 和 WSMAN 标准能提供足够的支持,但却难以有效实施。开放式管理基础结构 (OMI) 解决了这个问题。

简便且多样化的设备支持
我们先从历史讲起。Windows 长久以来在 CIM 实施领域一直傲立桥头,而这一切都是从 WMI(Windows 管理基础结构)开始的。分布式管理任务组 (DMTF) 通用信息模型 (CIM) 是一种开放式标准,用于定义如何通过一组通用对象来表示接受管理的元素,并使用关联定义它们之间的关系。

WMI 最初在 Windows NT 4.0 中引入并与操作系统捆绑安装,其中实施了早期版本的标准和架构。WMI 使用 DCOM 进行远程管理,因为当时尚未制订标准协议。在 Windows Server 2012 中,我们在标准和远程管理方面投入了大量精力,在 WMI 中加入了最新的 DMTF 标准和协议。

CIM 标准具备足够的复杂度和灵活性,可用作所有设备的管理模式,尤其是数据中心设备。尽管这些 DMTF 标准已经存在多年,但仍旧难以实施,并且现有实施对于移动和嵌入式设备来说过于庞大。为了解决这些难题,Microsoft 构建了一种名为 OMI 的 CIM 对象管理器,OMI 具备高度便携、占用资源少和性能极高的优点,并且专门设计用于实施 DMTF 标准。随后,我们与 The Open Group 展开合作,以便通过 Apache 2 许可向所有用户提供 OMI 的源代码。OMI 的源代码可以在 Linux 和 UNIX 系统中轻松实施。

采用 OMI 的合作伙伴将获得以下优势:

  • DMTF 标准支持 :OMI 根据 DMTF 标准实施其 CIMOM 服务器。
  • 小型系统支持 :OMI 在设计时也考虑到了在小型系统中的实施(包括嵌入式和移动系统)。
  • 易于实施 :显著简化在设备/平台中实施 Web service 管理和 CIM 的过程。
  • 支持远程管理 :可通过 Windows 和非 Windows 客户端及服务器,以及其他支持 Web service管理的平台实时进行远程管理。
  • API 兼容 WMI:可在 Linux 和 Windows 上使用相同的 API 编写提供程序和管理应用程序。
  • 支持 CIM IDE:用于生成和开发 CIM 提供程序的工具,例如 Visual Studio 的 CIM IDE
  • 可选的 PowerShell 支持 :如果 OMI 提供程序使用一系列编档的约定,Windows PowerShell 将自动发现这些约定,并根据它们自动生成 Cmdlet(Windows Server 2012 中的 2300 余条 Cmdlet 就是如此实施的)。

OMI 详情
OMI 较低的资源占用(250KB 的基本大小,外加 1MB 的工作集内存使用)和高质量的代码将有助于开发人员更轻松地开发具备高性能和高稳定性的基于标准的管理堆栈。对于 IT 专业人员,OMI 将增加您能够管理的设备数量和类型,并通过基于标准的管理和自动化工具(例如 Windows PowerShell 和 System Center,以及其他管理解决方案)统一管理体验,从而大幅提升您的工作效率和效力。

OMI 在其 CIM 服务器的实施中包含了以下组件和工具。
 

可扩展
OMI 采用了一种Provider程序模型,允许开发人员将 OMI 扩展到其具体的设备或平台中。在过去,编写Provider非常困难,通常成本较高且不甚稳定。OMI 利用了一种大幅简化的Provider程序模型,该模型也在 Windows Server 2012 和 Windows 8 的 WMI 中使用。简而言之,OMI 通过向开发人员提供以下功能简化了实施:

  • 下一代Provider程序接口
  • 兼容 Windows Server 2012 和 Windows 8 中的新 WMI 提供程序接口
  • 生成Provider程序骨架 (omigen)
  • 生成具体 CIM 类数据结构和代码
  • 提供Provider注册工具 (omireg)

该模型首先需要定义接受管理的内容。根据定义的接受管理内容,omigen 工具会生成一系列用于实施管理模型的 C 语言数据结构和代码。开发人员可将这些代码添加到骨架中并注册该Provider程序。

OMI 适用于嵌入式和移动系统
嵌入式和移动设备管理可能是对于管理技术来说要求最高的任务之一,因为它们的处理器和内存约束最为显著。我们认为,如果我们能构建一种满足其需求的管理技术,那么 OMI 就应该能够满足任何设备的管理需求。因此,为了确保 OMI 较低的资源占用和嵌入式系统适用性,我们实施了以下设计特征:

  • 小于 250 千字节的服务器对象大小
  • 服务器实施完全使用 C 语言
  • Provider程序接口使用 C 语言
  • 无存储库服务器
  • 具体Provider程序类产生较少代码
  • 迭代式大小优化
  • 无盘操作

安全
安全问题。自从 Bill Gates 著名的可信计算备忘录以来,我们一直在致力于完善安全开发生命周期模型。安全性在我们开发和编码流程的所有方面都是首要考虑因素。OMI 虽然体积小巧,却实施了以下安全功能:

  • HTTPS (SSL)
  • HTTP 基本身份验证
  • 本地身份验证
  • 可插入身份验证模块 (PAM) 支持
  • 进程外Provider程序
    • 作为请求程序运行
    • 作为服务器运行
    • 作为指定用户运行

太棒了!我如何才能获得 OMI?
Microsoft 已与 The Open Group 结为合作伙伴,共同致力于打造针对利用、支持和强化 OMI 的硬件、软件和开发人员社区。您可以从 The Open Group 的项目网站下载 OMI 和/或了解更多详情:https://omi.opengroup.org。在不远的未来,您将见证该网站及其社区的成长,并支持更加详细的文档、贡献设施和针对 OMI 开发人员的会议。

具体问题,请联系 ottoh@microsoft.com