使用开放管理基础结构 (OMI) 扩展 Linux 计算机和 UNIX 计算机上的清单

本博文是“Windows Server 和 System Center 2012 R2 新增功能”系列博文(共 9 篇)之一,该系列是 Brad Anderson 云端瞭望博客中的精选内容。今天的博文将探讨您可如何使用开放源代码软件定制并扩展从 Linux 计算机和 UNIX 计算机中收集的清单信息。若要阅读该博文并查看讨论的其他技术,请阅读今天的博文:“2012 R2 新增功能:启用开放源代码软件”。

启用开放源代码软件是我们设计和构建云服务的一个关键原则。借助 System Center 2012 R2 Configuration Manager,执行 Linux 系统和 UNIX 系统的清单管理操作的能力可通过利用开放管理基础结构 (OMI) 这一基于标准的管理堆栈而大幅扩展。自定义 Linux 系统和 UNIX 系统上的清单收集现已利用 OMI 而得以大幅简化,因此系统管理员能够捕获定制的清单信息,以满足其特定需求。 本篇博文概述了 OMI 的 Configuration Manager 客户端实施,以及为 Linux 系统和 UNIX 系统轻松扩展默认清单数据集的步骤。

使用 OMI 收集 Linux 清单和 UNIX 清单

The 面向 Linux 和 UNIX 的 Configuration Manager 已包含 OMI,并将其作为其通用信息模型 (CIM) 服务器,以从 Linux 计算机和 UNIX 计算机收集和扩展清单信息。清单信息横跨计算机硬件、安装软件、操作系统参数和运行程序的详细信息。清单信息对于管理负责的计算机的配置、操作、安全和合规的系统管理员而言至关重要。面向 Linux 和 UNIX 的客户端包含从 12 个基本 CIM 类中收集清单的能力,这 12 个基本 CIM 类包括计算机处理器、BIOS、磁盘、内存、网络适配器、安装软件和运行的程序和服务。

尽管这提供了一个跨所有支持版本的 Linux 服务器和 UNIX 服务器的基本级别清单信息,但是这并没有满足所有客户的需求。例如,面向 Windows 的 Configuration Manager 客户端可收集超过 100 个清单类,大范围地覆盖 Windows 计算机。客户频繁需要收集有关 Linux 计算机和 UNIX 计算机资源的数据,而这些数据通常无法通过 12 个基本 CIM 类获得。客户需要在其希望收集数据的 Linux 服务器或 UNIX 服务器上对硬件进行特殊处理。OMI 是一个通用管理堆栈,其可使用自定义的清单提供程序来扩展面向 Linux 和 UNIX 客户端的清单功能。面向 Linux 和 UNIX 的 Configuration Manager 客户端的体系结构可启用 OMI 扩展,并支持端到端的客户体验,以促进从 Linux 计算机和 UNIX 计算机中收集其他数据。

面向 Linux 和 UNIX 的 Configuration Manager 客户端的体系结构

面向 Linux 和 UNIX 的 Configuration Manager 客户端包含两项服务,分别是 ccmexec 和 omiserver,前者等同于包含相同名称的 Windows 客户端可执行文件,而后者是提供 CIM 服务功能的 OMI 服务,其类似于基于 Windows 的计算机中可用的 Windows 管理基础结构 (WMI)。ccmexec 服务能与 Configuration Manager 服务器角色通信,从 Configuration Manger 接收指令,并响应以适当的状态和信息。

要接收 ccmexec 服务,请与 omiserver 服务交互,该服务是在 Linux 和 UNIX 上运行的 OMI。

 

图文块 1:面向 Linux 和 UNIX 的客户端的体系结构

提供程序将为 CIM 类实施数据收集,其中一个提供程序将负责一个 CIM 类。客户端中包含的 Linux 提供程序和 UNIX 提供程序将以独立于平台的方式实施。它们使系统和内核级别 API 通过平台抽象层调用,进而访问系统资源以收集清单数据。

利用 OMI 启用自定义清单

