发现从开通这个 blog 之后,我更新 blog 果然很不称职,当然很重要的一个原因是忙着毕业设计和毕业论文去了。准备更新一次,却一时也没想好要写些什么,那么就将我毕设的一些内容摘取一些吧。
SMI-S ,全称是 Storage Management Initiative Specification 。我习惯翻译成存储管理计划规范,不过一般还是不翻译最准确。这是由 SNIA 2002 年提出的一个存储管理规范,其目标是在存储网络中的存储设备和管理软件之间提供标准化的通信方式,从而使存储管理实现厂商无关性,提高管理效率、降低管理成本,促进存储网络的发展。 SMI-S 是基于一些已有的技术标准而制定的,其中最主要的两个是 CIM 和 WBEM 。
CIM ,全称是 Common Information Model ,通用信息模型。这是由 DMTF 开发的,与具体实现无关的、用于描述管理信息的概念上的信息模型。 DMTF 目前已经利用 CIM 对几乎整个计算机系统的各个方面都有了具体的模型。 CIM 使用 MOF(Managed Object Format)语言来对模型进行表示。
WBEM ,全称是 Web-Based Enterprise Management ,基于 Web 的企业管理。这也是由 DMTF 所开发,用于统一企业计算环境管理而开发的管理和因特网标准技术,以达到提升管理解决方案提供者之间的互操作性的目标。 WBEM 有三个组件,分别是前面已经介绍的 CIM 、 xmlCIM Encoding Specification 和 CIM Operations over HTTP specification 。
CIM 提供了收集和描述管理数据通用的格式、语言和方法。
xmlCIM Encoding Specification , xmlCIM 编码规范,用 DTD 定义一些 XML 元素,用于表示 CIM 的类和实例。
CIM Operations over HTTP specification , HTTP 上的 CIM 操作规范,定义了一个 CIM 操作到 HTTP 的映射,使得 CIM 的实现可以用一种开放、标准的方式进行互操作。
我毕设的工作是基于 SMI-S 这个规范,对某一个具体的方面进行建模,并进行简单的管理。
主要使用的工具是 The Open Group 开源实现的 OpenPegasus ,以及一个辅助开发工具 Cimple。Cimple对建模工作和Provider开发并不是必需的,但利用Cimple可以大大简化开发的工作。
OpenPegasus 和 Cimple 都有跨平台的支持,在 Windows 和 Linux 均可使用,按其官方文档,应该还支持很多类型的平台,这里不一一细数。我是在 Ubuntu 11.04 下进行开发的。编译过程中除了按照官方手册进行操作之外,还需注意三点:
(1)OpenPegasus编译完成后,其自带的Provider测试程序并不能全部通过,但至少从我毕设的效果来看,这并没有太多不利影响。
(2)记得需要 make repository 后, cimserver 才能正常使用。
(3)Cimple对OpenPegasus的配置,按官方文档,配置过程中执行
./configure –with-pegasus-env
即可。但这样会出现对KonkretCMPI这个项目的依赖(这里使用的Cimple版本号为2.0.16),因此,要么解除这个依赖,要不解决这个依赖。因为我的毕设过程中没有涉及到对CMPI的支持,故在配置选项中排除了对CMPI的支持。另外,因为在Provider中有用到内嵌实例,默认配置中不支持该功能,需要在配置选项中加上。
./configure \
–prefix=$PEGASUS_HOME \
–libdir=$PEGASUS_HOME/lib \
–with-pegasus=$PEGASUS_HOME \
–with-pegasus-libdir=$PEGASUS_HOME/lib \
–with-pegasus-includes=$PEGASUS_ROOT/src \
–enable-embedded-instances
做完这些工作后,即开始具体的建模和 Provider 开发。
建模工作,需要针对具体的领域进行具体的工作。这里不准备详细讲述。
后面具体的 Provider 实现工作,可以根据 Cimple 源码包 doc 文件夹下的 Using_Cimple.pdf 中所提供的一些范例来进行。在本文中也不详细讲述了。
对 OpenPegasus 和 Cimple 的具体使用,以及后面的建模工作和 Provider 实现过程,若有读者有兴趣,欢迎和我交流。




Latest Comments