ファイバチャネル (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) を参照してください。
HBA ポートを変更する前に、まず既存のポートバインドを確認します。
この例では、現在のバインドは 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
この手順では、特定の PCI デバイス ID を持つすべての HBA 上のすべてのポートをターゲットモードに変更します。PCI デバイス ID 番号によりドライバがポートにバインドされるため、その PCI デバイス ID を持つすべての HBA ポート (たとえば、すべての QLogic 4G PCI express HBA) がターゲットモードに設定されます。
この例では、qlc ドライバは pciex1077,2432 にアクティブにバインドされます。qlc の既存のバインドを削除してから、そのバインドを新しいドライバに追加する必要があります。この構文内には単一引用符が必要です。
# update_drv -d -i 'pciex1077,2432' qlc Cannot unload module: qlc Will be unloaded upon reboot.
このメッセージは、エラーを示しているわけではありません。構成ファイルは更新されていますが、qlc ドライバはシステムをリブートするまでポートにバインドされたままです。
この例では、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 ドライバが接続されます。
# 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
# 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
この手順では、パスベースのバインドを使用します。特定のデバイスパスを使って、現在バインドされているドライバとは異なるドライバにポートをバインドする方法を示します。
この例では、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
パスの先頭の /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 ドライバは、リブート時に接続します。
イニシエータモード (qlc) からターゲットモード (qlt) に変更されたポートが表示されるはずです。
# init 6 . . . # mdb -k . . . > $q
# stmfadm list-target -v