第七章 设备管理

一、设备的层次关系

AIX系统将设备的层次结构分成三层,如图:

1)顶层是功能分类(Functional Class),就是按照设备的基本功能分组,表示设备可以做什么,例如,所有的适配器都属于adapter类,adapter就是一个功能分类;所有的打印机都属于printer功能分类;所有的总线都属于bus功能分类;所有的磁带机都属于tape功能分类。

2)第二层是功能子类(Functional Subclasses),是按某一个具体的性质划分,表示设备以什么样的方式连接到系统上。将一个功能分类划分成多个功能子类,例如,ISA的标准输入输出适配器属于isa_sio功能子类,而PCI适配器属于pci功能子类;有如打印机有串口和并口之分,串口打印机属于rs232功能子类,二并口打印机属于parallel功能子类。

3)最底层的是设备类型(Device Type),它是按照型号和制造商来分类,表示设备具体是什么型号,例如,同属于SCSI功能子类的磁带机可分为8mm和4mm两种型号。

通常预定义设备数据库对内部设备提供了相当完备的支持,而对外部设备的支持是“按需”的。用户定义设备数据库包含着当前已经存在系统中并被定义和配置的设备,当前与系统所连接的每一个设备就是一条记录,都被保存在用户定义设备数据库中。

二、逻辑设备文件

应用程序是通过逻辑设备来操作物理设备的,逻辑设备是应用程序操作物理设备的接口,应用程序把数据从逻辑设备读入到内存进行处理,处理完毕以后,将结果又写到逻辑设备,操作系统处理逻辑设备和物理设备之间具体的数据传输。

当用户程序从逻辑设备读数据时,操作系统通过设备驱动程序从物理设备活的数据交给逻辑设备;当应用程序向逻辑设备写数据时,操作系统通过设备驱动程序把逻辑设备上接收来的数据送给物理设备。

在Unix系统中,逻辑设备常常表现为设备文件,设备文件是一种特殊的文件,它存在于/dev目录下,用户可以通过直接访问这些设备文件夹来实现对逻辑设备的读写操作。用户程序是通过设备文件来访问设备的,但是对实际设备的读、写操作则是由设备驱动程序来完成的。

Unix系统中设备分为两种:

1)块设备(Block Device),具有一定结构的随机存取设备,例如硬盘,文件系统等

2)字符设备(Character Device),这是一个顺序的数据流设备,对这种设备的读写是按字符进行的,而且这些字符是连续地形成一个数据流。它不具备缓冲区,对这种设备的读写是实时的,例如:终端,磁带机等。

三、设备的状态(共4种)

1)Undefined(未定义):表示系统无法识别该设备,也就是说在系统中找不到该设备。实际上这个状态并不存在,只是概念上针对预定义设备而言,有这样一种状态

2)Defined(已定义):表示系统可以识别该设备,该设备的信息也保存在用户定义设备数据库中,但是系统不能使用它。处于这种状态的设备,系统已经分配了一个逻辑设备名和一个设备端口,并且存储了与之相关的属性,只是设备不能由系统来使用,用户也不能访问它。

3)Available(可用):表示该设备在系统中可以使用,用户也可以访问。

4)Stopped(停用):表示设备不能被使用,但是操作系统可以通过驱动程序识别到它

四、RS6000和pSeries服务器的机器类型

通过#bootinfo -p查看

标识

含义

rs6k

微通道的单处理器类型

rs6ksmp

微通道的多处理器类型

rspc

ISA总线类型

chrp

PCI总线类型

五、设备的位置编号

位置编号分为两种,一种是物理位置编号(Physical Location Code),描述物理设备的连接;一种是AIX系统位置编号,描述物理设备在操作系统中的逻辑连接。不同的机器类型,其位置编码也不同。但格式相同。

AIX系统的位置编号格式按是否为SCSI设备来区分,分为两种:非scsi设备位置编号格式为:AB-CD-EF-GH,scsi设备位置编号格式为:AB-CD-EF-G,H。对于这两种设备,位置编号AB-CD-EF含义都是相同的,不同的只有最后两位字符。

