(转)AIX ODM 简介
什么是 ODM
原文:https://www.ibm.com/developerworks/cn/aix/library/1105_chenwei_odm/
Windows 的注册表相信大家都知道,是 Windows 的核心部件之一。我们在使用 Windows 的时候经常会遇到必须通过手工删除注册表中特殊的键值才能解决的问题,但操作很简单,点击“开始”->“运行”-> 输入“REGEDIT”,然后在图形化的注册表编辑器中搜索就好了。
ODM 就好像 AIX 的注册表。同样 AIX 上的 ODM 有时也会出问题,也需要手工操作。但是由于缺乏图形化的工具,ODM 的操作就没有那么大众化了。:( !
通过对本文的阅读可以帮助 AIX 使用者了解 AIX 的核心组件 ODM,能更好的认识和解决 AIX ODM 相关的疑难问题。
下面先简单介绍一下 ODM。
ODM 是 Object Data Manager 的简称。它是一个采用面向对象的方法来管理系统数据的工具集。这个工具集的作用是提供一些基本命令来保存系统配置信息的。系统的配置信息会通过这个工具集保存到指定的二进制的文件中。
构成 ODM 的基本组件是对象类和对象。要管理对象类和对象,必须使用 ODM 命令和 ODM 的 C 语言函数库。我们可以利用这些接口程序为数据存储和管理创建对象类和对象。
简介 ODM 文件和命令
接下来,我们来了解一下 ODM 相关二进制文件的具体分布和一些基本的 ODM 命令。
ODM 数据库信息存放于以下三个目录中:
(1)/etc/objrepos
(2)/usr/lib/objrepos
(3)/usr/share/lib/objrepos
对于(1)里面的数据,主要是存储不能网络共享的数据。比如:用户设备定义类等等。
对于(2)里面的数据,主要是存储可共享,但只能被 AIX 系统共享,并且是只读的数据。
对于(3)里面的数据,主要是存储可共享,不依赖于 AIX 的数据。
你可以通过下面的命令判断默认被 AIX 系统使用的 ODM 存储文件。
图 1
让我们看看这个目录里面都有些什么。
图 2(查看大图)
这里有 2 类文件需要重点介绍一下。
(1)Pd* 文件
这些文件是系统预定义的 objects,不能被修改,在 AIX 系统安装的时候被创建的。
(2)Cu* 文件
这些文件是用户自定义的 objects,可以被修改。
ODM 的基本命令分为两类:
第一类是对对象的操作。
1)odmadd 添加对象到对象类。
2)odmchange 改变指定的 ODM 对象类中指定的 ODM 对象。
3)odmdelete 从 ODM 对象类中删除 ODM 对象。
4)odmget 取得对象类的信息并将对象信息变成 odmadd 命令格式输出。
第二类是对对象类的操作。建议大家慎用下面的命令,因为这些命令是对 ODM 对象类的操作。
1)odmcreate 创建空的对象类。
2)odmdrop 删除整个 ODM 对象类。
3)odmshow 显示 ODM 对象类的描述。odmshow 命令使用对象名称作为输入并将对象信息变成 odmcreate 命令格式。
通过实例讲述如何查看和修改 ODM Objects
下面我们通过实际的事例来了解一些 ODM 基本命令的用法。
odmget 命令举例
odmget 命令以搜索规则和对象类列表为输入,从指定的对象类中检索选定的对象,并输入到标准输出。
下面是它的命令格式:
|
1
|
odmget [ -q Criteria ] ObjectClass ... |
其中,-q Criteria 指定用于从对象类中选择对象的搜索标准。Criteria 是一个用双引号括起来的字符串。如果没有指定标准,检索对象类中的所有对象。 Criteria 参数指定的查询条件可以使用关系运算符和布尔运算符,象 =,!=,>,>=,<,<=,like,and 等。
下面是一些使用运算符的例子:
Name like '?B?' ? 表示一个字符
Name like '*ot*' * 表示 0 到多个字符
Name like '[ST]*' [ST]* 表示以"S"或"T"开头的任意多个字符串
Name like '[AD-GST]*' D-G 表示范围,可以是 D、E、F、G(从 D 到 G)中任一字符。
Name like '[!ST]*' [!ST]* 表示不以"S"或"T"打头的任意字符串
下面的举例是:
1)首先显示 erProduct 这个对象类的基本信息
2)然后找出符合 erFTDC=0 这样条件的 erProduct 对象。
图 3

