11.3 热插拔设备的管理
本节主要介绍热插拔技术。至于读者的计算机是否支持这项技术,请查阅计算机硬件手册。
11.3.1 热插拔设备管理概述
热插拔技术就是在系统运行的时候可以物理地添加、删除和替换系统组件,系统可以对热插拔组件进行动态的设置。从这个角度来说,系统的资源分配也可以随着热插拔组件的增添和删除而变化。
支持热插拔的组件由板和板上的插卡组成。从逻辑上可以分为三部分:板、板插卡和板插口组成。每个组成部分都有相应的状态,这些状态就是热插拔组件的管理内容。
板的情况
板可以处于以下四种情况之一:unknown(未知)、ok(正常)、failed(故障)或unusable(不可用)。
板插卡状况
板可以处于以下插卡状况之一:configured(已配置)或unconfigured(未配置)。断开连接的板的插卡状况总是未配置的。
板插口状况
一块板可以具有以下三种插口状况之一:empty(空)、disconnected(断开连接)或connected(已连接),如表11-6所示。在插入板时,插口状况总是从空变为断开连接。在拆除板时,插口状况总是从断开连接变为空。
表11-6 板插口状况
名 称
说 明
empty
板插口上不存在卡
disconnected
板已从系统总线断开。在不切断电源的情况下,板可以处于断开连接状态。但是,在你将其从插槽拆除前,板一定是断开电源并处于断开连接状态的
connected
板已通电并连接到系统总线。只有在板上的组件处于连接状况后,你才能看到它们
系统管理员通过使用cfgadm命令会显示板和插槽的信息,还可以对它们的状态进行修改和设置。Sun文档声明,使用cfgadm命令可以管理下列设备:
在SPARC and x86平台上的USB设备;
在SPARC and x86平台上的SCSI设备;
在SPARC and x86平台上的PCI设备。
cfgadm命令有下列功能:
显示系统组件状态;
测试系统组件;
改变组件的设置;
显示组件设置的帮助信息。
需要注意的是,并不是所有的SCSI和PCI控制器都支持热插拔和cfgadm命令。虽然Sun的官方文档上写明cfgadm可以支持x86系统,但笔者在自己的x86上运行却被系统告知配置的高级管理不被支持。看来,Solaris 10还不能支持x86,希望以后的补丁更新盘能够支持这个功能。
11.3.2 SCSI设备的管理
这部分用专门的例子来展示使用cfgadm命令对支持热插拔的SCSI设备的管理。注意,cfgadm命令能否有效取决于你的系统硬件是否支持。下面的测试都是在SPARC平台上进行的。
1.显示系统SCSI设备的信息
显示SCSI控制器的信息:
# cfgadm -l
Ap_Id Type Receptacle Occupant Condition
c0 scsi-bus connected configured unknown
c1 scsi-bus connected configured unknown
显示SCSI控制器c0、c1和附加在控制器上的设备的信息。
# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c0 scsi-bus connected configured unknown
c0::dsk/c0t0d0 disk connected configured unknown
c0::rmt/0 tape connected configured unknown
c1 scsi-bus connected configured unknown
c1::dsk/c1t3d0 disk connected configured unknown
c1::dsk/c1t4d0 unavailable connected unconfigured unknown
2.SCSI控制器的连接和断开
这里连接和断开是相对于连到系统总线来说的,如果不能连接到总线,控制器和它上面的设备都不能正常工作。
连接命令:# cfgadm -c connect c1
断开命令:# cfgadm -c disconnect c1
3.configured(已配置)或unconfigured(未配置)SCSI控制器
操作系统为板分配功能角色,并加载板及其连接设备所需的设备驱动程序的状态为configured(已配置)状态。系统从逻辑上将板与操作系统分离,并将相关的设备驱动程序置于脱机状态。虽然环境监视仍在进行,但板上的设备还不能为系统所用。此时状态为unconfigured(未配置)状态。
配置命令:# cfgadm -c configure c1
未配置命令:# cfgadm -c unconfigure c1
4.configured(已配置)或unconfigured(未配置)SCSI设备
和上边介绍的只是对象不同,下面适用对于控制器上的设备进行配置。
配置命令:# cfgadm -c configure c1::dsk/c1t4d0
未配置命令:# cfgadm -c unconfigure c1::dsk/c1t4d0
5.在SCSI控制器上增添和删除SCSI设备
增添SCSI设备
(1)使用cfgadm命令,在C1控制器上添加设备,例如:
# cfgadm -x insert_device c1
Adding device to SCSI HBA: /devices/sbus@1f,0/SunW,fas@1,8800000
This operation will suspend activity on SCSI bus: c1
(2)在对话中提示符中,键入y
Continue (yes/no)? y
SCSI bus quiesced successfully.
It is now safe to proceed with hotplug operation.
I/O activity on the SCSI bus is suspended while the hot-plug operation is in
progress.
(3)将新的SCSI设备插上,并等待设备灯亮起。
(4)在对话提示符中,键入y,结束操作。
Enter y if operation is complete or n to abort (yes/no)? y
删除SCSI设备
(1)使用命令删除SCSI设备。
# cfgadm -x replace_device c1::dsk/c1t4d0
Replacing SCSI device: /devices/sbus@1f,0/SunW,fas@1,8800000/sd@4,0
This operation will suspend activity on SCSI bus: c1
(2)在对话的提示符中键入y。
Continue (yes/no)? y
SCSI bus quiesced successfully.
It is now safe to proceed with hotplug operation.
(3)等待SCSI设备灯灭,拔走设备。
(4)在对话的提示符中键入y,结束操作。
Enter y if operation is complete or n to abort (yes/no)? y
阅读(1829) | 评论(0) | 转发(0) |