1)AB:表示总线类型,也就是适配器所在的系统主板。AB为00时,表示是适配器在CPU板卡或者系统单元(因机器类型不同)中。AB为其他值时,表示适配器在I/O扩展板卡中,因此,AB就是指I/O总线和CPU板卡上的插槽。其中A表示I/O总线,也就是总线类型,A为0时,表示标准I/O总线,A为1时,表示可选择的总线。B为指定I/O总线上的插槽号,也就是在总线上的位置。

2)CD:表示插槽,适配器号,其中C表示包含适配器的I/O主板。如果适配器在CPU板卡或系统单元中,C为0时,则表示标准I/O总线,C为1时,表示可选择的I/O总线。如果适配器在扩展I/O板卡中,C也为0。D表示适配器在标准I/O总线中的插槽号(或者是扩展I/O总线中的插槽号)。

对于基于PCI的RS6000来说,CD中的C表示总线类型,当C为0时,表示PCI总线,当C为1时,为ISA总线。D指定了插槽号,D为1时,表示第一个指定的适配器,它和SCSI集成在一起。D为2时,表示低端的PCI插槽,D为3时,表示高端的PCI插槽,对于集成适配器,D总是0.

任何一个适配器,都用AB-CD来定义。对于SSA(串行存储结构)适配器来说,它是系统I/O总线的标识。

因此,00-00的位置编号用于表示系统单元或CPU板卡中的标准I/O主板。下边举例:

00-00:系统单元或CPU板卡汇中的标准I/O主板。

00-06:适配器在标准I/O主板上的第6个插槽中,而标准主板在CPU板卡上的系统单元中(因机器类型不同而不同)

00-15:标识在CPU板卡中,适配器位于可选择I/O总线的第5个插槽中。

3)EF:标识连接器号,在适配器上可能有过个连接器,EF用于标识与设备相连的连接器。对于SSA设备,EF表示物理硬盘驱动器模块和逻辑硬盘驱动器模块。对于基于PCI的RS6000来说,EF为OD,OM,OK时,分别代表磁盘,鼠标和键盘的连接器。

对于SCSI适配器来说,位置编号是以00-00-XX格式表示时,表明SCSI控制器集成在系统主板上,没有插槽号。

4)GH、G,H:对于非SCSI设备来说,GH表示一个端口号、地址、DIMM和FRU等,他有多个含义。对于SCSI设备来说,“G,H”中的G表示设备的控制单元号,也就是SCSI ID,H表设备的逻辑单元号(LUN),例如:00-00-S1-00和00-00-S2-00是指连接在标准I/O串口S1和S2上的终端设备。

六、PCI设备的安装

当使用PCI适配器时,它所在的插槽号(slot Number)与在微通道设备中的插槽号一样重要,不要随意移动适配器的插槽。如果配置管理器不能自动配置某个新设备或者用户想要改变某个新设备属性值,就必须以手工的方式配置该新设备。

下边两条命令用来在AIX系统中管理可热插拔的PCI插槽

1)#lsslot:显示插槽列表及其属性

2)#drslot:动态地重新配置插槽。

此外,还可以用SMIT工具或基于Web方式的系统管理器来管理可热插拔的PCI插槽。

要添加一个可热插拔的PCI适配器,首先用drslot命令把插槽的状态设置为Identify(识别)状态来核实选择的插槽是正确的。按Enter键之后,那个插槽状态就改为Action状态。然后把设配器安装到机器中,当安装完之后,再按Enter键即打开插槽的电源。这样,此适配器安装完毕,可以用cfgmgr来识别它。

在从系统中移走适配器之前,必须在AIX系统中反配置它们,必须使适配器处在已定义(Defined)状态或者是从ODM数据库中删除它。

七、多路径I/O(MPIO)

AIX5.2提供多路径I/O(MPIO)技术,它允许单个设备(如磁盘,LUN)连接不通的适配器使它具有多条I/O路径。MPIO是基本内核的一部分,这些I/O路径必须位于同一台机器上或同一个逻辑分区(LPAR)上。但是如果多台机器连接到同一个设备上,这种情况是群集,而不是多路径I/O(MPIO)。

MPIO的好处:

1)改善设备性能

2)提高设备的可靠性和可用性

3)使系统管理变得更加容易

路径管理功能由两个模块组成:内核扩展(PCMKE)和运行时可加载配置模块(PCMRTL)。