odmdelete 命令举例
odmdelete 命令在给定了要从中删除的对象类和搜索规则后,会删除所有满足标准的对象。
下面是它的命令格式:
|
1
|
odmdelete -o ObjectClass [ -q Criteria ] |
其中,-o ObjectClass 指定要从中删除的对象类。-q 标准指定用于从对象类中选择对象的标准。 如果没有指定标准,删除所有对象。
下面的举例是:
1)首先显示 rsDDMTable 这个对象类的基本信息
2)然后删除符合 ddmFamily=ASNF300 这样条件的 rsDDMTable 对象。
图 4

odmchange 命令举例
odmchange 命令将修改指定对象类中某个符合条件对象的内容。InputFile 文件和用于 odmadd 命令的 InputFile 文件(ASCII 输入文件)有同样的格式。
|
1
|
odmchange -o ObjectClass [ -q Criteria] [ InputFile] |
下面的举例是:
1)首先显示 rsDDMTable 这个对象类的基本信息
2)显示 changefile 文件的内容
3)显示符合 ddmFamily=ASNF300 的 rsDDMTable 对象
4)修改符合 ddmFamily=ASNF300 的 rsDDMTable 对象的 diskRPM 为 99999
5)显示符合 ddmFamily=ASNF300 的 rsDDMTable 对象
图 5

