热插拔PCI 设备功能介绍
内容提要: 本文从以下几个方面介绍PCI设备的热插拔功能 一,综述 二, 基础知识介绍 三, 移走PCI 适配卡 四, 增加PCI 适配卡 五, 动态增加/ 移走PCI 命令行介绍 说明: 热插拔PCI 设备功能介绍 一, 综述 PCI 适配卡的热插拔功能是AIX 操作系统提供一项重要功能,这一功能的实现同时需要系统硬件 和操作系统的支持,本文将介绍PCI 热插拔设备的基础知识,并给出适配卡的增加和移走的示例。 二, 基础知识介绍 在操作系统运行中,允许在线的增加PCI 热插拔适配卡,这些适配卡可以是系统中已经存在的, 也可以是新的PCI 适配卡。操作系统和应用能够识别这些新增加的PCI 适配卡,而不需要重新引导 系统。可以从下面几个方面理解这一功能的重要性: 1 ) 对已经存在的设备增加额外的功能和能力 2 ) 在线升级PCI 适配卡 3 ) 对初始安装的系统,增加新的适配卡 但是,使用PCI 热插拔替换或者增加适配卡应当注意,当使用增加的适配卡作为引导设备使用时 如使用bootlist 命令,适配卡及其子设备可能不能识别,必须重新引导机器使操作系统识别所有这些 潜在的引导设备。 另外,系统也允许移走或替换有缺陷的、失败的具有PCI 热插拔功能的适配卡,或者使用同一型 号的适配卡替换,而不需要关闭系统。当替换已存在的适配卡时,系统自动识别同一类型的适配卡, 系统现存的设备的配置和配置信息为新增加的卡保留。可以从以下几个方面考虑替换功能的重要性: 1 ) 临时替换适配卡,帮助诊断、定位问题。 2 ) 替换有缺陷的、失败的、或者间歇性失败的适配卡 3 ) 在HACMP 或者多路I/O 的配置中,替换失败的冗余适配卡 当移走具有热插拔功能的适配卡时,系统和应用不能再使用卡提供的资源。可以从以下几个 方面考虑在线移走适配卡的重要性:1 ) 移走已存在的I/O 子系统 2 ) 移走不再需要的适配卡,或者是失败的卡 但应当注意,在移走或者替换热插拔设备时,首先应当删除卡的相应配置信息,相关的设备驱 动程序必须释放卡相关的所有系统资源,如申请的内存、中断和EPOW 处理函数,释放DMA 和定 时器资源,总之,驱动程序必须保证释放卡的中断、总线内存和总线I/O 信息。 在移走适配卡之前和之后,系统管理员必须执行以下的动作: 1 ) 终止或恢复使用设备的应用、后台进程 2 ) 卸载或重新加载文件系统 3 ) 执行相应的操作释放使用的设备,移走或重新创建设备的定义信息 4 ) 将系统恢复到安全的服务模式 注意,尽管PCI 热插拔管理提供了不停机的增加、移走和替换PCI 适配卡的能力,但并不是所有的 设备都可以使用这一功能,例如,连接引导设备的I/O 适配卡。在尝试替换或者增加新的PCI 热插拔适 配卡时,可以参考PCI Adapter Placement Reference 一书,判断适配卡是否可以热插拔。 三, 移走 PCI 适配卡 介绍利用PCI 热插拔管理功能移走PCI 适配卡的操作示例步骤,将按照以下的步骤进行: 1 ) 确定支持热插拔的槽位,并确定要删除的设备 2 ) 删除要移走的设备相关信息 3 ) 物理的移走设备 4 ) 确定操作成功 以下将给出详细的操作步骤,假定要移走的设备为网络适配器ent1 ,具体的步骤如下:1 ) 显示可热插拔的适配卡,并确定删除的适配卡ent1 # lsslot -c pci # Slot Description Device(s) U0.1-P2-I1 PCI-X capable, 64 bit, 133MHz slot pci9 lai0 U0.1-P2-I2 PCI-X capable, 64 bit, 133MHz slot fcs0 U0.1-P2-I3 PCI-X capable, 64 bit, 133MHz slot ent1 U0.1-P2-I4 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I5 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I6 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I7 PCI-X capable, 32 bit, 66MHz slot Empty # 上面列表中红色所示为ent1 2 ) 如设备在使用状态,应先卸载此设备 #ifconfig en1 down #ifconfig en1 detach 3 ) 删除适配卡配置信息 可以使用命令删除适配卡ent1 的配置信息: #rmdev –dl en1 #rmdev –dl ent1 或者使用PCI 热插拔管理器,如下: smitty device 选择Unconfig a device 菜单 选择要删除的设备ent1 ,在Unconfigure any Child Devices 项中选择yes ,KEEP definition in database 项 中可选择yes 或者no 4 ) 移走适配卡 在PCI 热插拔管理器项中选择Replace/Remove a PCI Hot Plug Adapter 子菜单项 在上图中,选择要移走的设备,并设置要操作的动作为Remove , 选中操作的动作后,按回车,如上图所示,此时的PCI 设备处于可操作状态,对应的槽位的指示灯会 不停的闪烁,现在可以移走PCI 适配卡ent1 。物理的移走适配卡ent1 后,按回车,如下图所示: 5 ) 确定适配卡成功移走 以上的操作步骤正确操作后,使用命令lsslot 确定网络适配卡ent1 所在的槽位状态为空,既没 有设备# lsslot -c pci # Slot Description Device(s) U0.1-P2-I1 PCI-X capable, 64 bit, 133MHz slot pci9 lai0 U0.1-P2-I2 PCI-X capable, 64 bit, 133MHz slot fcs0 U0.1-P2-I3 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I4 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I5 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I6 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I7 PCI-X capable, 32 bit, 66MHz slot Empty 四, 增加 PCI 适配卡 增加PCI 适配卡,可以按照以下的步骤操作: 1 ) 确定增加的PCI 适配卡要安装的槽位 2 ) 使用PCI 热插拔管理器设定此槽位为可操作状态 3 ) 物理的安装PCI 适配卡到槽位 4 ) 配置适配卡,运行cfgmgr识别新增加的PCI适配卡 5 ) 确定适配卡已经被系统识别 在以下的具体操作步骤中,以安装网络适配卡为例 其具体的操作步骤为: 1 ) 使用smitty device 选择PCI Hot Plug Manager 子菜单项 2 ) 在PCI 热插拔管理器中,选择Add a PCI Hot Plug Adapter 子项,如下图所示: 3 ) 选择要安装的槽位 假定要安装的网络适配卡,槽位为第三槽位,并按回车键,如上图所示。 4 ) 确定槽位为可操作状态 如上图所示,安装适配卡的槽位的指示灯将会不停的闪烁,此时可以物理的将网络适配卡安装到 第三槽位。网络适配卡安装成功后,按回车健,PCI 热插拔管理器将自动配置网卡。并显示如下信息: 如果,上图显示未失败信息,则可能是因为网络适配卡与槽位接触不良,需要重新安装网络适配卡。 5)运行cfgmgr配置适配卡,使操作系统识别此卡 #cfgmgr -v 6) 确定设备成功安装成功 确定网络适配卡已经成功安装,并为系统识别,可使用命令lsslot 查看对应的槽位,是否标示为ent1 。# lsslot -c pci # Slot Description Device(s) U0.1-P2-I1 PCI-X capable, 64 bit, 133MHz slot pci9 lai0 U0.1-P2-I2 PCI-X capable, 64 bit, 133MHz slot fcs0 U0.1-P2-I3 PCI-X capable, 64 bit, 133MHz slot ent1 U0.1-P2-I4 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I5 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I6 PCI-X capable, 64 bit, 133MHz slot Empty U0.1-P2-I7 PCI-X capable, 32 bit, 66MHz slot Empty 五, 动态增加/ 移走PCI 命令行介绍 在上面的操作中,使用AIX smitty 工具提供的PCI Hot Plug Manager 菜单项完成的,另外AIX 操作 系统还提供了命令行的方式实现这一功能,命令为drslot ,简单介绍如下: 1 ) 标示热插拔槽位,使用参数-i ,格式如下: drslot –i { -s 槽位号 | -l 设备名 } –c 连接方式 在PCI 的热插拔功能中,此项为pci ,如下命令: drslot -i -c pci -s U0.1-P2-I3 标示槽位U0.1-P2-I3 ,此时此槽位的灯将不停闪烁 2 ) 在一槽位增加PCI 适配卡,使用参数-a ,格式如下: drslot –a –s 槽位号 –c 连接方式 [-I] 如下命令: drslot -a -I -c pci -s U0.1-P2-I3 在U0.1-P2-I3 增加一PCI 适配卡 3 ) 移走一PCI 适配卡,使用参数-r ,格式如下: drslot –r { -s 槽位号 | -l 设备名 } –c 连接方式 [-I] 4 ) 替换已存在的PCI 适配卡,使用参数-R ,这一操作首先是做删除动作,然后是替换动作,格式如下: drslot –R { -s 槽位号 | -l 设备名 } –c 连接方式 [-I] 以上介绍了drslot 命令的简单使用参数,具体的使用方法请参考系统提供的联机帮助。 |