使用 cfgadm 命令进行 SCSI 热插拔
本节介绍可使用 cfgadm 命令执行的各种 SCSI 热插拔过程。
注 -一般情况下,SCSI 框架支持 SCSI 设备的热插拔。但是,您应该参考硬件文档,以确认 SCSI 设备是否支持热插拔。
这些过程以特定设备为例,说明如何使用 cfgadm 命令来热插拔 SCSI 组件。您提供的以及 cfgadm 命令显示的设备信息取决于系统配置。
本节介绍的所有过程需要管理特权,一般不授予用户帐户。有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
如何显示有关 SCSI 设备的信息
以下过程在使用 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 控制器的示例中使用 SCSI 控制器 c1。成为管理员。
取消配置 SCSI 控制器。# 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。成为管理员。
配置 SCSI 控制器。# 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 设备的示例中使用 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 控制器连接
注意 -断开 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
控制器及其连接的所有设备都将与系统断开连接。
SPARC: 如何连接 SCSI 控制器
以下过程在连接 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
SPARC: 如何将 SCSI 设备添加到 SCSI 总线中
在如何将 SCSI 设备添加到 SCSI 总线的示例中使用的是 SCSI 控制器 c1。
注 -添加设备时,应指定与设备连接的 SCSI HBA(控制器)的 Ap_Id,而不是设备本身的 Ap_Id。
成为管理员。
确定当前的 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
将 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 中。
SPARC: 如何更换 SCSI 控制器上的相同设备
以下过程在 SCSI 控制器上更换相同设备的示例中使用 SCSI 磁盘 c1t4d0。
尝试在 SCSI 控制器上更换相同设备时,请注意以下情况:
如果设备由传统卷管理软件控制,请参考相应的卷管理文档以了解更换设备的具体步骤。如果您享有有效的 Oracle 支持计划,请参见以下参考资料:
如果使用 Solaris Volume Manager (SVM),请参见 MOS (My Oracle Support, MOS) 文档 1010753.1。
如果使用 Veritas Volume Manager (VxVM),请参见 MOS (My Oracle Support, MOS) 文档 1003122.1、1011782.1 和 1002285.1。
成为管理员。
确定当前的 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 总线上的设备更换为同一类型的其他设备。键入以下 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
SPARC: 如何移除 SCSI 设备
以下过程在移除 SCSI 控制器上的设备示例中使用 SCSI 磁盘 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 设备。键入以下 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
注 -如果是从 SCSI RAID 阵列中移除 SCSI RAID 设备,那么必须执行此步骤。
验证是否已从系统中移除了设备。# 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 配置问题的错误消息和可能的解决方法。有关对 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 取消配置操作
如果一个或多个目标设备繁忙并且 SCSI 取消配置操作失败,请使用此过程。否则,将来对此控制器和目标设备进行动态重新配置操作会失败,并会显示 dr in progress 消息。成为管理员。
重新配置控制器。# cfgadm -c configure device-name