手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

cfgadm_scsi(1M)

名称

cfgadm_scsi - 特定于 SCSI 硬件的 cfgadm 命令

用法概要

/usr/sbin/cfgadm [-f] [-y | -n] [-v] [-o hardware_option]
     -c function ap_id...
/usr/sbin/cfgadm [-f] [-y | -n] [-v] [-o hardware_option]
     -x hardware_function ap_id...
/usr/sbin/cfgadm [-v] [-a] [-s listing_option] [-o hardware_option]
     [-l [ap_id | ap_type ... ]]
/usr/sbin/cfgadm [-v] [-o hardware_option] -t ap_id...
/usr/sbin/cfgadm [-v] [-o hardware_option] -h [ap_id]...

描述

特定于 SCSI 硬件的库 /usr/lib/cfgadm/scsi.so.1 通过 cfgadm(1M) 命令提供 SCSI 热插拔功能。cfgadm 在连接点上运行,这些是可动态重新配置硬件资源的系统位置。有关连接点的信息,请参见 cfgadm(1M)。

对于 SCSI 热插拔,每个 SCSI 控制器由设备树中的连接点表示。此外,每个 SCSI 设备由动态连接点表示。连接点通过 ap_id 命名。定义下列两种类型的 ap_id:逻辑和物理。物理 ap_id 基于物理路径名称,而逻辑 ap_id 的名称较短且更加用户友好。对于 SCSI 控制器,逻辑 ap_id 通常是对应的磁盘控制器号。例如,一个典型的逻辑 ap_idc0

SCSI 设备的命名与控制器的 ap_id 相关。因此,如果磁盘设备附加到控制器 c0,其 ap_id 可以是:

c0::dsk/c0t0d0

其中,dsk/c0t0d0 标识特定的设备。通常,设备标识符源自 /dev 中的设备的对应逻辑链接。例如,SCSI 磁带机的逻辑 ap_id 可能为 c0::rmt/0。其中,c0SCSI 控制器的逻辑 ap_idrmt/0 源自 /dev/rmt 中的磁带机的逻辑链接。如果标识符无法从 /dev 中的链接获取,将为其分配唯一的标识符。例如,如果 /dev 中不存在磁带设备链接,可分配 c0::st3 格式的 ap_id,其中,st3 是内部生成的唯一标识符。

如果启用了支持 Solaris I/O 多路径功能(以前称为 "MPxIO" 或 "Sun StorEdge Traffic Manager [STMS]")的控制器,该控制器可提供到 scsi_vhci(7D) 多路径设备的路径。如果 scsi_vhci(7D) 支持附加到此类控制器的设备,该控制器的 ap_id 可为:

c0::0,0

...其中,0,0 唯一标识目标和逻辑单元信息。这些 ap_id 的路径的 Type(类型)字段表明其是否表示到 scsi_vhci(7D) 多路径设备的路径,以及通过该路径连接到的设备的类型。

系统中的连接点简单列表包含 SCSI 控制器的连接点,不包含 SCSI 设备的连接点。在 (–l) 列表选项中使用 –a 标志也可列出 SCSI 设备。例如:

# cfgadm -l
  Ap_Id             Type        Receptacle     Occupant     Condition
  c0                scsi-bus    connected      configured   unknown
  sysctrl0:slot0    cpu/mem     connected      configured   ok
  sysctrl0:slot1    sbus-upa    connected      configured   ok


除了 SCSI 控制器之外,还列出 SCSI 设备:

# cfgadm -al

Ap_Id                Type         Receptacle   Occupant     Condition
c0                   scsi-bus     connected    configured   unknown
c0::dsk/c0t14d0      disk         connected    configured   unknown
c0::dsk/c0t11d0      disk         connected    configured   unknown
c0::dsk/c0t8d0       disk         connected    configured   unknown
c0::dsk/c0t0d0       disk         connected    configured   unknown
c0::rmt/0            tape         connected    configured   unknown
sysctrl0:slot0       cpu/mem      connected    configured   ok
sysctrl0:slot1       sbus-upa     connected    configured   ok

如果控制器 c0 启用了 Solaris I/O 多路径功能并且 Solaris I/O 多路径功能支持所连接的磁盘和磁带设备,将输出:

