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

退出打印视图

更新时间: 2014 年 7 月
 
 

cfgadm_sata(1M)

名称

cfgadm_sata - SATA 硬件专用 cfgadm 命令

用法概要

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

描述

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

每个 SATA 控制器以及端口复用器的设备端口由设备树上的连接点表示。系统中连接并配置的 SATA 设备显示为连接点名称的扩展名。术语“连接点”和“SATA 端口”可在下列描述中互换使用。

连接点通过 ap_id 命名。所有 SATA 连接点 ap_id 均由以下格式的字符串组成:

sataX/P[.M][::dsk/cXtYd0]

其中

X

表示 SATA 控制器号

P

表示 SATA 控制器的设备端口号(0 到 31)

M

表示端口复用器的设备端口号(0 到 14)。如果该项的值为 15,表示端口复用器的主机端口号。只有端口复用器连接到 SATA 控制器的设备端口时,该项才使用。

dev/cXtYd0

标识连接的 SATA 设备

Y

表示目标号

通常,设备标识符源自 /dev 中的设备的相应逻辑链接。由于 SATA 设备只支持一个 LUN (LUN 0),因此,设备字符串中的 "d" 字符总是设置为 0(零)。

例如,SATA 控制器 2 的设备端口 5 所连接的端口复用器的设备端口 4 的逻辑 ap_id 可能为:

sata2/5.4

如果 SATA 磁盘或 CD/DVD 设备连接到该连接点并且该设备已配置,ap_id 可能为:

sata2/5.4::dsk/c2t645d0

标识设备的 cXtYd0 字符串与设备连接点之间存在一对一对应关系。

系统的连接点简单列表包含所有的 SATA 设备端口和连接的设备。例如:

#cfgadm -l
Ap_Id                     Type        Receptacle   Occupant     Condition
  sata0/0::dev/c0t0d0     disk        connected    configured   ok
  sata0/1::dev/c0t1d0     disk        connected    configured   ok
  sata0/2::dev/c0t2d0     cd-dvd      connected    configured   ok
  sata0/3                 sata-port   empty        unconfigured ok
  sata1/0                 sata-port   disconnected unconfigured unknown
  sata1/1                 sata port   disconnected unconfigured unknown
  sata1/2                 sata port   empty        unconfigured ok
  sata1/3.15              sata-pmult  connected    configured   ok
  sata1/3.0::dev/c0t512d0 disk        connected    configured   ok
  sata1/3.1               sata-port   empty        unconfigured ok
  sata1/3.2               sata-port   empty        unconfigured ok
  sata1/3.3               sata-port   empty        unconfigured ok
  usb0/1                  unknown     empty        unconfigured ok
  usb0/2                  unknown     empty        unconfigured ok

有关连接点列表的更多信息,请参见 cfgadm(1M)

SATA 端口上的连接点插口状态含义如下:

empty(空)

SATA 端口已加电并启用。在该端口未检测到任何设备。

disconnected(断开)

SATA 端口未启用或检测到 SATA 设备但该设备的通信连接未建立,或者该端口故障。

connected(已连接)

在与设备建立通信的端口上检测到 SATA 设备。

插卡(SATA 端口连接的设备)状态的含义如下:

configured(已配置)

所连接的 SATA 设备已配置并且随时可由操作系统使用。

unconfigured(未配置)

未连接任何设备或 SATA 端口连接的 SATA 设备尚未配置。如果要配置该设备,请运行 "cfgadm -c configure ap_id" 命令。

连接点(SATA 端口)状态含义如下:

ok(正常)

SATA 端口已加电并启用,随时可用。

failed(失败)

SATA 端口故障。该端口被系统禁用和/或断电。这种情况下,端口不可用且处于未知状态。这可能是由插入的设备导致的。

unknown(未知)

SATA 端口被禁用且处于未知状态。

“状态表”包含连接点插口状态、插卡状态以及(SATA 端口)状态。有效的状态如下:

empty/unconfigured/ok

SATA 端口已启用且处于活动状态。未检测到任何设备。

disconnected/unconfigured/ok

SATA 端口已启用并且检测到一个设备,但该设备的通信连接未建立。

disconnected/unconfigured/unknown

SATA 端口被禁用且处于未知状态。

disconnected/unconfigured/failed

SATA 端口被禁用且不可用。由于被检测的系统出现故障,该端口被系统禁用。

connected/unconfigured/ok

