ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 の管理: デバイスとファイルシステム Oracle Solaris 11.1 Information Library (日本語) |
6. InfiniBand デバイスの使用 (概要/タスク)
IB Port、HCA_SVC、VPPA デバイスの構成を解除する方法
IB Port、HCA_SVC、VPPA デバイスを構成する方法
有効な EoIB デバイスの存在する HCA を動的に再構成する方法
InfiniBand デバイスでの uDAPL アプリケーションインタフェースの使用
DAT 静的レジストリからサービスプロバイダの登録を解除する方法
11. COMSTAR を使用したストレージデバイスの構成 (タスク)
12. Oracle Solaris Internet Storage Name Service (iSNS) の構成と管理
cfgadm CLI だけを使用して、稼働中のシステムの IB デバイスを構成したり、構成を解除したりできます。このコマンドでは、IB ファブリックの表示、通信サービスの管理、および P_key テーブルデータベースの更新を行うこともできます。詳細は、cfgadm_ib(1M) を参照してください。
cfgadm CLI は、ホストから見た IB ファブリック全体の動的再構成 (このガイドでは「DR」と呼ぶ) を管理します。cfgadm の操作は、Port、VPPA、HCA_SVC、IOC、擬似デバイスなど、すべての IB デバイスでサポートされています。
cfgadm コマンドは接続点 (Ap_Id) についての情報を表示します。「接続点」とは、DR 操作を行うことができるシステム内の特定の場所のことです。cfgadm でサポートされている Ap_Id の詳細は、cfgadm_ib(1M) のマニュアルページを参照してください。IB の Ap_Id は、すべて connected と表示されます。
cfgadm コマンドを使用すると、IB デバイスステータス情報を取得できます。
|
このセクションのすべての手順で、通常、ユーザーアカウントには付与されない管理特権が必要です。詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
次のセクションでは、cfgadm コマンドを使用して IB デバイスの動的再構成 (DR) を行う方法について説明します。次のすべてのサンプル IB デバイス情報は、関連する情報に焦点を合わせるために一部省略されています。
IB cfgadm プラグインには、HCA の実際の動的再構成 (DR) を行う機能は含まれていません。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
回避方法:
本稼働システム上で、RDSv3 ドライバを削除してから、HCA DR 操作を行い、システムをリブートする必要があります。
# rem_drv rdsv3 Device busy Cannot unload module: rdsv3 Will be unloaded upon reboot. # init 6
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 デバイス情報を表示するには、次の手順を使用します。
例:
# 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
上記の出力例で、コンポーネントはそれぞれ次のものを表します。
ポート GUID に接続され、ipib サービスにバインドされている IB ポートデバイスを識別しています。
擬似デバイスを識別しています。
HCA デバイスを識別しています。
hnfs サービスにバインドされている IB HCA_SVC デバイスを識別しています。
擬似デバイスを識別しています。
たとえば、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 Port デバイスの構成を解除する方法を示しますが、VPPA デバイスや HCA_SVC デバイスにも同じ手順を適用できます。
例:
# 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
例:
# cfgadm -a ib::1730000007F51,*0*,ipib Ap_Id Type Receptacle Occupant Condition ib::1730000007F51,*0*,ipib IB-VPPA connected unconfigured unknown
IB Port、HCA_SVC、または VPPA デバイスをシステム上で構成するには、次の手順を使用します。
次の例では VPPA デバイスを構成する方法を示しますが、IB Port デバイスや HCA_SVC デバイスにも同様の手順を適用できます。
例:
# cfgadm -c configure ib::1730000007F51,*0*,ipib
例:
# cfgadm -a ib::1730000007F51,*0*,ipib Ap_Id Type Receptacle Occupant Condition ib::1730000007F51,*0*,ipib IB-VPPA connected configured ok
注 - IB Port デバイスや HCA_SVC デバイスの場合も、cfgadm による構成操作および構成解除操作は、前述の IB VPPA デバイスの例と同様です。
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
# cfgadm -a ib::ibgen,0 Ap_Id Type Receptacle Occupant Condition ib::ibgen,0 IB-PSEUDO connected unconfigured unknown
IB 擬似デバイスを構成するには、次の手順を使用します。
例:
# cfgadm -yc configure ib::ibgen,0
例:
# cfgadm -a ib::ibgen,0 Ap_Id Type Receptacle Occupant Condition ib::ibgen,0 IB-PSEUDO connected configured ok
次の IB cfgadm プラグインコマンドを呼び出すと、この HCA を使用しているカーネル IB クライアントを一覧表示できます。カーネル IB クライアントが別の HCA を使用する場合は、最後の列に「yes」と表示されます。この HCA を使用しない IB マネージャーとカーネルクライアントは、Ap_Id の列に「-」と表示されます。
例:
$ cfgadm -x list_clients hca:173000007F50 Ap_Id IB Client Alternate HCA ib::1730000007F51D0 ibgen no ib::1730000007F51D1 ibgen no ib::1730000007F51,0,ipib ibd no ib::ibgen,0 ibgen no - ibdm no - ibmf no - nfs/ib no
システム上で動的再構成 (DR) 操作を試みるときに、Connect-X ファミリ IB HCA が有効な EoIB インタフェースで使用されている場合 (EoIB データリンクが plumb されていたり、HCA 上のデータリンク経由で VNIC が作成されていたりする場合など)、次の条件のいずれかが真であれば、DR 操作は成功します。
これは、システム上で唯一の Connect-X ファミリ HCA である
システムに複数の Connect-X HCA が存在するが、これは構成解除する最後のアダプタである
その他のどのような条件下でも、有効な EoIB インタフェースの存在する IB HCA 上で動的再構成 (DR) 操作を試みると、cfgadm エラーメッセージを出力して失敗します。
DR 操作が失敗する場合、有効な EoIB インタフェースを unplumb し、データリンク上の VNIC をすべて削除して、DR 操作を再度試みてください。また、このような状況で、DR 操作後に Connect-X ファミリ HCA を同じスロット内で交換し、cfgadm または hotplug コマンドを使って再構成した場合は、以前に unplumb した EoIB データリンクを plumb し直して、以前に削除した VNIC をすべて再作成する必要があります。
EoIB インタフェースを機能させるには、Sun Network QDR Infiniband Gateway Switch 上の適切な構成ファイルに HCA ポート GUID を記述する必要があります。このため、ホットリムーブしたあと、ふたたび挿入する前に、Gateway Switch 構成ファイル内の新しい HCA ポート GUID 情報を更新する必要があります。構成の更新方法については、Sun Network QDR Infiniband Gateway Switch Administration Guideを参照してください。
# cfgadm -c unconfigure PCI-EM0 cfgadm: Component system is busy, try again: unconfigure failed
# dmesg | tail | grep 'failing HCA detach' Aug 23 12:37:20 eoib: [ID 530795 kern.warning] WARNING: eoib0 still in use, failing HCA detach
# ipadm show-if eoib0 ipadm: cannot get information for interface(s): No such interface
# dladm show-vnic LINK OVER SPEED MACADDRESS MACADDRTYPE VID evnic0 eoib0 10000 2:8:20:e5:56:99 random 0
# dladm delete-vnic evnic0
# cfgadm -c unconfigure PCI-EM0
# dladm show-link | grep eoib0 eoib0 phys 1500 unknown --
# dladm create-vnic -l eoib0 evnic0
# dladm show-vnic LINK OVER SPEED MACADDRESS MACADDRTYPE VID evnic0 eoib0 10000 2:8:20:e5:56:99 random 0
バス固有の cfgadm プラグインを呼び出して HCA を構成します。しかし、その詳細についてはこの章では記載していません。
追加の P_key が有効にされた場合や無効にされた場合など、HCA ポートの P_key テーブルの情報が変更された場合は、InfiniBand Transport Framework (IBTF) と IBDM に通知して内部 P_key データベースを更新する必要があります。cfgadm コマンドは、IBTF および IBDM の P_key データベースの更新を補助します。詳細は、ibtl(7D) および ibdm(7D) のマニュアルページを参照してください。
IBTF で現在使用されている IB 通信サービスを表示するには、次の手順を使用します。
例:
# cfgadm -x list_services ib Port communication services: srp VPPA communication services: ibd HCA_SVC communication services: hnfs
新しい VPPA 通信サービスを追加するには、次の手順を使用します。
新しい HCA_SVC 通信サービスやポート通信サービスも、同様の手順で追加できます。
例:
# cfgadm -o comm=vppa,service=new -x add_service ib
例:
# cfgadm -x list_services ib Port communication services: srp VPPA communication services: ibd new HCA_SVC communication services: nfs_service
既存の IB Port、HCA_SVC、VPPA 通信サービスを削除するには、次の手順を使用します。