JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:设备和文件系统     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

关于本书

1.  管理可移除介质(概述)

2.  管理可移除介质(任务)

3.  访问可移除介质(任务)

4.  写入 CD 和 DVD(任务)

5.  管理设备(概述/任务)

6.  动态配置设备(任务)

7.  使用 USB 设备(概述)

8.  使用 USB 设备(任务)

9.  使用 InfiniBand 设备(概述/任务)

InfiniBand 设备概述

InfiniBand 软件包

动态重新配置 IB 设备(任务列表)

动态重新配置 IB 设备 (cfgadm)

取消配置 IB 设备考虑因素

如何显示 IB 设备信息

如何取消配置 IB Port、HCA_SVC 或 VPPA 设备

如何配置 IB 端口、HCA_SVC 或 VPPA 设备

如何取消配置 IB 伪设备

如何配置 IB 伪设备

如何显示 HCA 的内核 IB 客户机

如何在有活动 EoIB 设备的情况下动态重新配置 HCA

如何在热移除之后重新配置并恢复 EoIB 接口

配置 IB HCA

如何更新 IB p_key

如何显示 IB 通信服务

如何添加 VPPA 通信服务

如何删除现有 IB 端口、HCA_SVC 或 VPPA 通信服务

将 uDAPL 应用程序接口用于 InfiniBand 设备

如何启用 uDAPL

更新 DAT 静态注册表

如何更新 DAT 静态注册表

如何在 DAT 静态注册表中注册服务提供者

如何从 DAT 静态注册表中注销服务提供者

管理 IPoIB 设备 (dladm)

如何显示物理数据链路信息

如何创建 IB 分区链路

如何显示 IB 分区链路信息

如何删除 IB 分区链路

监视并排除 IB 设备故障

10.  管理磁盘(概述)

11.  管理磁盘(任务)

12.  SPARC:设置磁盘(任务)

13.  x86:设置磁盘(任务)

14.  使用 COMSTAR 配置存储设备

15.  配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)

16.  format 实用程序(参考)

17.  管理文件系统(概述)

18.  创建和挂载文件系统(任务)

19.  配置附加交换空间(任务)

20.  复制文件和文件系统(任务)

21.  管理磁带机(任务)

索引

动态重新配置 IB 设备 (cfgadm)

只能使用 cfgadm CLI 配置或取消配置正在运行的系统中的 IB 设备。此命令还提供了显示 IB 光纤结构、管理通信服务以及更新 p_key 表数据库的方法。有关更多信息,请参见 cfgadm_ib(1M)

cfgadm CLI 可以管理被主机视为整个 IB 光纤结构的动态重新配置(在本指南中称为 DR)。cfgadm 操作在端口、VPPA、HCA_SVC、IOC 和伪设备等所有 IB 设备上都受支持。

cfgadm 命令可以显示有关连接点 (Ap_Id) 的信息,连接点是指系统中可以进行 DR 操作的位置。有关 cfgadm 支持的 Ap_Id 的详细信息,请参见 cfgadm_ib.1M。请注意,所有 IB Ap_Id 都显示为 connected

cfgadm 命令提供了以下 IB 设备状态信息。

插座状态
说明
connected/configured/ok
设备已连接并且可用。存在 devinfo 节点。
connected/unconfigured/unknown
设备不可用,并且不存在与设备对应的 devinfo 节点或设备驱动程序。或者,设备从未配置为供 ib 节点驱动程序使用。设备可能会由 IB 设备管理器识别。

本节介绍的所有过程需要管理特权,一般不授予用户帐户。有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

以下各节介绍如何使用 cfgadm 命令动态重新配置 (DR) IB 设备。这些小节中的所有样例 IB 设备的信息都已截断,以便集中介绍相关信息。

取消配置 IB 设备考虑因素

HCA 的实际动态重新配置 (DR) 超出了 IB cfgadm 插件的范围。尽管如此,仍可以使用底层总线的插件来实现 HCA 的 DR。例如,基于 PCI 的 HCA 可以使用 cfgadm_pci 命令。有关更多信息,请参见 cfgadm_pci(1M)


注 - RDSv3 不支持取消配置 HCA。如果系统在动态重新配置 (DR) 时已经装有 RDSv3 驱动程序,取消配置 HCA 会失败,显示如下。