SATA 端口已启用且处于活动状态。检测到一个设备并且该设备的通信连接已建立。该设备没有配置为由操作系统使用。

connected/configured/ok

该设备存在且已配置,随时可由操作系统使用。

选项

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

–c function

以下通用的 function 是为 SATA 硬件专用库定义的。对于 SATA 端口连接点,支持以下配置状态更改操作:

connect

启用(激活)SATA 端口并建立与所连接的设备之间的通信。该操作意味着给端口加电(如有必要)。

disconnect

如果尚未取消配置该设备,则取消配置所连接的设备并禁用(取消激活)SATA 端口。后面的 "connect" 命令启用 SATA 端口操作但并不会使设备处于 "configured"(已配置)状态。

对于 SATA 端口连接的 SATA 设备,支持以下状态更改操作:

configure(配置)

配置新设备以便由操作系统使用(如果尚未配置)。该命令意味着执行连接操作(如有必要)。

unconfigure(取消配置)

如果尚未取消配置 SATA 端口连接的设备,则取消配置该设备。

configureunconfigure 操作不能用于端口复用器连接的连接点。端口复用器由系统自动配置以及取消配置。但是,配置与取消配置操作适用于端口复用器的设备端口连接的所有 SATA 设备。

–f

不支持。

–h ap_id

SATA 专用帮助可通过使用帮助选项以及任何 SATA 连接点获取。

–l [–v]

按照 cfgadm(1M) 中的描述使用 –l 选项。如果该选项与 –v 选项一起使用,"Information"(信息)字段包含以下 SATA 专用信息:

  • Mfg:生产商字符串

  • Product:产品字符串

  • No:产品序列号

–o hardware_options

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

–s listing_options

可使用 select 子选项列出 SATA 类的连接点。请参见 cfgadm(1M)

–t ap_id

如果 SATA 控制器支持自检操作,执行 SATA 端口自检。如果 SATA 控制器不支持端口自检操作,将发送错误消息。

–x hardware_function

执行硬件专用函数。

SATA 端口或 SATA 控制器上使用的下列某些命令可能影响所连接的 SATA 设备,请参见相应说明。ap_id 指 SATA 端口或者整个 SATA 控制器,请参见相应说明。如果该操作意味着取消配置设备但该设备不能被取消配置(即该设备包含一个挂载的文件系统),将发送错误消息并且不执行该操作。如果 SATA 控制器不支持指定的操作,也将发送错误消息。

sata_reset_device ap_id

重置 ap_id SATA 端口连接的 SATA 设备。SATA 端口状态不会更改。

sata_reset_port ap_id

重置由 ap_id 指定的 SATA 端口。如果 SATA 设备与端口相连接,该设备也会重置。该操作也可能在端口复用器连接的端口上执行。如果端口复用器连接到 SATA 控制器端口,端口复用器连接的 SATA 设备可能不会重置。

sata_reset_all ap_id

重置 ap_id 中的控制器号指定的 SATA 控制器以及所有连接的设备并重新枚举所有连接的设备,包括端口复用器以及端口复用器的设备端口所连接的设备。

该操作意味着执行该操作前取消配置所有连接的设备。任何新枚举的设备将处于未配置状态。

sata_port_deactivate ap_id

如果所有方法都无效,强制取消端口激活。该操作为紧急步骤,因此使用时需慎重。

sata_port_activate ap_id

强制激活端口。该操作用于在紧急情况下激活端口(之前被取消激活以便从错误中恢复)。

sata_port_self_test ap_id

在 SATA 控制器上执行自检操作。该操作意味着取消配置所有设备并重置 SATA 控制器。

–v

在详细模式下执行。

以下转换表报告由 –c 操作以及热插拔操作导致的状态转换:

current state     operation       possible new state
-------------     ---------       ------------------
empty/
unconfigured/ok   device plug-in  connected/unconfigured/ok, or
                                  disconnected/unconfigured/ok, or
                                  disconnected/unconfigured/failed

empty/
unconfigured/ok   -c unconfigure  error message, no state change

empty/
unconfigured/ok   -c configure    error message, no state change

empty/
unconfigured/ok   -c connect      error message, no state change

empty/
unconfigured/ok   -c disconnect   disconnected/unconfigured/unknown, or
                                  disconnected/unconfigured/failed

disconnected/
unconfigured/ok   device unplug   no state change

disconnected/
unconfigured/ok   -c unconfigure  error message, no state change

disconnected/
unconfigured/ok   -c configure    error message, no state change

