本节介绍可使用 cfgadm 命令执行的各种 SCSI 热插拔过程。
一般情况下,SCSI 框架支持 SCSI 设备的热插拔。但是,您应该查询硬件文档,以确认 SCSI 设备是否支持热插拔。
这些过程以特定设备为例,说明如何使用 cfgadm 命令来热插拔 SCSI 组件。您提供的以及 cfgadm 命令显示的设备信息取决于系统配置。
以下过程在使用 cfgadm 命令显示设备类型配置信息的示例中使用 SCSI 控制器 c0 和 c1 以及与其连接的设备。
如果 cfgadm 命令不支持 SCSI 设备,则该设备不会显示在 cfgadm 命令输出中。
成为超级用户。
# cfgadm -l Ap_Id Type Receptacle Occupant Condition c0 scsi-bus connected configured unknown c1 scsi-bus connected configured unknown |
在本示例中,c0 和 c1 表示两个 SCSI 控制器。
显示有关系统的 SCSI 控制器及其连接设备的信息。
# 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 |
cfgadm -l 命令显示有关 SCSI HBA 而不是 SCSI 设备的信息。使用 cfgadm -al 命令可显示有关 SCSI 设备(如磁盘和磁带)的信息。
以下过程在取消配置 SCSI 控制器的示例中使用 SCSI 控制器 c1。
成为超级用户。
# cfgadm -c unconfigure c1 |
验证是否已取消配置 SCSI 控制器。
# 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 unconfigured unknown |
请注意,c1 的 Occupant 列指定 unconfigured,表明 SCSI 总线没有已配置的插卡。
如果取消配置操作失败,请参见如何解析失败的 SCSI 取消配置操作。
以下过程在配置 SCSI 控制器的示例中使用 SCSI 控制器 c1。
成为超级用户。
# cfgadm -c configure c1 |
验证 SCSI 控制器是否已配置。
# 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 |
前面的取消配置过程移除了 SCSI 总线上的所有设备。现在,所有设备都已配置回系统中。
以下过程在配置 SCSI 设备的示例中使用 SCSI 磁盘 c1t4d0。
成为超级用户。
# 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 |
配置 SCSI 设备。
# cfgadm -c configure c1::dsk/c1t4d0 |
验证 SCSI 设备是否已配置。
# 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 disk connected configured unknown |
断开 SCSI 设备连接时必须非常谨慎,特别是在处理包含关键文件系统(如根 (/)、usr、var 和 swap 分区)的控制器任务时。动态重新配置软件无法检测到系统挂起可能导致的所有情况。使用此过程时应谨慎。
以下过程在断开 SCSI 设备连接的示例中使用 SCSI 控制器 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 disk connected configured unknown |
断开 SCSI 控制器的连接。
# cfgadm -c disconnect c1 WARNING: Disconnecting critical partitions may cause system hang. Continue (yes/no)? y |
此命令可以暂停 SCSI 总线上的所有 I/O 活动,直到使用 cfgadm -c connect 命令为止。cfgadm 命令可执行一些基本检查,以防止断开关键分区的连接,但不能检测到所有情况。如果此命令使用不当,则可能会导致系统挂起并且可能需要重新引导系统。
验证 SCSI 总线是否已断开连接。
# 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 unavailable disconnected configured unknown c1::dsk/c1t3d0 unavailable disconnected configured unknown c1::dsk/c1t4d0 unavailable disconnected configured unknown |
控制器及其连接的所有设备都将与系统断开连接。
以下过程在连接 SCSI 控制器的示例中使用 SCSI 控制器 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 unavailable disconnected configured unknown c1::dsk/c1t3d0 unavailable disconnected configured unknown c1::dsk/c1t4d0 unavailable disconnected configured unknown |
连接 SCSI 控制器。
# cfgadm -c connect c1 |
验证 SCSI 控制器是否已连接。
# 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 disk connected configured unknown |
在如何将 SCSI 设备添加到 SCSI 总线的示例中使用的是 SCSI 控制器 c1。
添加设备时,应指定与设备连接的 SCSI HBA(控制器)的 Ap_Id,而不是设备本身的 Ap_Id。
成为超级用户。
# 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 |
将 SCSI 设备添加到 SCSI 总线。
键入以下 cfgadm 命令。
例如:
# 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 |
在 Continue (yes/no)? 提示符下键入 y 以继续操作。
Continue (yes/no)? y SCSI bus quiesced successfully. It is now safe to proceed with hotplug operation. |
正在执行热插拔操作的同时,SCSI 总线上的 I/O 活动会暂停。
连接设备,然后打开设备电源。
在 Enter y if operation is complete or n to abort (yes/no)? 提示符下键入 y。
Enter y if operation is complete or n to abort (yes/no)? y |
验证是否已添加了设备。
# 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 disk connected configured unknown |
新磁盘已添加到控制器 c1 中。
以下过程在 SCSI 控制器上更换相同设备的示例中使用 SCSI 磁盘 c1t4d0。
成为超级用户。
# 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 disk connected configured unknown |
将 SCSI 总线上的设备更换为同一类型的其他设备。
键入以下 cfgadm 命令。
例如:
# 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 |
在 Continue (yes/no)? 提示符下键入 y 以继续操作。
正在执行热插拔操作的同时,SCSI 总线上的 I/O 活动会暂停。
Continue (yes/no)? y SCSI bus quiesced successfully. It is now safe to proceed with hotplug operation. |
关闭要移除的设备的电源,然后将其移除。
添加替换设备。然后,关闭该设备的电源。
替换设备应该与要移除的设备类型相同并且具有同一地址(目标和 LUN)。
在 Enter y if operation is complete or n to abort (yes/no)? 提示符下键入 y。
Enter y if operation is complete or n to abort (yes/no)? y |
验证是否已更换了设备。
# 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 disk connected configured unknown |
以下过程在移除 SCSI 控制器上的设备示例中使用 SCSI 磁盘 c1t4d0。
成为超级用户。
# 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 disk connected configured unknown |
从系统中移除 SCSI 设备。
键入以下 cfgadm 命令。
例如:
# cfgadm -x remove_device c1::dsk/c1t4d0 Removing SCSI device: /devices/sbus@1f,0/SUNW,fas@1,8800000/sd@4,0 This operation will suspend activity on SCSI bus: c1 |
在 Continue (yes/no)? 提示符下键入 y 以继续操作。
Continue (yes/no)? y SCSI bus quiesced successfully. It is now safe to proceed with hotplug operation. |
正在执行热插拔操作的同时,SCSI 总线上的 I/O 活动会暂停。
关闭要移除的设备的电源,然后将其移除。
在 Enter y if operation is complete or n to abort (yes/no)? 提示符下键入 y。
Enter y if operation is complete or n to abort (yes/no)? y |
验证是否已从系统中移除了设备。
# 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 |
本节提供有关 SCSI 配置问题的错误消息和可能的解决方案。有关对 SCSI 配置问题进行疑难解答的更多信息,请参见 cfgadm(1M)。
cfgadm: Component system is busy, try again: failed to offline: device-path Resource Information ------------------ -------------------------- /dev/dsk/c1t0d0s0 mounted filesystem "/file-system" |
尝试移除或更换已挂载文件系统的设备。
取消挂载错误消息中列出的文件系统,并重试 cfgadm 操作。
cfgadm: Component system is busy, try again: failed to offline: device-path Resource Information ------------------ -------------------------- /dev/dsk/device-name swap area |
如果使用 cfgadm 命令移除系统资源(如交换设备或专用转储设备),则在系统资源仍然处于活动状态时将显示一条类似的错误消息。
取消配置指定设备上的交换区域,并重试 cfgadm 操作。
cfgadm: Component system is busy, try again: failed to offline: device-path Resource Information ------------------ -------------------------- /dev/dsk/device-name dump device (swap) |
尝试移除或更换在交换区域中配置的转储设备。
取消配置在交换区域中配置的转储设备,并重试 cfgadm 操作。
cfgadm: Component system is busy, try again: failed to offline: device-path Resource Information ------------------ -------------------------- /dev/dsk/device-name dump device (dedicated) |
尝试移除或更换专用转储设备。
取消配置该专用转储设备,并重试 cfgadm 操作。
如果一个或多个目标设备繁忙并且 SCSI 取消配置操作失败,请使用此过程。 否则,将来对此控制器和目标设备进行动态重新配置操作会失败,并会显示 dr in progress 消息。