购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 管理AIX中的设备

设备是被驱动用于某种功能的硬件。当某个RS 6000 兼容设备启动后,AIX将驱动、管理这个设备,使其发挥功能——这就需要AIX中的设备管理。在服务器设备管理中,我们常会用到如下几个概念。

■ 物理设备:通过某种挂接方式连接到RS 6000 系统的硬件,例如一块硬盘。

■ 设备驱动程序:AIX内核用于控制该硬件动作和数据发送的接口软件。

■ 逻辑设备:提供给用户和应用程序使用的软件接口,也称为设备文件。数据被发送给逻辑设备后,根据逻辑设备的定义,数据将被传送给对应的设备驱动程序。对逻辑设备的使用,实际上就是设备驱动程序运行在对应物理设备上的具体应用。

2.1.1 AIX使用设备类型

和其他UNIX类似,AIX将设备文件放在一个特殊目录/dev下。这个目录包含了能被用户使用的所有逻辑设备,查看其目录内容如下。

上面结果中显示的各个文件,就是当前AIX系统中存在的设备。一般而言,AIX(和其他UNIX)中的设备可以分为两种类型:

■ 块设备:随机存取的设备,在访问设备时可以使用缓冲技术,实现按块的数据访问。典型的块设备即为硬盘上安装的文件系统。

■ 字符设备:使用顺序方式写入的、面向流的设备类型,在访问过程中并不采用缓冲区方法优化。典型的字符设备即为未定义文件系统的逻辑卷(称裸设备),或者磁带机、终端等。

当我们使用ls –alt命令列出/dev目录中文件类型时,第一列的字母如果是b,则表示是块设备文件;如果是c,则表示是字符设备文件。另外,很多设备既提供按照块方式的访问,也提供按照流方式的访问,也就是同一个物理设备可能同时存在块设备和字符设备文件。典型的类型如物理磁盘(如某块磁盘hdisk10,其块设备为/dev/hdisk10,字符设备为/dev/rhdisk10)等,示例如下:

上面的返回结果中,第一个域标示了设备类型和访问权限,第三、第四个域标示了设备属主和组,第五个域标识了设备的主设备号和次设备号。主设备号指明了驱动某种设备的驱动程序代码,次设备号则指明了这个设备在同类设备中的位置。

例如上述结果中的磁盘设备hdisk10,其主设备号是 47,次设备号是 8,表明AIX将使用驱动程序代码为 47 的驱动程序,来驱动和控制第 8 号磁盘设备。

一般而言,AIX中有如下类型的块设备。

■ cd0:CD-ROM

■ fd0:软盘驱动器

■ hdl、fslv00:逻辑卷

■ hdisk0、hdisk1:物理磁盘(物理卷)

AIX中有如下类型的字符设备。

■ console、lft、tty0:终端

■ lp0:打印机

■ rmt0、rmt1:磁带驱动器

■ ent0、ent1、ent2:网络接口适配器

■ rfd0:软盘驱动器的字符设备

■ rhdl、rfslv00:逻辑卷的字符设备

■ rhdisk0、rhdisk1:物理卷的字符设备

数据库应用中经常使用的裸设备,就是这里所说的逻辑卷的字符设备。在其他UNIX中,裸设备可能是一块物理盘或者物理盘上的一个分区(Partition),在AIX(或者HP-UX)中,裸设备一般就是“逻辑卷设备对应的字符设备文件”。

2.1.2 AIX的设备分层管理

AIX中的设备按照分层方式管理,依据的是功能分类,即按照基本功能分组。下一级为功能子类,根据其具体功能进行划分。最后一级即为类型子类,按其类型和厂商来区分设备。使用下面的lsdev命令可以说明这种设备的分类方式,如图2-1 所示。

图2-1 AIX系统设备列表和对应的分类

从上面的“阶梯状”数据可以看出,AIX中存在下层设备依赖于上层设备的关系。在AIX中,这种分层和依存关系保存在一个特定的数据库——ODM(Object DatabaseManagement)中。

如前所述,ODM数据库可以分为预定义库和定制库,分别保存本系统支持的设备和已经定义的设备。对应的信息可以通过lsdev命令获得。lsdev –C选项可以列出定制库的设备定义,如下面的列表所示:

设备显示可以按照设备分类来查询,例如在下例中,我们列出了在定制库的设备定义中,关于磁盘设备的配置情况:

ODM预定义库则存放本机支持设备的信息。同样是通过lsdev命令查询,通过–P选项来制定预定义库。该命令可能返回一个很大的列表,列出本机所支持的设备:

2.1.3 ODM对象数据库

ODM是AIX中用于系统数据存储的数据管理器。AIX的诸多系统管理任务都会使用到ODM数据库,该数据库保存了如下类型的内容:

■ 系统中设备的配置信息

■ 系统通信相关的配置信息

■ 系统软件和修补安装的记录信息

■ 系统资源信息

■ SMIT的显示信息项及SMIT工具菜单、对话框等

ODM采用了面向对象的数据管理方法,它通过对象类,即通过对象在定义上的分层,实现了设备管理上的抽象。ODM设备配置数据库由predefined(预定义类)和customized(用户定义类)两个顶层类组成。预定义对象类(predefined)包含了AIX支持的全部设备定义,而用户定义类(customized)包含的则是系统中当前存在的设备。

在AIX系统中,实际连接设备的配置信息保存在/etc/objrepos/CuDv文件中,通过一个ODM管理命令odmshow可以显示其定义:

CuDv类的内容如上所示。可以看到,CuDv类中的每一项均为一个描述符。如果给这个类创建一个对象,或者说添加一个对象到CuDv类中时,AIX将对每一个描述符赋值。使用lsdev命令可以查看关于设备的定义信息,该命令使用了如下的选项。

■ -P:用于输出ODM中预定义设备对象类的信息。

■ -C:用于输出ODM定制库中定制设备对象类的信息。

使用下面的命令可以查看CuDv对象类中的对象和它们的相应值。

下面的命令显示了系统设备信息,其中-P选项则指明要输出的是预定义设备信息。

设备可以由表示设备功能的分类class、表示设备型号的类型type、表示设备与系统连接方式的子类subclass来进行细节描述,分别对应lsdev命令的-c、-t、-s选项。例如,下面我们列出预定义库中支持物理磁盘种类的列表。

上述功能也可以通过用SMITTY工具来查询,当然在实质上完全等同于命令lsdev-P或者lsdev-C的功能。

2.1.4 设备的状态特征查看

在AIX中,系统设备当前的运行状态分为如下三种。

■ 未定义(Undefined):系统中尚未存在该设备的相关记录信息,这种设备完全不能使用。

■ 已定义(Defined):系统中已经保存了关于设备的逻辑设备名、连接端口、相关属性设置,但是当前设备还不能使用,逻辑设备名不可访问。这种设备需要激活才能使用(例如:设备尚未加电)。

■ 可用(Available):设备已定义完成,并且已经处于连接和加电状态。这类设备能够使用,逻辑设备名可以访问。

三种状态存在转换关系,例如我们给系统添加某个设备,系统中当前并未保存该设备的记录信息,则该设备为未定义状态。设备经过加电自检后被系统识别,成为可用状态。然后设备断电不可使用,成为已定义状态,如图2-2 所示。

图2-2 AIX中设备所处的状态及状态转换关系

使用lsdev –C命令可以查看当前系统的状态信息。

可以看到,其中en0 网卡设备状态为可用,en1~en3 网卡设备状态为已定义(未接交换机)。

2.1.5 设备的配置和检测

AIX提供了若干工具进行设备的相关管理,如创建设备、修改设备属性、查看设备信息、删除设备等操作。在进行这些操作时,ODM数据库会做相应的修改。常用的设备配置命令如下。

■ mkdev、rmdev:用于创建设备和删除设备,如可用mkdev -l命令(-l指逻辑设备名)配置已定义设备,也可用rmdev -dl命令完全删除设备及其定义。

■ lsdev、lsattr:用于显示设备信息和某个设备的属性,如可用lsdev -C命令查看设备状态,也可用lsattr -l命令(-l指逻辑设备名)查看设备属性的当前值。

■ chdev:用于更改给定逻辑名设备的特征,如使用chdev -l 命令即可用于设备属性的修改。