通过实例讲述 ODM Object 和 AIX 系统盘的关系
首先,我们来了解一下 AIX 的系统盘概念。
在 AIX 系统中,有下面 3 个和磁盘相关的概念。
- PV:物理卷(就是指物理硬盘),一个硬盘就是一个 PV,一个系统中可以有多个 PV。
- VG:卷组的概念,在 AIX 系统中一个 VG 可以由一个或多个 PV 组成。
- LV:逻辑卷,通常我们的操作系统,应用软件都安装在 LV 上。
下面就是一个普通的 AIX 系统的 PV,VG,LV 的对应关系。
图 6
可以看到,其实所有 LV 的 parent 都是“rootvg”。所有 LV 和 VG 的所有关系都存储在 AIX 系统的 ODM 中。其实这个就像是数据库中数据的关系表一样,环环相扣。
图 7
有时候,我们会遇到由于误操作(比如非法拔掉了一个 AIX 上的硬盘或者人为操作错误或者其他的特殊原因)导致的 PV,VG,LV 之间发生混乱和不匹配,有可能使某一个物理卷上的逻辑卷和卷组的描述信息和与其对应的 ODM 库中的信息不一致,从而导致 ODM 库混乱,对物理卷的有关操作无法进行。这个时候,不要慌乱,仔细查找一下 AIX ODM 的信息,然后按照正常的逻辑改成合理的关系就能解决问题。
预定义设备信息包括的对象类有PdDv,PdAt,PdCn
PdDv:对象类包括系统支持的所有预定义设备,它也包括一个PdAt对象类的链接
PdAt:对象类包括系统支持的所有预定义设备的所有可能属性
PdCn:对象包括系统支持的每个设备的预链接信息
比如,AIX 中出现了多个卷组,但实际上只有一块磁盘,且这块磁盘是属于 rootvg 的,可以按照下面的步骤去做:
- 先确定正确的那个卷组和磁盘的物理对应关系(可以问这个系统的安装人员)。
- 使用 odmdelete 从 ODM 中删除其它卷组的信息:
12
odmdelete -o CuAt -q name=vgnameodmdelete -o CuDv -q name=vgname - 使用命令用以将指定物理卷上的逻辑卷管理的信息重新定义给指定卷组的 ODM 库。
1
redefinevg -d <hdisk_name> <vg_name>其中,<hdisk_name> 为卷组中物理卷的名称,<vg_name> 为卷组的名称
总结
本文是介绍 AIX ODM 的文章。通过对本文的阅读可以帮助 AIX 使用者了解 AIX 的核心组件 ODM,能更好的认识和解决 AIX ODM 相关的疑难问题。通过运用这些技巧,我们可以提前设置我们的工作环境,给我们的日常工作带来极大的便利,提高我们的工作效率。
(转)AIX ODM 简介的更多相关文章
- AIX 环境下ODM库同步
IBM AIX v5.3操作系统环境下有时会出现ODM库与rootvg硬盘上数据不同步的情况.使用命令lsvg -l datavg检查文件系统类型,发现显示为"???"这就表示OD ...
- AIX网络性能优化简介
在AIX 中,网络性能的优化可从以下几方面进行: 网络内存(network memory)的调整 socket 缓冲区 (socket buffer) 的调整 网络接口(network interfa ...
- AIX下sort命令简介及使用
AIX下sort命令简介及使用 sort -rn +3 , r倒排序,n按照数字排序: +3按照第四列排序: 第一列是+0: 学习:http://blog.csdn.net/chen_linbo/a ...
- AIX 逻辑卷简介
1.基本概念 LVM的组成:物理卷PV.卷组VG.逻辑卷LV.物理分区PP.逻辑分区LP.文件系统等 物理卷:物理卷表示AIX可以识别的物理磁盘(hdisk*),一个物理卷指一块硬盘.可以是内部的 ...
- 【OS】NMON的简介和使用
[OS]NMON的简介和使用 目前NMON已开源,以sourceforge为根据地,网址是http://nmon.sourceforge.net. 1. 目的 本文介绍操作系统监控工具Nmon的概念. ...
- 第1章 Linux系统简介
第1节 UNIX发展历史和发行版本 1. UNIX与Linux发展史 1.1 UNIX发展历史 (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发 ...
- RabbitMQ简介
AMQP简介 在了解RabbitMQ之前,首先要了解AMQP协议.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消 ...
- AIX 5L 系统管理技术 —— 存储管理——卷组
卷组 在安装系统时,就会创建一个rootvg卷组.包含自带硬盘(内置硬盘)和系统逻辑卷,一个系统只能有一个rootvg卷组.一般情况下rootvg卷组最好只包含自带硬盘. 一.创建卷组 在创建卷组之前 ...
- AIX 5L 系统管理技术 —— 存储管理——物理卷
一.向系统中添加一块硬盘 方法一 该方法适用于在配置之前能够重新启动系统的情况.在系统启动时,就会运行cfgmgr命令,它可自动配置系统中的新设备.当完成了系统启动后,以root用户进入系统,用lsp ...
随机推荐
- UVa 10537 The Toll! Revisited (最短路)
题意:给定一个图,你要从 s 到达 t,当经过大写字母时,要交 ceil(x /20)的税,如果经过小写字母,那么交 1的税,问你到达 t 后还剩下 c 的,那么最少要带多少,并输出一个解,如果多个解 ...
- Spring 之 IOC
IoC的全称是Inversion of Control,中文称为控制反转, Martin Flower由根据它创造了一个新词:Dependency Injection,中文称为依赖注入.这两个词讲的是 ...
- EBS报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本
EBS打开报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本 打开EBS的form,系统报错,中文提示信息是:FRM-92095:oracle ji ...
- DATASNAP远程方法返回TSTREAM正解
DATASNAP远程方法返回TSTREAM正解 DATASNAP远程方法返回TSTREAM,如果数据大小超过32K是会报错的.许多DELPHIER栽在这个上头,甚至开始怀疑TSTREAM返回数据的可行 ...
- ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5
ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5 ...
- Windbg and resources leaks in .NET applications 资源汇总
Windows Forms Leaks 1.http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-informatio ...
- 翻译,NTLM和频道绑定哈希(EPA)
为了过NTLM 的EPA认证, 参考了这篇文章,现在翻译过来,备查. 如果你知道NTLM,并且需要过EPA, 那么这篇文章一定是你最想知道的. 原文地址: NTLM and Channel Bindi ...
- hbase zookeeper独立搭建
一.zk单独搭建 1.修改配置文件:conf/zoo.cfg tickTime=2000 dataDir=/home/hadoop/data/zookeeper clientPort=2181 ini ...
- 查看JVM
通过jconsole.exe来查看,jconsole.exe所在目录为/%JAVA_HOME%/bin/jconsole.exe 需要配置: -Dcom.sun.management.jmxrem ...
- jQuery限制文本框的输入长度
jQuery限制文本框输入,包含粘贴. //限制文本框的输入长度 $(function () { $(document).on("keypress", ".txt-val ...