# cfgadm -c unconfigure ib::rdsv3,0
This operation will suspend activity on the IB device
Continue (yes/no)? yes
cfgadm: Hardware specific failure: unconfigure operation failed ap_id: /devices/ib:fabric::rdsv3,0
 
# cfgadm -c unconfigure PCI-EM0
cfgadm: Component system is busy, try again: unconfigure failed 

解决方法

在生产系统上,HCA 动态重新配置操作和重新引导系统之前,必须删除 RDSv3 驱动程序。

# rem_drv rdsv3
Device busy
Cannot unload module: rdsv3
Will be unloaded upon reboot.
 
# init 6

如何显示 IB 设备信息

可以使用 prtconf 命令来显示有关 IB 设备的常规信息。例如:

$ prtconf
.
.
.
    ib, instance #0
        rpcib, instance #0
        rdsib, instance #0
        daplt, instance #0
        rdsv3, instance #0
        sdpib, instance #0
        eibnx, instance #0
        sol_umad, instance #0
        sol_uverbs, instance #0
        iser, instance #0
.
.
.
    pci15b3,673c, instance #0
                 ibport, instance #0
                 ibport, instance #1 

在上面的示例中,pci15b3,673c 是指 IB HCA。

执行以下步骤可显示特定 IB 设备的信息。

  1. 成为管理员。
  2. 显示 IB 光纤结构信息。

    例如:

    # cfgadm -al  
    Ap_Id                       Type         Receptacle     Occupant     Condition
    ib                          IB-Fabric    connected      configured   ok
    hca:21280001A0A478          IB-HCA       connected      configured   ok
    ib::21280001A0A47A,0,ipib   IB-PORT      connected      configured   ok
    ib::21280001A0A479,0,ipib   IB-PORT      connected      configured   ok
    ib::1730000008070,0,hnfs    IB-HCA_SVC   connected      configured   ok
    ib::daplt,0                 IB-PSEUDO    connected      configured   ok
    ib::eibnx,0                 IB-PSEUDO    connected      configured   ok
    ib::iser,0                  IB-PSEUDO    connected      configured   ok
    ib::rdsib,0                 IB-PSEUDO    connected      configured   ok
    ib::rdsv3,0                 IB-PSEUDO    connected      configured   ok
    ib::rpcib,0                 IB-PSEUDO    connected      configured   ok
    ib::sdpib,0                 IB-PSEUDO    connected      configured   ok
    ib::sol_umad,0              IB-PSEUDO    connected      configured   ok
    ib::sol_uverbs,0            IB-PSEUDO    connected      configured   ok

    在上面的示例输出中,组件的描述如下:

    Ap_Id ib::21280001A0A47A,0,ipib

    标识与端口 GUID 连接并且绑定至 ipib 服务的 IB 端口设备。

    Ap_ID ib::sdpib,0

    标识伪设备。

    Ap_ID hca:21280001A0A478

    标识 HCA 设备。

    Ap_ID ib::1730000008070,0,hnfs

    标识绑定至 hnfs 服务的 IB HCA_SVC 设备。

    Ap_Id ib::ibgen,0

    标识伪设备。

  3. 显示特定 IB 设备的信息。

    例如,对于 IB 端口设备,将显示以下信息:

    # cfgadm -al -s "cols=ap_id:info" ib::21280001A0A47A,0,ipib
    Ap_Id                          Information
    ib::21280001A0A47A,0,ipib      ipib

    例如,对于 IB HCA 设备,将显示以下信息:

    # cfgadm -al -s "cols=ap_id:info" hca::1730000008070
    Ap_Id                          Information
    hca::1730000008070             VID: 0x15b3, PID: 0x5a44, #ports: 0x2, 
    port1 GUID: 0x1730000008071, port2 GUID: 0x1730000008072

    前面的输出显示了端口号和端口的 GUID。

如何取消配置 IB Port、HCA_SVC 或 VPPA 设备

如果要从系统中删除 IB 端口、HCA_SVC 或 VPPA 设备,请执行以下步骤。

以下示例说明如何取消配置 IB 端口设备,该过程也同样适用于 VPPA 和 HCA_SVC 设备。

  1. 成为管理员。
  2. 取消配置虚拟 IB 端口设备。

    例如:

    # cfgadm -c unconfigure ib::1730000007F51,*0*,ipib
    Unconfigure the device: /devices/ib:fabric::1730000007F51,*0*,ipib
    This operation will suspend activity on the IB device
    Continue (yes/no)? Y
  3. 验证是否已断开该设备的连接。

    例如:

    # cfgadm -a ib::1730000007F51,*0*,ipib
    Ap_Id                       Type    Receptacle Occupant     Condition
    ib::1730000007F51,*0*,ipib IB-VPPA  connected  unconfigured unknown