# cfgadm -al

Ap_Id               Type         Receptacle   Occupant     Condition
c0                  scsi-bus     connected    configured   unknown
c0::11,0            disk-path    connected    configured   unknown
c0::14,0            disk-path    connected    configured   unknown
c0::8,0             disk-path    connected    configured   unknown
c0::0,0             disk-path    connected    configured   unknown
c0::a.0             tape-path    connected    configured   unknown
sysctrl0:slot0      cpu/mem      connected    configured   ok
sysctrl0:slot1      sbus-upa     connected    configured   ok

有关连接点列表的更多信息,请参见 cfgadm(1M)。SCSI 控制器上的连接点插口状态和插卡状态含义如下:

empty(空)

不适用

disconnected(断开)

总线停止(总线上的 I/O 活动暂停)

connected(已连接)

总线处于活动状态

configured(已配置)

总线上配置了一个或多个设备

unconfigured(未配置)

总线上未配置任何设备

单个 SCSI 设备的对应状态为:

empty(空)

不适用

disconnected(断开)

设备附加到的总线处于停止状态

connected(已连接)

设备附加到的总线处于活动状态

configured(已配置)

配置了设备或多路径 SCSI 设备的路径

unconfigured(未配置)

未配置设备或多路径 SCSI 设备的路径

选项

除了列出 (–l),cfgadm 还定义了其他几种类型的操作。这些操作包括测试 (–t)、调用配置状态更改 (–c)、调用特定于硬件的函数 (–x) 以及获取配置管理帮助消息 (–h)。

–c function

以下通用命令是针对特定于 SCSI 硬件的库定义的:

对于 SCSI 控制器连接点,支持以下配置状态更改操作:

connect

将 SCSI 总线停止。

disconnect

总线停止(暂停总线上的 I/O 活动)。

错误使用该命令可导致系统挂起。请参见“附注”部分。

configure

在 SCSI 总线上配置新设备。

unconfigure

取消对连接到总线的所有设备的配置。

以下通用命令是针对 SCSI 设备以及多路径 SCSI 设备的路径定义的:

configure

配置特定设备或多路径 SCSI 设备的特定路径。

unconfigure

取消对特定设备或多路径 SCSI 设备的特定路径的配置。

–f

如果该选项用于 disconnect 命令,则强制停止 SCSI 总线(如果硬件支持)。

错误使用该命令可导致系统挂起。请参见“附注”部分。

–h ap_id

SCSI 特定帮助可通过将帮助选项与任何 SCSI 连接点一起使用来获取。

–o hardware_option

当前没有定义任何硬件专用选项。

–s listing_option

可使用 select 子选项列出 scsi 类的连接点。有关其他信息,请参见 cfgadm(1M) 手册页。

–t ap_id

目前没有可用的测试命令。

–x hardware_function

下面的部分命令只适用于 SCSI 控制器,部分命令只适用于 SCSI 设备。

在下面,controller_ap_id 指 SCSI 控制器的 ap_id,例如,c0device_ap_id 指 SCSI 设备的 ap_id,例如,c0::dsk/c0dt3d0

定义了以下特定于硬件的函数:

insert_device controller_ap_id

向 SCSI 控制器 controller_ap_id 添加新设备。

该命令只用于交互式使用。

remove_device device_ap_id

删除 device_ap_id 设备。

该命令只用于交互式使用。

replace_device device_ap_id

删除 device_ap_id 设备并使用同类设备代替。

该命令只用于交互式使用。

reset_device device_ap_id

复位 device_ap_id

reset_bus controller_ap_id

仅复位 controller_ap_id 的总线,而不复位附加到该总线的任何设备。

reset_all controller_ap_id

复位 controller_ap_id 的总线以及该总线上的所有设备。

locator [=on|off] device_ap_id

如果平台提供硬盘定位器 LED 指示灯,设置或获取该指示灯。如果未设置 [on|off] 子选项,则输出硬盘定位器的状态。

led[=LED,mode=on|off|blink] device_ap_id

如果未设置任何子参数,则该函数输出当前 LED 指示灯设置的列表。如果设置了子参数,则该函数设置插槽特定的 LED 指示灯的模式。