disconnected/
unconfigured/ok   -c connect      error message, no state change

disconnected/
unconfigured/ok   -c disconnect   error message, no state change

disconnected/
unconfigured/
unknown 
(no disk plugged) -c configure    error message, state change to
                                  empty/unconfigured/ok, or
                                  disconnected/unconfigured/failed
       
disconnected/
unconfigured/
unknown           -c configure    state change to 
(disk plugged)                    connected/configured/ok or,
                                  connected/unconfigured/ok, or
                                  disconnected/unconfigured/failed and
                                  possible error message
       
disconnected/
unconfigured/
unknown           -c connect      empty/unconfigured/ok, or
                                  connected/unconfigured/ok, or
                                  disconnected/unconfigured/ok, or
                                  disconnected/unconfigured/unknown, or
                                  disconnected/unconfigured/failed

disconnected/
unconfigured/
unknown           -c disconnect   error message, no state change

disconnected/
unconfigured/
failed            any command     error message, no state change
                  other than
                  -x commands

connected/
unconfigured/ok   disk unplug     error message and state:
                                  empty/unconfigured/ok, or
                                  disconnected/unconfigured/failed

connected/
unconfigured/ok   -c configure    connected/unconfigured/ok, or
                                  connected/configured/ok, or
                                  disconnected/unconfigured/ok, or
                                  disconnected/unconfigured/failed

connected/
unconfigured/ok   -c unconfigure  error message, no state change

connected/
unconfigured/ok   -c connect      error message, no state change
       
connected/
unconfigured/ok   -c disconnect   disconnected/unconfigured/unknown, or
                                  disconnected/unconfigured/failed

connected/
configured/ok     disk unplug     error message and state:
                                  empty/unconfigured/ok, or
                                  disconnected/unconfigured/failed

connected/
configured/ok     -c configure    error message, no state change

connected/
configured/ok     -c unconfigure  error message, if device cannot be
                                  unconfigured, no state change, or
                                  connected/unconfigured/ok, or
                                  disconnected/unconfigured/ok, or
                                  disconnected/unconfigured/failed

connected/
configured/ok     -c connect      error message, no state change

connected/
configured/ok     -c disconnect   error message, if device cannot be
                                  unconfigured, no state change, or
                                  disconnected/unconfigured/unknown, or
                                  disconnected/unconfigured/failed

示例

示例 1 配置磁盘

以下命令配置 SATA 控制器 0 上的端口 0 连接的磁盘:


example# cfgadm -c configure sata0/0

当设备连接到 SATA 端口时,发出该命令。

示例 2 取消配置磁盘

以下命令取消配置 SATA 控制器 0 上的端口 3 连接的磁盘:

example# cfgadm -c unconfigure sata0/3

当连接点插口状态为 "connected"(已连接)且插卡状态为 "configured"(已配置)时,显示设备标识字符串。

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

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

example# cfgadm -c unconfigure sata1/5

系统作出如下响应:

cfgadm: Component system is busy, try again: failed to offline:
/devices/pci@0,0/pci8086,244e@1e/pci1095,3124@1/sd@5,0
     Resource              Information
------------------  --------------------------
/dev/dsk/c1t5d0s0   mounted filesystem "/mnt"

文件

/usr/lib/cfgadm/sata.so.1

通用 SATA 热插拔硬件专用库。

属性

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

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

另请参见

cfgadm(1M)config_admin(3CFGADM)libcfgadm(3LIB)attributes(5)

附注

如果端口所连接的磁盘包含关键分区,如根目录 (/)、/usr、swap 或者 /var,则该端口不支持 "sata_port_deactivate" 紧急操作。不应在这些端口尝试取消激活操作。不正确的用法可能导致系统挂起且需要重新引导。

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

如果 SATA 连接器为可热插拔类型并且 SATA 控制器支持热插拔,则 SATA 设备在任何时候都可进行热插拔。系统检测事件并建立与设备之间的通信。该设备需要通过 "cfgadm -c configure ap_id" 显式命令进行配置。

如果 SATA 连接器为可热插拔类型并且 SATA 控制器支持热插拔,拔下设备前需取消配置设备,否则,可能导致系统挂起或数据丢失。如果设备是未配置的但插口不处于断开状态,从 SATA 端口拔下设备将导致错误消息。

警告

某些 SATA 设备上的连接器不符合 SATA 热插拔规范。在这些设备上执行热插拔操作可能损坏 SATA 控制器和/或 SATA 设备。