如何配置 IB 端口、HCA_SVC 或 VPPA 设备

如果要在系统中配置 IB 端口、HCA_SVC 或 VPPA 设备,请执行以下步骤。

以下示例说明如何配置 VPPA 设备,类似的步骤也可用于 IB 端口设备和 HCA_SVC 设备。

  1. 成为管理员。
  2. 配置虚拟 IB 端口设备。

    例如:

    # cfgadm -c configure ib::1730000007F51,*0*,ipib
  3. 验证是否已连接该设备。

    例如:

    # cfgadm -a ib::1730000007F51,*0*,ipib   
    Ap_Id                       Type      Receptacle Occupant   Condition
    ib::1730000007F51,*0*,ipib  IB-VPPA   connected  configured ok

    注 - IB 端口设备和 HCA_SVC 设备的基于 cfgadm 的配置或取消配置操作与前面的 IB VPPA 设备示例类似。


如何取消配置 IB 伪设备

如果要从系统中删除 IB 伪设备,请执行以下步骤。

  1. 成为管理员。
  2. 取消配置 IB 伪设备。

    例如:

    # cfgadm -c unconfigure ib::ibgen,0
    Unconfigure the device: /devices/ib:fabric::ibgen,0
    This operation will suspend activity on the IB device
    Continue (yes/no)? Y
  3. 验证是否已断开该设备的连接。
    # cfgadm -a ib::ibgen,0
    Ap_Id                  Type      Receptacle Occupant     Condition
    ib::ibgen,0            IB-PSEUDO connected  unconfigured unknown

如何配置 IB 伪设备

执行以下步骤可配置 IB 伪设备。

  1. 成为管理员。
  2. 配置 IB 伪设备。

    例如:

    # cfgadm -yc configure ib::ibgen,0
  3. 验证是否已连接该设备。

    例如:

    # cfgadm -a ib::ibgen,0
    Ap_Id                  Type       Receptacle Occupant   Condition
    ib::ibgen,0            IB-PSEUDO  connected  configured ok

如何显示 HCA 的内核 IB 客户机

可以调用以下 IB cfgadm 插件命令来列出使用此 HCA 的内核 IB 客户机。请注意,如果内核 IB 客户机使用其他 HCA,则最后一列会显示 "yes"(是)。不使用 HCA 的 IB 管理器和内核客户机以 Ap_Id "-" 显示。

如何在有活动 EoIB 设备的情况下动态重新配置 HCA

尝试在系统中执行动态重新配置 (DR) 操作时,如果有 Connect-X 系列 IB HCA 用于活动 EoIB 接口(例如 EoIB 数据链路是活动的 (plumbed) 或 VNIC 是基于 HCA 的数据链路创建的),则在满足以下条件之一时,DR 操作可成功执行:

在有活动 EoIB 接口的情况下,如果不满足以上条件,对 IB HCA 的动态重新配置 (DR) 操作将失败,并显示 cfgadm 错误消息。

如果 DR 操作失败,必须对活动的 EoIB 接口进行取消激活 (unplumb) 并删除数据链路上的 VNIC,然后重试 DR 操作。此外,在这种情况下,如果在 DR 操作后更换了同一插槽中的 Connect-X 系列 HCA,并使用 cfgadmhotplug 命令对其进行了配置,必须重新激活 (replumb) 之前取消激活 (unplumb) 的 EoIB 数据链路并重新创建之前删除的 VNIC。