示例

示例 1 配置磁盘

以下命令配置附加到 c0 控制器的磁盘:


# cfgadm -c configure c0::dsk/c0t3d0
示例 2 取消配置磁盘

以下命令取消对附加到 c0 控制器的磁盘的配置。


# cfgadm -c unconfigure c0::dsk/c0t3d0
示例 3 添加新设备

以下命令向 c0 控制器添加新设备:


# cfgadm -x insert_device c0

系统作出如下响应:




Adding device to SCSI HBA: /devices/sbus@1f,0/SUNW,fas@e,8800000
This operation will suspend activity on SCSI bus c0
Continue (yes/no)? 

输入:


y

系统作出如下响应:


SCSI bus quiesced successfully. 
It is now safe to proceed with hotplug operation.
Enter y if operation is complete or n to abort (yes/no)?

输入:


y
示例 4 替换设备

以下命令替换附加到 c0 控制器的设备:

# cfgadm –x replace_device c0::dsk/c0t3d0

系统作出如下响应:




Replacing SCSI device: /devices/sbus@1f,0/SUNW,fas@e,8800000/sd@3,0
This operation will suspend activity on SCSI bus: c0
Continue (yes/no)?

输入:


y

系统作出如下响应:


SCSI bus quiesced successfully. 
It is now safe to proceed with hotplug operation.
Enter y if operation is complete or n to abort (yes/no)?

输入:


y
示例 5 取消配置磁盘时遇到已挂载的文件系统

以下命令表明在取消配置磁盘时遇到已挂载的文件系统:

# cfgadm -c unconfigure c1::dsk/c1t0d0

系统作出如下响应:


cfgadm: Component system is busy, try again: failed to offline:
/devices/pci@1f,4000/scsi@3,1/sd@1,0
     Resource              Information
------------------  --------------------------
/dev/dsk/c1t0d0s0   mounted filesystem "/mnt"
示例 6 显示磁盘定位器的值

以下命令显示磁盘定位器的值。该示例特定于 SPARC Enterprise Server 系列:

# cfgadm -x locator c0::dsk/c0t6d0

系统作出如下响应:

Disk                    Led
c0t6d0                  locator=on

示例 7 设置磁盘定位器的值

以下命令设置磁盘定位器的值。该示例特定于 SPARC Enterprise Server 系列:

# cfgadm -x locator=off c0::dsk/c0t6d0

系统不输出任何信息作为响应。

示例 8 配置多路径 SCSI 磁盘的路径

以下命令配置通过 c0 控制器连接的路径:

# cfgadm -c configure c0::2,0

示例 9 取消对多路径 SCSI 磁盘的路径的配置

以下命令取消对通过 c0 控制器连接的路径的配置:

# cfgadm -c unconfigure c0::2,0

文件

/usr/lib/cfgadm/scsi.so.1

适用于通用 SCSI 热插拔的特定于硬件的库

/usr/platform/SUNW,SPARC-Enterprise/lib/cfgadm/scsi.so.1

适用于通用 SCSI 热插拔的特定于平台的库

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/library

另请参见

cfgadm(1M)luxadm(1M)config_admin(3CFGADM)libcfgadm(3LIB)attributes(5)scsi_vhci(7D)

附注

对于控制包含关键分区(如 root (/)、/usrswap/var)的磁盘的控制器,不支持 disconnect(停止)操作。不应在此类控制器上尝试执行 disconnect 操作。不正确的用法可能导致系统挂起且需要重新引导。

如果控制器处于断开(停止)状态,则可能导致系统死锁。使用 disconnect 操作时需谨慎。在完成 DR 操作所需的最短时间内,控制器应保持断开状态。disconnect 命令只用于在系统运行时替换 SCSI 电缆。不应出于其他任何目的使用该命令。解决死锁(如果发生)的唯一方法是重新引导系统。

并非所有 SCSI 控制器都支持热插拔操作。

警告

某些 SCSI 设备上的连接器不遵循 SCSI 热插拔规范。在此类设备上执行热插拔操作可能损坏 SCSI 总线上的硬件。有关其他信息,请参见硬件手册。