Go to main content
Oracle® Solaris 11.3 でのデバイスの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

COMSTAR によるファイバチャネルポートの構成

ファイバチャネル (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 express 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 ポートおよびそれぞれに対応するデバイスパスのリストを表示します。

    この例では、2 つのポートを備える 1 つの 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