在 Oracle® Solaris 11.2 中管理设备

退出打印视图

更新时间: 2014 年 7 月
 
 

使用 COMSTAR 配置光纤通道端口

光纤通道 (Fibre Channel, FC) 端口提供程序可以使用用于 FC 启动器的相同 HBA。一个给定的 FC 端口可以作为启动器或目标使用,但不能同时作为两者使用。还可以配置一个双端口或四端口 FC HBA,以便 HBA 端口的子集处于目标模式,其余的端口处于启动器模式。

本节中的过程特定于 QLogic HBA。在启动器模式中结合 HBA 使用的驱动程序为 qlc,即 Qlogic 驱动程序。qlc 驱动程序只在启动器模式下运行,不能用于目标模式。用于目标 QLogic 4G HBA 的 COMSTAR 驱动程序为 qlt

由于启动器模式和目标模式使用不同的驱动程序,附加到 HBA 端口的驱动程序将其功能定义为目标或启动器。通过指定 HBA 的 PCI 设备 ID 可以指定所有端口的驱动程序。或者,可以在端口对端口的基础上配置驱动程序。两种方法都使用 update_drv 命令并在本节中进行了介绍。有关更多信息,请参见update_drv(1M)

如何显示现有 FC 端口绑定

对 HBA 端口做出更改之前,首先要检查现有端口绑定。

  1. 成为管理员。
  2. 显示当前绑定到端口驱动程序的情况。

    在此示例中,当前的绑定是 pciex1077,2432

    # mdb -k
    Loading modules: [ unix krtld genunix specfs ...
    > ::devbindings -q qlc
    30001617a08 pciex1077,2432, instance #0 (driver name: qlc)
    300016177e0 pciex1077,2432, instance #1 (driver name: qlc)
    > $q

如何将所有 FC 端口设置到特定模式

此过程使用特定的 PCI 设备 ID 将所有 HBA 上的所有端口更改到目标模式。PCI 设备 ID 号将驱动程序绑定到端口,从而使用该 PCI 设备 ID 设置所有 HBA 端口,例如,所有 QLogic 4G PCI 将 HBA 表达到目标模式。

  1. 成为管理员。
  2. 删除当前绑定。

    在此示例中,qlc 驱动程序主动绑定到 pciex1077,2432。必须删除 qlc 现有的绑定,然后才可以将该绑定添加到新的驱动程序。此语法中需要单引号。

    # update_drv -d -i 'pciex1077,2432' qlc
    Cannot unload module: qlc
    Will be unloaded upon reboot.

    此消息并未指示错误。配置文件已更新,但 qlc 驱动程序仍然绑定到端口,直到系统重新引导。

  3. 建立新的绑定。

    在此示例中,qlt 已更新。此语法中需要单引号。

    # update_drv -a -i 'pciex1077,2432' qlt
    devfsadm: driver failed to attach: qlt
    Warning: Driver (qlt) successfully added to system but failed to attach

    此消息并未指示错误。qlc 驱动程序仍然绑定到端口,直到系统重新引导。qlt 驱动程序在系统重新引导时连接。

  4. 重新引导系统以附加新的驱动程序。然后重新检查绑定。
    # init 6
    .
    .
    .
    # mdb -k
    
    Loading modules: [ unix krtld genunix specfs dtrace ...
    > ::devbindings -q qlt
    30001615a08   pciex1077,2432, instance #0 (driver name: qlt)
    30001615e0    pciex1077,2432, instance #1 (driver name: qlt)
    > $q
  5. 验证目标模式框架是否可以访问 HBA 端口。
    # stmfadm list-target -v
    Target: wwn.210100E08BA54E60
    Operational Status : Offline
    Provider Name : qlt(1)
    Alias : -
    Sessions : 0
    Target: wwn.210100E08BA54E60
    Operational Status : Offline
    Provider Name : qlt(0)
    Alias : -
    Sessions : 0

如何将选中的 FC 端口设置到启动器或目标模式

此过程使用基于路径的绑定。这说明如何使用特定的设备路径将端口绑定到驱动程序,该驱动程序与当前绑定的驱动程序不同。

  1. 成为管理员。
  2. 显示 HBA 端口及其各自的设备路径列表。

    该示例显示了具有两个端口的单个 HBA 的设备路径。

    # luxadm -e port
    /devices/pci@780/QLGC,qlc@0,1/fp@0,0:devctl CONNECTED
    /devices/pci@780/QLGC,qlc@0/fp@0,0:devctl CONNECTED
  3. 将顶部端口设置为目标模式,并使底部端口保持启动器模式。

    删除路径的初始 /devices 部分,且包括一切直至 /fp@0.../devices 部分删除的路径是系统绑定 qlt 驱动程序的路径。

    此语法中需要单引号。

    # update_drv -a -i '/pci@780/QLGC,qlc@0,1' qlt
    devfsadm: driver failed to attach: qlt
    Warning: Driver (qlt) successfully added to system but failed to attach.

    此消息并未指示错误。qlc 驱动程序仍然绑定到端口,直到重新引导。qlt 驱动程序在重新引导时连接。

  4. 重新引导系统以附加新的驱动程序。然后重新检查绑定。

    应该看到端口从启动器模式 (qlc) 更改到目标模式 (qlt)。

    # init 6
    .
    .
    .
    # mdb -k
    .
    .
    .
    > $q
  5. 验证目标模式框架是否可以访问 HBA 端口。
    # stmfadm list-target -v