Solaris のシステム管理 (デバイスとファイルシステム)

IB デバイスの動的再構成 (cfgadm)

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 デバイス情報は、関連する情報に焦点を合わせるために一部省略されています。

ProcedureIB デバイス情報を表示する方法

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 デバイス情報を表示するには、次の手順を使用します。

  1. スーパーユーザーになります。

  2. 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
    #

    上記の出力例で、構成要素はそれぞれ次のものを表します。

    Ap_Id ib::1730000008072,0,sdp

    ポート 2 に接続され、sdp サービスにバインドされている IB Port デバイスを識別しています。

    Ap_Id ib::1730000008072,8001,ipib

    ポート 2 に接続され、p_key の値として 0x8001 を使用し、ibd サービスにバインドされている IB VPPA デバイスを識別しています。

    Ap_Id ib:: 1730000008070,0,hnfs

    hnfs サービスにバインドされている IB HCA_SVC デバイスを識別しています。

    Ap_Id ib::1730000007F5198

    IOC デバイスを識別しています。

    Ap_Id ib::ibgen,0

    擬似デバイスを識別しています。

  3. 特定の 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 がそれぞれ表示されています。

ProcedureIOC デバイスの構成を解除する方法

システムに物理的に接続されている IB デバイスの構成を解除することはできますが、ドライバを適用することはできません。

  1. スーパーユーザーになります。

  2. 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
    #
  3. デバイスの構成が解除されていることを確認します。

    次に例を示します。


    # cfgadm -a ib::1730000007F5198
    ib::1730000007F5198         IB-IOC     connected  unconfigured unknown
    #

ProcedureIOC デバイスを構成する方法

  1. スーパーユーザーになります。

  2. IB デバイスを構成します。

    次に例を示します。


    # cfgadm -yc configure ib::1730000007F5198
    
  3. IB デバイスが構成されていることを確認します。

    次に例を示します。


    # cfgadm -al ib::1730000007F5198
    Ap_Id                Type    Receptacle  Occupant    Condition
    ib::1730000007F5198  IB-IOC  connected   configured  ok

ProcedureIB Port、HCA_SVC、VPPA デバイスの構成を解除する方法

IB Port、HCA_SVC、または VPPA デバイスをシステムから削除するには、次の手順を使用します。

次の例では VPPA デバイスの構成を解除する方法を示しますが、Port デバイスや HCA_SVC デバイスにも同じ手順を適用できます。

  1. スーパーユーザーになります。

  2. IB VPPA デバイスの構成を解除します。

    次に例を示します。


    # 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
    #
  3. デバイスが接続解除されていることを確認します。

    次に例を示します。


    # cfgadm -a ib::1730000007F51,8001,ipib
    Ap_Id                       Type    Receptacle Occupant     Condition
    ib::1730000007F51,8001,ipib IB-VPPA connected  unconfigured unknown
    #

ProcedureIB Port、HCA_SVC、VPPA デバイスを構成する方法

IB Port、HCA_SVC、または VPPA デバイスをシステム上で構成するには、次の手順を使用します。

次の例では VPPA デバイスを構成する方法を示しますが、Port デバイスや HCA_SVC デバイスにも同様の手順を適用できます。

  1. スーパーユーザーになります。

  2. IB VPPA デバイスを構成します。

    次に例を示します。


    # cfgadm -c configure ib::1730000007F51,8001,ipib
    
  3. デバイスが接続されていることを確認します。

    次に例を示します。


    # 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 デバイスの例と同様です。


ProcedureIB 擬似デバイスの構成を解除する方法

IB 擬似デバイスをシステムから削除するには、次の手順を使用します。

  1. スーパーユーザーになります。

  2. 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
    #
  3. デバイスが接続解除されていることを確認します。


    # cfgadm -a ib::ibgen,0
    Ap_Id                  Type      Receptacle Occupant     Condition
    ib::ibgen,0            IB-PSEUDO connected  unconfigured unknown

ProcedureIB 擬似デバイスを構成する方法

IB 擬似デバイスを構成するには、次の手順を使用します。

  1. スーパーユーザーになります。

  2. IB 擬似デバイスを構成します。

    次に例を示します。


    # cfgadm -yc configure ib::ibgen,0
    
  3. デバイスが接続されていることを確認します。

    次に例を示します。


    # cfgadm -a ib::ibgen,0
    Ap_Id                  Type       Receptacle Occupant   Condition
    ib::ibgen,0            IB-PSEUDO  connected  configured ok

ProcedureHCA のカーネル IB クライアントを表示する方法