例如,利用下面的命令创建一个 4 毫米SCSI磁带机设备。

下面显示设备rmt0 的属性定义情况。

修改设备rmt0 的属性定义,下面的语句将磁带数据块尺寸修改为 512。

SMITTY工具同样可用于设备的状态管理。在SMITTY中对应的菜单项和前面的命令作用大致相同,如图2-3 所示。

图2-3 在SMITTY中改变设备属性

另一个工具是AIX著名的cfgmgr命令。该命令称为配置管理器命令,用来配置系统中可自动识别的设备。当我们向系统中添加新设备时,或者当我们对那些没有在系统启动中自检到的设备进行配置时,cfgmgr命令可以用于配置设备,并且有选择地将设备驱动程序安装到系统中。在设备驱动程序安装中指定了如下几个问题:

■ 可执行程序的完整路径

■ 何时执行该程序

■ 哪个阶段运行该程序

在系统启动的阶段中,AIX就会调用该命名来识别设备。系统启动后,cfgmgr命令会动态配置系统设备——通过硬件检测及动态地创建设备文件、安装驱动程序,使设备变为可用。

cfgmgr命令可以在命令行运行,也可以通过SMITTY工具调用。下例中我们用cfgmgr命令来进行设备的自动检测:

在生产系统上,主要的可检测设备是SCSI设备,如磁盘、磁带等。对于SCSI设备,cfgmgr能够自动检测到SCSI适配器,并检测到SCSI上挂载的设备。

在下例中,假设系统外置了一套存储设备,但该设备并未启动。这时,其磁盘设备状态为“已定义”。在存储加电后,通过运行cfgmgr命令,则存储设备即可识别。

外置存储设备加电。

STEP 2 主机内运行cfgmgr命令。

STEP 3 使用lsdev –Cc disk命令检查磁盘,可以看到,磁盘的状态为“可用”。

2.1.6 设备属性信息查看

系统设备被识别和配置后,lsattr命令可以用来显示设备属性相关信息,该命令通过-l参数指定要查看设备的逻辑名,或者使用一个组合来唯一标示某设备,常用的几个选项为 -c Class、-s Subclass、-t Type。lsattr命令的常用参数如表2-1 所示。

表2-1 lsattr命令的常用参数

下面的命令列出了磁带设备rmt0 的当前属性值。

下面的命令列出了磁带设备rmt0 的默认属性值。

下面的命令列出了tty0 所连接串口的speed属性当前值。

在SMITTY环境中也可以进行设备的配置。SMITTY快速路径“#smitty devices”允许在SMITTY菜单界面中完成下面的工作:

■ 安装或配置系统启动后添加的设备

■ 删除现有设备

■ 显示和更改现有的设备的属性

■ 确定设备使用问题

2.1.7 创建主机硬件配置档案

对于管理员来说,最好做一个当前系统硬件配置的档案,如下的三个命令可能有助于档案的建立。

■ lsattr -El sys0:该命令用于查看已配置设备的详细属性信息。

■ lscfg -v:该命令可以输出所有已配置设备的详细信息。

■ lsdev –CH:该命令可以输出设备名、设备状态、设备位置等相关信息。

最后,AIX还提供了一个综合上述三个命令功能的命令——prtconf,该命令可以打印出系统的配置信息:

2.1.8 AIX中设备的改名

从AIX 6.1 TL6 和AIX 7.1 开始,我们可以对设备进行重命名,使用一个rendev的新命令,该命令用于重命名设备。该命令常用语法如下:

在下面的示例中,磁盘hdisk4 重命名为 hdisk300。需要注意的是,如果磁盘已经在卷组中打开,则该卷组需要被先行卸载。首先查看系统磁盘状态如下:

接着调整hdisk4 磁盘状态为Defined:

重命令设备hdisk4 为hdisk400,并重置hdisk4(hdisk400)的状态为可用:

同理,我们可以完成对网卡、SCSI卡等设备的重命名。 zj4fd1DcX193bjmOaAL/b8m+on9Dnt7Qlftv65SlGT+Yo+poxKRlzrpP3GIjbWVo

点击中间区域
呼出菜单
上一章
目录
下一章
×