在一个多路径I/O的子系统中,任何设备可能会有一条或多条访问它的路径。PCMKE的路径选择是根据设备的配置来检测路径和传递信息到设备驱动程序。每一个具有MPIO能力的设备驱动程序都能添加一个设备的路径,这条路径是从这个设备的直接父设备到它本身。当向设备发送一个I/O请求时,设备驱动程序必须决定使用那一条路径来传送请求。PCMKE依据多项标准来选择最佳路径:负载均衡,连接速率,线路故障情况等。

通过设备厂商提供的模块,通过不同的适配器访问单个设备,但不使用MPIO技术已经成为可能。像ESS(IBM storage)的子系统设备器驱动程序(Subsystem Device Driver,简称SDD),但是需要为每一条路径创建一个hdisk逻辑设备,同时由SDD负责路径管理。

由SDD(没有使用MPIO技术)负责路径管理,存在一下缺点:

1)它们对固件有依赖性

2)对每个子系统必须采用有差别的管理

3)在ODM中,每一条路径对应一个逻辑设备记录

4)必须使用一个专用的命令来建立一个操作系统卷组

如果使用了MPIO技术,一个MPIO设备或hdisk可以有多条路径到它的父设备(适配器),而在ODM数据库中这个设备只有一条记录。这样对一个包含着MPIO设备的卷组来说,可以使用普通的AIX命令来管理它,为了实现这个新特色,在AIX设备驱动程序中已经作了修改。

唯一设备标识符(UDID)

每一个具有MPIO功能的设备都有一个唯一的标识符,MPIO设备用这个唯一的标识符来区分系统中所有其他设备。一个具体设备的UDID值可以作为一个设备的属性保存在ODM的设备配置数据库中。

当cfgmgr运行时或者一个父设备的配置放方法在执行时,它会为子设备申请UDID。然后把这个UDID与保存在ODM数据库中的UDID来比较来决定所要采取的行动:

1)在系统中需要定义一个新发现的设备

2)设备已经存在,只需要定义一条路径

设备预定义策略

1、NO_RESERVE    在这种模式下,MPIO的路径算法能够支持I/O在单路径上传送(Fail_Over失效接管模式)和I/O分布在多路径上传送(负载均衡模式)。最好使用在并发模式(Concurrent Mode)的群集中。不应该使用在没有使用群集软件的群集(Cluster)中。

2、SINGLE_PATH    在这种模式下,MPIO的路径算法只支持I/O在单路径上传送(Fail_Over失效接管模式)。最好使用在设备只被一个节点所拥有的群集中。如果如果拥有节点的设备失效了,那么备用节点接管这种方式。

3、PR_EXCLUSTER    在这种模式下,MPIO的路径算法能够支持I/O在单路径上传送(Fail_Over失效接管模式)和I/O分布在多路径上传送(负载均衡模式)。最好使用在设备只被一个节点所拥有的群集中。如果如果拥有节点的设备失效了,那么备用节点接管这种方式。

4、PR_SHARED    在这种模式下,,MPIO的路径算法能够支持I/O在单路径上传送(Fail_Over失效接管模式)和I/O分布在多路径上传送(负载均衡模式)。这种方式最好使用在设备只被一个或多个节点所拥有的群集中。

检测一个具有MPIO能力的设备

为了把一个SCSI设备作为一个具有MPIO能力的设备来检测,需要在ODM预定义设备数据库(PdAt)中添加一些附加的属性。具有MPIO能力的所有设备都需要UDID,UDID是ODM中的一个属性。

此外,在ODM预定义设备数据库(PdAt)需要添加一个PCM(Path Control Module,多路径控制模块)属性,PCM属性指向一个ODM助手,它定义了PCMKE模块,这个模块给MPIO设备的驱动程序提供路径控制管理功能。PCM属性包含着PCMKE的名称,这个PCMKE可以使厂商提供的,也可以是AIX系统提供的。

如下SCSI磁盘只拥有一条路径,但是它被认为是具有MPIO能力的设备——

MPIO命令相关:lspath、mkpath、chpath、rmpath

时间: 2024-10-11 16:56:31

第七章 设备管理的相关文章

第七章