次の IB cfgadm プラグインコマンドを呼び出すと、この HCA を使用しているカーネル IB クライアントを一覧表示できます。カーネル IB クライアントが別の HCA を使用する場合は、最後の列に「yes」と表示されます。この HCA を使用しない IB マネージャーとカーネルクライアントは、Ap_Id の列に「-」と表示されます。

  1. HCA のカーネル IB クライアントを表示します。

    次に例を示します。


    $ 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
    $

ProcedureHCA に接続されている IB デバイスの構成を解除する方法

IB cfgadm プラグインには、HCA の実際の DR を行う機能は含まれていません。HCA の DR を実際に行うには、基になるバスのプラグインを使用します。たとえば、PCI ベースの HCA の場合は、cfgadm_pci コマンドを使用できます。詳細は、cfgadm_pci(1M) のマニュアルページを参照してください。

ただし、IB cfgadm プラグインは、HCA のカーネル IB クライアントを一覧表示することで、HCA の DR を補助します。その手順を次に示します。

  1. スーパーユーザーになります。

  2. HCA のカーネル IB クライアントを一覧表示します。

    次に例を示します。


    # 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
  3. 代替 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
    
  4. HCA のカーネル IB クライアントの構成が解除されていることを確認します。


    # cfgadm -x list_clients hca:173000007F50   
    Ap_Id                       IB Client         Alternate HCA
    -                              ibdm               no
    -                              ibmf               no
    -                              nfs/ib             no
    #

IB HCA を構成する方法

バス固有の cfgadm プラグインを呼び出して HCA を構成します。しかし、その詳細についてはこの章では記載していません。

ProcedureIB p_key テーブルを更新する方法

追加の p_key が有効にされた場合や無効にされた場合など、HCA ポートの p_key テーブルの情報が変更された場合は、InfiniBand Transport Framework (IBTF) と IBDM に通知して内部 p_key データベースを更新する必要があります。cfgadm コマンドは、IBTF および IBDM の p_key データベースの更新を補助します。詳細は、ibtl(7D) および ibdm(7D) のマニュアルページを参照してください。

  1. スーパーユーザーになります。

  2. p_key テーブルを更新します。

    次に例を示します。


    # cfgadm -x update_pkey_tbls -y ib
    

ProcedureIB 通信サービスを表示する方法

IBTF で現在使用されている IB 通信サービスを表示するには、次の手順を使用します。

  1. スーパーユーザーになります。

  2. IB 通信サービスを表示します。

    次に例を示します。


    # cfgadm -x list_services ib
    Port communication services:
                    srp
    VPPA communication services:
                    ibd
    HCA_SVC communication services:
                    hnfs

ProcedureVPPA 通信サービスを追加する方法

新しい VPPA 通信サービスを追加するには、次の手順を使用します。

新しい HCA_SVC 通信サービスやポート通信サービスも、同様の手順で追加できます。

  1. スーパーユーザーになります。

  2. 新しい VPPA 通信サービスを追加します。

    次に例を示します。


    # cfgadm -o comm=vppa,service=new -x add_service ib
    
  3. 新しいサービスが追加されていることを確認します。

    次に例を示します。


    # cfgadm -x list_services ib
    Port communication services:
                    srp
    VPPA communication services:
                    ibd
                    new
    HCA_SVC communication services:
                    nfs_service
    #

Procedure既存の IB Port、HCA_SVC、VPPA 通信サービスを削除する方法

既存の IB Port、HCA_SVC、VPPA 通信サービスを削除するには、次の手順を使用します。

  1. スーパーユーザーになります。

  2. VPPA 通信サービスを削除します。

    次に例を示します。


    # cfgadm -o comm=vppa,service=new -x delete_service ib
    
  3. 通信サービスが削除されていることを確認します。

    次に例を示します。


    # cfgadm -x list_services ib
    Port communication services:
                    srp
    VPPA communication services:
                    ibd
    HCA_SVC communication services:
                    hnfs
    #

ProcedureIOC の構成を更新する方法

すべての IOC デバイスノードまたは特定の IOC Ap_Id についてプロパティーを更新するには、次の手順を使用します。更新できるプロパティーは次のとおりです。

これらのプロパティーの詳細は、ib(7D) のマニュアルページを参照してください。

構成がまったく変更されていない場合、これらのプロパティーは更新されません。次の例は、特定の IOC の構成を更新する方法を示しています。すべての IOC の構成を更新するには、特定の IOC Ap_Id の代わりに、静的な ib Ap_Id を指定します。

  1. スーパーユーザーになります。

  2. IOC の構成を更新します。

    次に例を示します。


    # cfgadm -x update_ioc_conf ib::1730000007F5198
    This operation can update properties of IOC devices.
    Continue (yes/no)? y
    #
  3. prtconf -v を実行して、プロパティーが更新されていることを確認します。