OMI 支持可注册其他清单提供程序的扩展模型。必须开发一个自定义提供程序,在成功与 OMI 注册之后,系统将查询提供程序,以从特定资源或硬件收集数据。由于 OMI 是一个开源和基于标准的通用管理堆栈,因此 OMI 提供程序也可在使用 OMI 的其他任何环境中使用。

 

图文块 2:注册了 OMI 的一个自定义清单提供程序

要启用面向 Linux 和 UNIX 的客户端,以使用自定义清单提供程序,您应遵循以下步骤:

  1. 使用 OMI 源代码创建自定义的清单提供程序
  2. 配置计算机以使用新的提供程序来报告清单
  3. 启用 Configuration Manager,以支持新的提供程序

使用 OMI 源代码创建自定义的清单提供程序

为了向面向 Linux 和 UNIX 的 Configuration Manager 创建一个自定义的清单提供程序,请使用 OMI 源版本 1.0.6 并遵循《OMI 入门指南》中所提供的说明。可从 Open Group 网站可从下载 OMI 源版本 1.0.6《OMI 入门指南》

作为此过程中的一部分,您必须创建一个定义了新提供程序必须返回的数据架构的托管对象格式 (MOF) 文件。之后,您需要将 MOF 文件导入 Configuration Manager 以启用对新的自定义清单类的支持。

必须构建 OMI 源代码,以生成 omigen 工具。omigen 工具将用于基于您所创建的 MOF 文件为提供程序生成 C/C++ 模板。您需要具备适当的代码部署技能才能在这些 C/C++ 源文件中填充将收集您希望获得的提供程序数据。请遵循《OMI 入门指南》中有关部署库文件的方法的说明。

配置计算机以使用新的提供程序来报告清单

在您创建了一个自定义的清单提供程序之后,您必须复制,然后在包含您希望收集的清单的各台计算机上注册提供程序库文件。

  1. 将提供程序库复制到您希望收集清单的各台 Linux 计算机和 UNIX 计算机中。提供程序库的名称类似于:XYZ_MyProvider.so
  2. 2.   接下来,在每台 Linux 计算机和 UNIX 计算机上,将提供程序库注册到 OMI 服务器中。当您为 Linux 和 UNIX 安装 Configuration Manager 客户端时,OMI 服务器将在计算机上安装,但是您必须手动注册自定义的提供程序。使用以下命令行来注册提供程序:/opt/microsoft/omi/bin/omireg XYZ_MyProvider.so
  3. 在您注册了新的提供程序之后,使用 omicli 工具测试提供程序。当您安装面向 Linux 和 UNIX 的 Configuration Manager 时,omicli 工具将安装于各台 Linux 计算机和 UNIX 计算机中。例如,如果您所创建的提供程序的名称是 XYZ_MyProvider ,那么在计算机中运行以下命令:/opt/microsoft/omi/bin/omicli ei root/cimv2 XYZ_MyProvider

有关 omicli 和测试自定义提供程序的信息,请参阅《OMI 入门指南》。

启用 Configuration Manager,以支持新的提供程序

在 Configuration Manager 报告 Linux 计算机和 UNIX 计算机上新提供程序报告的清单之前,您必须安装定义了自定义提供程序架构的托管对象格式 (MOF) 文件。要将自定义的 MOF 文件导入 Configuration Manager,请遵循如何在 Configuration Manager 中扩展硬件清单主题中导入硬件清单类的程序。

 总结

Microsoft 借助 System Center 2012 R2 的新功能,大幅简化了在 Linux 计算机和 UNIX 计算机上收集和扩展清单的过程。这有助于客户轻松定制清单收集,进而履行其管理和合规责任。此外,硬件供应商能够开发出自定义的提供程序,使其专有界面中的数据面向使用 OMI 的任何应用可用。Microsoft 通过采用开放源代码软件,大幅降低了管理包含基于标准、开放源代码管理软件的 Linux 计算机和 UNIX 计算机的复杂程度和成本。

--John Thekkethala

要阅读本系列的所有博文,请查看Windows Server 和 System Center 2012 R2 新增功能存档。

本博文按“原样”提供,且不授予任何权利。