请注意,在使用的 EoIB 接口要求在 Sun Network QDR Infiniband 网关交换机的相应配置文件中列出 HCA 端口 GUID。因此,在热移除之后和重新插入之前,需要以新的 HCA 端口 GUID 信息更新网关交换机配置文件。有关如何更新配置的信息,请参见《Sun Network QDR Infiniband Gateway Switch Administration Guide》。

  1. 在有多个 IB HCA 的系统中成为管理员。
  2. 尝试取消配置与 EoIB 数据链路相关的连接点。
    # cfgadm -c unconfigure PCI-EM0
    cfgadm: Component system is busy, try again: unconfigure failed
  3. 确定阻碍取消配置操作的 EoIB 接口。
    # dmesg | tail | grep 'failing HCA detach'
    Aug 23 12:37:20  eoib: [ID 530795 kern.warning] WARNING: eoib0 still in use, 
    failing HCA detach
  4. 确定是否由于存在基于 eoib0 的 IP 接口而导致 eoib0 在使用。
    # ipadm show-if eoib0
    ipadm: cannot get information for interface(s): No such interface
  5. 如果不存在基于 eoib0 的 IP 接口,检查是否存在任何导致 eoib0 忙的 VNIC。
    # dladm show-vnic
        LINK                OVER         SPEED  MACADDRESS        MACADDRTYPE       VID
        evnic0              eoib0        10000  2:8:20:e5:56:99   random            0
  6. 删除基于 eoib0 的 vnic。
    # dladm delete-vnic evnic0
  7. 重试取消配置操作。
    # cfgadm -c unconfigure PCI-EM0

如何在热移除之后重新配置并恢复 EoIB 接口

  1. 成为 Sun Network QDR 网关交换机的管理员。
  2. 编辑 Sun Network QDR 网关交换机上的 BXM 配置文件并使用新 HCA 的端口 GUID 替换所有旧的 HCA 端口 GUID。
  3. 重新启动 BXM。
  4. 成为 Oracle Solaris 系统的管理员。
  5. 在 Solaris 系统上热插入新 HCA 并使用 cfgadm 命令重新配置原来与 EoIB 数据链路关联的连接点。
  6. 确认原来的 EoIB 数据链路是否已恢复。
    # dladm show-link | grep eoib0
    eoib0               phys      1500   unknown       --
  7. 如果在之前的取消配置操作中显式删除了任何 VNIC,现在重新创建这些 VNIC。
    # dladm create-vnic -l eoib0 evnic0
  8. 确认是否存在基于 eoib0 的 VNIC。
    # dladm show-vnic
    LINK         OVER     SPEED  MACADDRESS        MACADDRTYPE       VID
    evnic0       eoib0    10000  2:8:20:e5:56:99   random              0
  9. 如果在之前的取消配置操作中显式删除了任何基于 eoib0 的 IP 地址,使用 ipadm 命令重新创建这些地址。

配置 IB HCA

调用总线特定的 cfgadm 插件来配置 HCA。确切的详细信息超出了本章的范围。

如何更新 IB p_key

如果 HCA 端口的 p_key 表信息发生更改(例如,启用或禁用了其他 p_key),则需要通知 InfiniBand 传输框架 (InfiniBand Transport Framework, IBTF) 和 IBDM,以便更新其内部 p_key 数据库。cfgadm 命令可帮助更新 IBTF 和 IBDM 的 p_key 数据库。有关更多信息,请参见 ibtl(7D)ibdm(7D)

  1. 成为管理员。
  2. 更新 p_key 表。

    例如:

    # cfgadm -x update_pkey_tbls -y ib

如何显示 IB 通信服务

执行以下步骤可显示当前由 IBTF 使用的通信服务。

  1. 成为管理员。
  2. 显示 IB 通信服务。

    例如:

    # cfgadm -x list_services ib
    Port communication services:
                    srp
    VPPA communication services:
                    ibd
    HCA_SVC communication services:
                    hnfs

如何添加 VPPA 通信服务

执行以下步骤可添加新的 VPPA 通信服务。

可以使用类似的步骤来添加新的 HCA_SVC 或端口通信服务。

  1. 成为管理员。
  2. 添加新的 VPPA 通信服务。

    例如:

    # cfgadm -o comm=vppa,service=new -x add_service ib
  3. 验证是否已添加新的服务。

    例如:

    # cfgadm -x list_services ib
    Port communication services:
                    srp
    VPPA communication services:
                    ibd
                    new
    HCA_SVC communication services:
                    nfs_service

如何删除现有 IB 端口、HCA_SVC 或 VPPA 通信服务

执行以下步骤可删除现有 IB 端口、HCA_SVC 或 VPPA 通信服务。

  1. 成为管理员。
  2. 删除 VPPA 通信服务。

    例如:

    # cfgadm -o comm=vppa,service=new -x delete_service ib
  3. 验证是否已删除该通信服务。

    例如:

    # cfgadm -x list_services ib
    Port communication services:
                    srp
    VPPA communication services:
                    ibd
    HCA_SVC communication services:
                    hnfs