第七章 控制发光二极管. 尽管linux 驱动直接和硬件打交道,但并不是linux驱动直接向硬件中的内存写数据,而是与本机的i/o内存进行交互.所谓I/O内存是通过各种接口(PCI, USB.蓝牙以太网等)连接到主机的硬件在主机的内存映射.Linux内核提供了多个与I/O内存交互的函数.Linux内核的内存管理模块负责同步I/O内存与硬件的数据. 每一个连接Linux 的硬件在I/O内存中都会有映射首地址.在使用ioread 32.ioread32等函数读写I/O内存时需要指定这些首地址.Led

第七章:常用类

第七章:常用类 包装类 java中有8中基本类型,对应有八种包装类作用:包装类中封装了该类型常用的属性和方法,以方便操作.byte---->Byteshort--->Shortint--->Integerlong---->Longfloat---->Floatdouble---->Doublechar---->Characterboolean---->Boolean装箱:将基本数据类型转换成包装类,经常通过构造方法完成.Integer i = new Int

构建之法学习(第七章 MSF)

第七章 MSF MSF(Microsoft Solution Framework)微软解决方案框架: MSF是一套大型系统开发指南,是微软推荐的软件开发方法,它描述了如何用组队模型.过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考. 一.MSF 9条基本原则 1.推动信息共享与沟通 --把所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人. 当然,对牵涉到技术机密.安全性等信息要采取必要的保护措施

Android开发艺术探索——第七章:Android动画深入分析

Android开发艺术探索--第七章:Android动画深入分析 Android的动画可以分成三种,view动画,帧动画,还有属性动画,其实帧动画也是属于view动画的一种,,只不过他和传统的平移之类的动画不太一样的是表现形式上有点不一样,view动画是通过对场景的不断图像交换而产生的动画效果,而帧动画就是播放一大段图片,很显然,图片多了会OOM,属性动画通过动态的改变对象的属性达到动画效果,也是api11的新特性,在低版本无法使用属性动画,但是我们依旧有一些兼容库,OK,我们还是继续来看下详细

第九章 前七章总结考试答案

前七章总结测验见附件内容

ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse

ROS机器人程序设计(原书第2版)补充资料 (柒) 第七章 3D建模与仿真 urdf Gazebo V-Rep Webots Morse 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 提供ROS接口的3D软件比较多,本章以最典型的Gazebo介绍为主,从Player/Stage/Gazebo发展而来,现在独立的机器人仿真开发环境,目前2016年最新版本Gazebo7.1配合ROS(kinetic)使用. 补充内容:http://blo

构建之法第六、七章读后感

第六章 Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的.迭代的开发过程.Scrum包括了一系列实践和预定义角色的过程骨架.Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员. 敏捷流程一共有4步: 第一步:弄懂需求与任务是相互依赖的关系 第二步:想要学会把一个任务从产品层级的描述逐步细化到技术实现层面,那么技术能力和交流能力尤为重要的,根据每个人的能力来分配任务以保证任务的高效完成. 第三步:个人要

CSS3秘笈:第七章

第七章  margin.padding和border 1.盒模型:四个属性: (1)padding:内容与其边框线之间的空间. (2)border:盒子周围的直线 (3)background-color:用来填充边框内部空间的,包括padding区域. (4)margin:一个标签和另一个标签之间的间隔. 2.padding和margin的区别:padding是在内容和边框之间增加空间.避免内容被硬塞在方框里面,它还包括背景区域,因此padding占用的空间也可以为空白的内容.而margin则是

再读大道之简第七章第八章

有一句话叫做,理想很丰满,现实很骨感.原来,单纯的以为,软件工程不就是码农么,就连工作也是一心趴在课编程编程,各种编程上,可是,现实中的软件工程和理想中或者说,想象中的还是有很大的差距的.就连我们心中的大企业,也并不是想象中的那样.比如IBM知道把握力量总之比创造力量来得经济.我还单纯的以为,所有的公司只是为了盈利呢,依靠完成的软件去盈利.此时不禁自嘲一番,还是太嫩了啊.所有的大公司在标准.理论.语言上的争来夺取,未必全然出于“软件实现”的考虑.对统一理论.统一工具.统一过程的企图,其最终目的是