(转)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=vgname
odmdelete -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 ...
随机推荐
- 在VMware中设置CentOS7的网络
为了能够使用XShell来管理我们安装好的CentOS7系统,所以我们要先设置CentOS7的网络使其能够联网. 1.选择vmware的编辑,然后点击虚拟网络编辑器 2.点击更改设置(需要有 ...
- [转]Clean up after Visual Studio
本文转自:https://weblogs.asp.net/psheriff/clean-up-after-visual-studio As programmer’s we know that if w ...
- 咏南中间件更新日志--将数据库配置独立成DBCONFIG.EXE
咏南中间件更新日志--将数据库配置独立成DBCONFIG.EXE.
- Android-自定义控件之事件分发
最大范围 外层蓝色区域是继承ViewGroup 中间红色区域,也是继承ViewGroup 最中间黑色区域,是继承View 布局相关的代码: <!-- 事件分发 --> <view.c ...
- CDI Event解析
CDI(Contexts And Dependency Injection)是JavaEE 6标准中一个规范,将依赖注入IOC/DI上升到容器级别, 它提供了Java EE平台上服务注入的组件管理核心 ...
- 在一般处理程序清理cookie
清理cookie在ashx里面很奇怪,因为直接设置过期时间并不能成功,cookie还是会存在.所以需要添加一个同名的Cookie设置过期时间覆盖 HttpCookie cookie = null; / ...
- 好看的table样式
收藏个好看的table样式 <style type="text/css">table.gridtable { font-family: verdana,arial,sa ...
- C#基础笔记(第十六天)
1.进程复习//通过进程去打开应用程序 Process.Start("calc"); Process.Start("mspaint"); Process.Sta ...
- SharePoint Adventures : Using Claims with Reporting Services
Cannot convert claims identity to a windows token. This may be due to user not logging in using win ...
- Luogu1438 无聊的数列(单点查询)&&加强版(区间查询)
题目链接:戳我 线段树中差分和前缀和的应用 其实对于加上等差数列的操作我们可以分成这样三步-- update(1,1,n,l,l,k); if(r>l) update(1,1,n,l+1,r,d ...