Chinaunix首页 | 论坛 | 博客
  • 博客访问: 816725
  • 博文数量: 162
  • 博客积分: 5308
  • 博客等级: 大校
  • 技术积分: 2152
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-15 19:09
个人简介

DevOps让系统管理更轻松。

文章分类

全部博文(162)

文章存档

2014年(28)

2012年(10)

2011年(6)

2009年(60)

2008年(58)

我的朋友

分类:

2009-01-30 17:13:37

odm是由一组对象类和对象所组成的数据库。对象类相当于oracle数据库中的table,由odmcreate创建,删除可以使用odmdrop,对象就相当于table中的row或叫记录,可以使用odmadd命令加入对象,使用odm delete命令删除,使用odmchange命令修改指定记录。查询的命令可以使用odmget

    使用 ODM 命令

当使用 odmcreate 或者 odmdrop 命令来创建或者删除对象类,请使用以下方法之一指定将从中访问类定义文件的目录:

 

将文件存储在 $ODMDIR 指示的缺省目录下,即:/usr/lib/objrepos 目录。

使用 export 命令设置 ODMDIR 环境变量以指定存储目录。

使用 unset 命令取消 ODMDIR 环境变量的设置,用 cd 命令将当前目录更改为您要存储对象类的目录。然后,在该目录中运行 ODM 命令。定义对象类的文件将被存储在当前目录下。

使用 odmdeleteodmaddodmchangeodmshow 或者 odmget 命令与类和对象一起工作时,请使用以下方法之一指定包含对象类的目录:

 

$ODMDIR 指示的缺省目录(即 /usr/lib/objrepos 目录)中的对象类一起工作。

使用 export 命令设置 ODMDIR 环境变量来指定目录。

从命令行使用 export 命令将 ODMPATH 环境变量设置为一个字符串,该字符串包含将在其中搜索对象类的、用冒号隔开的目录的列表。例如:

 

$ export ODMPATH = /usr/lib/objrepos:/tmp/myrepos

仅当 $ODMDIR 所指定的目录中不包含对象类时,才搜索 $ODMPATH 中的目录。

 

   比较常用的命令是odmgetodmadd命令:

odmget

odmget [  -q Criteria ] ObjectClass ...

 

描述

odmget 命令以搜索规则和对象类列表为输入,从指定的对象类中检索选定的对象,并写 ASCII odmadd 输入文件到标准输出。

 

标志

-q Criteria 指定用于从对象类中选择对象的搜索条件。如果没有指定标准(没有 -q 标志),检索对象类中的所有对象。

F50:[/]#odmget -q name=hdisk1 CuAt |more

CuAt:

       name = "hdisk1"

       attribute = "unique_id"

       value = "2308AJ27R0820CDNES-309170W03IBMscsi"

       type = "R"

       generic = ""

       rep = "sl"

       nls_index = 0

 

odmadd

添加对象到创建的对象类。

 

语法

odmadd [ InputFile ... ]

 

描述

odmadd 命令以一个或多个InputFile 文件为输入,并且添加对象到带有节文件数据的对象类中。每个 InputFile 文件是 ASCII 文件,包含有描述要添加到对象类中的对象的数据。如果没有指定文件,从标准输入中获取输入。

 

在使用odmadd命令之前,最好使用odmget 查询并生成样本文件,然后修改一下,再使用odmadd命令加入指定的对象类。

注意:odmadd 将把对象添加到$ODMDIR变量指定的目录所对应的对象类中去。

比如:

取一份odm样板;

# odmget -q name=hdisk2 CuAt > hdisk3odm.add

 

编辑样本文件,最重要的是修改pvid属性回原有硬盘的pvid,另外一项属性unique_id名字也一起修改了。当然还有name要更正为hdisk3。插入修改过的文件到CuAt

# odmadd hdisk3odm.add

 

 

 

odmshow命令:

odmshow 命令以对象类名称(ObjectClass)为输入并在屏幕上显示类描述。 类描述的格式采用 odmcreate 命令的输入格式。

F50:[/]#odmshow CuDv |more

class CuDv {

       char name[16];                               /* offset: 0xc ( 12) */

       short status;                                /* offset: 0x1c ( 28) */

       short chgstatus;                             /* offset: 0x1e ( 30) */

       char ddins[16];                              /* offset: 0x20 ( 32) */

       char location[16];                           /* offset: 0x30 ( 48) */

       char parent[16];                             /* offset: 0x40 ( 64) */

       char connwhere[16];                          /* offset: 0x50 ( 80) */

       link PdDv PdDv uniquetype PdDvLn[48];        /* offset: 0x60 ( 96) */

       };

/*

       descriptors:    8

       structure size:     0x98 (152) bytes

       data offset:    0x200030e8

       population:     55 objects (55 active, 0 deleted)

*/

 

需要了解的几个对象类:

PdDv    预定义设备库

PdDv:

       type = "scsd"

       class = "pdisk"

       subclass = "ssar"

       prefix = "pdisk"

       devid = ""

     以上三个参数 再使用mkdev的时候需要用到,需要特别关注,如果查找起来不方便的话,可以使用lsdev –P –H 产看预配置数据库中的这三个选项。此项对于使用mkdev生成虚设备也非常方便。

 

PdAt    预定义属性库

PdAt:

uniquetype = "tape/scsi/8mm"

attribute = "block_size"

deflt = "1024"

values = "0-245760,1"

 

CuDv   用户自定义设备库

CuDv:

name = "rmt0"

status = 1

chgstatus = 2

ddins = "tape"

location = "04-C0-00-1,0"

parent = "scsi0"

connwhere = "1,0"

PdDvLn = "tape/scsi/8mm"

 

 

CuDv:

       name = "hdisk1"

       status = 1

       chgstatus = 2

       ddins = "scdisk"

       location = "10-60-00-1,0"

       parent = "scsi0"

       connwhere = "1,0"

       PdDvLn = "disk/scsi/scsd"

 

CuAt:用户自定义属性库

CuAt:

       name = "hdisk1"

       attribute = "unique_id"

       value = "2308AJ27R0820CDNES-309170W03IBMscsi"

       type = "R"

       generic = ""

       rep = "sl"

       nls_index = 0

 

由以上输出可以看出,在使用odmget命令查找odm用户数据库信息时,可以使用 name=×作为查询key

 

Additional Device Object Classes

CuDep:

name = "rootvg"

dependency = "hd6"

CuDep:

name = "datavg"

dependency = "lv01"

CuDvDr:          设备驱动

resource = "devno"

value1 = "22"

value2 = "0"

value3 = "rmt0"

CuVPD:            设备vpd信息 vital product data

name = "rmt0"

vpd = "*MFEXABYTE

PN21F8842"

PdCn:             预定义配置信息

uniquetype = "adapter/pci/sym875"

connkey = "scsi"

connwhere = "1,0"

 

 

 

ODM 管理的系统数据包括:

 

设备配置信息

SMIT(菜单、选择器和对话框)的显示信息

安装和更新过程的重要产品数据

通信配置信息

系统资源信息

 

注意:ODM中不包含设备驱动程序,只能从设备驱动文件往CuDvDr中写驱动记录

 

 

设备状态:

Define:没有加载驱动,但odm中有定义

Available:已加载驱动,并将驱动记录进CuDvDr.

Stopped:停止状态,有些设备支持此状态

阅读(1394) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~