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 デバイスステータス情報を取得できます。
受容体の状態 |
説明 |
---|---|
connected/configured/ok |
デバイスは接続されており利用可能です。devinfo ノードが存在します。 |
connected/unconfigured/unknown |
デバイスは利用不可で、このデバイスの devinfo ノードやデバイスドライバは存在しません。あるいは、このデバイスは ib 連結ドライバで使用できるように構成されませんでした。IB デバイスマネージャーではこのデバイスが認識されている可能性もあります。 |
次の節では、cfgadm コマンドを使用して IB デバイスの動的再構成 (DR) を行う方法について説明します。次のすべてのサンプル IB デバイス情報は、関連する情報に焦点を合わせるために一部省略されています。
prtconf コマンドを使用して IB デバイスの一般的な情報を表示できます。たとえば、次のようになります。
$ prtconf pci, instance #0 pci15b3,5a44, instance #0 ibport, instance #253 ibport, instance #254 ibport, instance #255 . . . ib, instance #0 ioc, instance #243 ioc, instance #244 ioc, instance #245 ioc, instance #246 ioc, instance #247 ioc, instance #248 ibgen, instance #249 |
上記の例で、pci15b3,5a44 は IB HCA を指しています。
特定の IB デバイス情報を表示するには、次の手順を使用します。
スーパーユーザーになります。
IB ファブリック情報を表示します。
次に例を示します。
# cfgadm -a Ap_Id Type Receptacle Occupant Condition ib IB-Fabric connected configured ok hca:1730000008070 IB-HCA connected configured ok ib::1730000007F5198 IB-IOC connected configured ok ib::1730000007F5199 IB-IOC connected configured ok ib::1730000008070,0,hnfs IB-HCA_SVC connected configured ok ib::1730000008071,0,sdp IB-PORT connected configured ok ib::1730000008072,0,sdp IB-PORT connected configured ok ib::1730000008071,8001,ipib IB-VPPA connected configured ok ib::1730000008072,8001,ipib IB-VPPA connected configured ok ib::ibgen,0 IB-PSEUDO connected configured ok # |
上記の出力例で、構成要素はそれぞれ次のものを表します。
ポート 2 に接続され、sdp サービスにバインドされている IB Port デバイスを識別しています。
ポート 2 に接続され、p_key の値として 0x8001 を使用し、ibd サービスにバインドされている IB VPPA デバイスを識別しています。
hnfs サービスにバインドされている IB HCA_SVC デバイスを識別しています。
IOC デバイスを識別しています。
擬似デバイスを識別しています。
特定の IB デバイス情報を表示します。
たとえば、IB VPPA デバイスの場合は次のようになります。
# cfgadm -al -s "cols=ap_id:info" ib::1730000008072,8001,ipib Ap_Id Information ib::1730000008072,8001,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 デバイスの構成を解除することはできますが、ドライバを適用することはできません。
スーパーユーザーになります。
次に例を示します。
# cfgadm -c unconfigure ib::1730000007F5198 Unconfigure the device: /devices/ib:fabric::1730000007F5198 This operation will suspend activity on the IB device Continue (yes/no)? y # |
デバイスの構成が解除されていることを確認します。
次に例を示します。
# cfgadm -a ib::1730000007F5198 ib::1730000007F5198 IB-IOC connected unconfigured unknown # |
スーパーユーザーになります。
次に例を示します。
# cfgadm -yc configure ib::1730000007F5198 |
IB デバイスが構成されていることを確認します。
次に例を示します。
# cfgadm -al ib::1730000007F5198 Ap_Id Type Receptacle Occupant Condition ib::1730000007F5198 IB-IOC connected configured ok |
IB Port、HCA_SVC、または VPPA デバイスをシステムから削除するには、次の手順を使用します。
次の例では VPPA デバイスの構成を解除する方法を示しますが、Port デバイスや HCA_SVC デバイスにも同じ手順を適用できます。
スーパーユーザーになります。
次に例を示します。
# cfgadm -c unconfigure ib::1730000007F51,8001,ipib Unconfigure the device: /devices/ib:fabric::1730000007F51,8001,ipib This operation will suspend activity on the IB device Continue (yes/no)? Y # |
デバイスが接続解除されていることを確認します。
次に例を示します。
# cfgadm -a ib::1730000007F51,8001,ipib Ap_Id Type Receptacle Occupant Condition ib::1730000007F51,8001,ipib IB-VPPA connected unconfigured unknown # |
IB Port、HCA_SVC、または VPPA デバイスをシステム上で構成するには、次の手順を使用します。
次の例では VPPA デバイスを構成する方法を示しますが、Port デバイスや HCA_SVC デバイスにも同様の手順を適用できます。
スーパーユーザーになります。
次に例を示します。
# cfgadm -c configure ib::1730000007F51,8001,ipib |
デバイスが接続されていることを確認します。
次に例を示します。
# cfgadm -a ib::1730000007F51,8001,ipib Ap_Id Type Receptacle Occupant Condition ib::1730000007F51,8001,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,8001,ipib ibd no ib::ibgen,0 ibgen no - ibdm no - ibmf no - nfs/ib no $ |
IB cfgadm プラグインには、HCA の実際の DR を行う機能は含まれていません。HCA の DR を実際に行うには、基になるバスのプラグインを使用します。たとえば、PCI ベースの HCA の場合は、cfgadm_pci コマンドを使用できます。詳細は、cfgadm_pci(1M) のマニュアルページを参照してください。
ただし、IB cfgadm プラグインは、HCA のカーネル IB クライアントを一覧表示することで、HCA の DR を補助します。その手順を次に示します。
スーパーユーザーになります。
次に例を示します。
# cfgadm -x list_clients hca:173000007F50 Ap_Id IB Client Alternate HCA ib::1730000007F51D0 ibgen no ib::1730000007F51D1 ibgen no ib::1730000007F51,8001,ipib ibd no ib::ibgen,0 ibgen no - ibdm no - ibmf no - nfs/ib no |
代替 HCA を持っていないカーネル IB クライアント (Port、VPPA、HCA_SVC、IOC デバイスなど) の構成を解除します。
次に例を示します。
# cfgadm -x unconfig_clients hca:1730000008070 Unconfigure Clients of HCA /devices/ib:1730000008070 This operation will unconfigure IB clients of this HCA Continue (yes/no)? y |
HCA のカーネル IB クライアントの構成が解除されていることを確認します。
# cfgadm -x list_clients hca:173000007F50 Ap_Id IB Client Alternate HCA - ibdm no - ibmf no - nfs/ib no # |
バス固有の 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 通信サービスを削除するには、次の手順を使用します。
スーパーユーザーになります。
次に例を示します。
# cfgadm -o comm=vppa,service=new -x delete_service ib |
通信サービスが削除されていることを確認します。
次に例を示します。
# cfgadm -x list_services ib Port communication services: srp VPPA communication services: ibd HCA_SVC communication services: hnfs # |
すべての IOC デバイスノードまたは特定の IOC Ap_Id についてプロパティーを更新するには、次の手順を使用します。更新できるプロパティーは次のとおりです。
port-list
port-entries
service-id
service-name
これらのプロパティーの詳細は、ib(7D) のマニュアルページを参照してください。
構成がまったく変更されていない場合、これらのプロパティーは更新されません。次の例は、特定の IOC の構成を更新する方法を示しています。すべての IOC の構成を更新するには、特定の IOC Ap_Id の代わりに、静的な ib Ap_Id を指定します。