主コンテンツへ
Oracle® Exalogic Elastic Cloudマシン・オーナーズ・ガイド
リリース2.0.6.4
B71906-08
目次へ移動
目次

前
次

15.1 InfiniBandファブリックのモニタリング

この項の内容は次のとおりです。

15.1.1 ファブリック内のすべてのスイッチの識別

ibswitchesコマンドを使用すると、ExalogicマシンのInfiniBandファブリックでSun Network QDR InfiniBandゲートウェイ・スイッチを識別できます。このコマンドは、各スイッチのGlobal Unique Identifier (GUID)、名前、ローカル識別子(LID)およびLIDマスク制御(LMC)を表示します。このコマンドの出力は、ファブリック内のスイッチのGUIDとLIDのマッピングです。

任意のコマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibswitches

次の例のような出力が表示されます。

Switch : 0x0021283a8389a0a0 ports 36 "Sun DCS 36 QDR switch localhost" enhancedport 0 lid 15 lmc 0

注意:

InfiniBandファブリックの実際の出力は、前述の例とは異なります。

15.1.2 ファブリック内のすべてのHCAの識別

ibhostsコマンドを使用すると、サブネット内のInfiniBandファブリックでホスト・チャネル・アダプタ(HCA)のアイデンティティ情報を表示できます。このコマンドは、各HCAのGUIDと名前を表示します。

コマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibhosts

次の例のような出力が表示されます。

Ca : 0x0003ba000100e388 ports 2 "nsn33-43 HCA-1"
Ca : 0x5080020000911310 ports 1 "nsn32-20 HCA-1"
Ca : 0x50800200008e532c ports 1 "ib-71 HCA-1"
Ca : 0x50800200008e5328 ports 1 "ib-70 HCA-1"
Ca : 0x50800200008296a4 ports 2 "ib-90 HCA-1"
.
.
.
#

注意:

前述の出力例は、完全な出力の一部分にすぎないため、実際の出力はInfiniBandトポロジによって異なります。

15.1.3 InfiniBandファブリック・トポロジの表示

InfiniBandファブリック内で発生するルーティングを把握するために、ibnetdiscoverコマンドでは、ノード間の接続性が表示されます。このコマンドの出力は、ファブリックのサイズによって異なります。また、HCAのLIDを表示するために、このコマンドを使用することもできます。

コマンド行インタフェース(CLI)で、次のコマンドを入力します。

# ibnetdiscover

次の例のような出力が表示されます。

# Topology file: generated on Sat Apr 13 22:28:55 2002
#
# Max of 1 hops discovered
# Initiated from node 0021283a8389a0a0 port 0021283a8389a0a0
vendid=0x2c9
devid=0xbd36
sysimgguid=0x21283a8389a0a3
switchguid=0x21283a8389a0a0(21283a8389a0a0)
Switch   36 "S-0021283a8389a0a0" # "Sun DCS 36 QDR switch localhost" enhanced port 0 lid 15 lmc 0
[23]    "H-0003ba000100e388"[2](3ba000100e38a) # "nsn33-43 HCA-1" lid 14 4xQDR
vendid=0x2c9
devid=0x673c
sysimgguid=0x3ba000100e38b
caguid=0x3ba000100e388
Ca   2 "H-0003ba000100e388" # "nsn33-43 HCA-1"
[2](3ba000100e38a)   "S-0021283a8389a0a0"[23] # lid 14 lmc 0 "Sun DCS 36 QDR switch localhost" lid 15 4xQDR

注意:

InfiniBandファブリックの実際の出力は、前述の例とは異なります。

15.1.4 ファブリックを介したルートの表示

場合によっては、InfiniBandファブリック内の2つのノード間のルートを把握する必要があります。ibtracertコマンドは、それらのノードのGUID、ポートおよびLIDを表示することにより、その情報を提供します。コマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibtracert slid dlid

ここで、slidはソース・ノードのLID、dlidはファブリック内の宛先ノードのLIDです。

次の例のような出力が表示されます。

# ibtracert 15 14
#
From switch {0x0021283a8389a0a0} portnum 0 lid 15-15 "Sun DCS 36 QDR switch localhost"
[23] -> ca port {0x0003ba000100e38a}[2] lid 14-14 "nsn33-43 HCA-1"
To ca {0x0003ba000100e388} portnum 2 lid 14-14 "nsn33-43 HCA-1"
#

次に例を示します。

ルートはGUID0x0021283a8389a0a0のスイッチで始まり、ポート0を使用しています。スイッチはLID 15で、スイッチ・ホストの名前はSun DCS 36 QDR switch localhostであると説明されています。ルートはGUID0x0003ba000100e38aのHCAのポート23で始まり、ポート2で終了します。HCAはLID 14です。

注意:

InfiniBandファブリックの実際の出力は、前述の例とは異なります。

15.1.5 ノードのリンク・ステータスの表示

InfiniBandファブリック内のノードのリンク・ステータスを知る必要がある場合は、ibportstateコマンドを実行して、そのノードの状態、幅および通信速度を表示します。

コマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibportstate lid port

ここで、lidはファブリック内のノードのLID、portはノードのポートです。

次の例のような出力が表示されます。

# ibportstate 15 23

PortInfo:
# Port info: Lid 15 port 23
LinkState:.......................Active
PhysLinkState:...................LinkUp
LinkWidthSupported:..............1X or 4X
LinkWidthEnabled:................1X or 4X
LinkWidthActive:.................4X
LinkSpeedSupported:..............2.5 Gbps or 5.0 Gbps or 10.0 Gbps
LinkSpeedEnabled:................2.5 Gbps or 5.0 Gbps or 10.0 Gbps
LinkSpeedActive:.................10.0 Gbps
Peer PortInfo:
# Port info: Lid 15 DR path slid 15; dlid 65535; 0,23
LinkState:.......................Active
PhysLinkState:...................LinkUp
LinkWidthSupported:..............1X or 4X
LinkWidthEnabled:................1X or 4X
LinkWidthActive:.................4X
LinkSpeedSupported:..............2.5 Gbps or 5.0 Gbps or 10.0 Gbps
LinkSpeedEnabled:................2.5 Gbps or 5.0 Gbps or 10.0 Gbps
LinkSpeedActive:.................10.0 Gbps
#

注意:

InfiniBandファブリックの実際の出力は、前述の例とは異なります。

15.1.6 ノードのカウンタの表示

ファブリック内のノードのヘルス状態を確認するために、perfqueryコマンドを使用して、そのノードのパフォーマンス、エラーおよびデータ・カウンタを表示します。

コマンド行インタフェース(CLI)で、次のコマンドを入力します。

# perfquery lid port

ここで、lidはファブリック内のノードのLID、portはノードのポートです。

注意:

スイッチ・ノードに対してポート値255を指定した場合、カウンタはすべてのスイッチ・ポートの合計になります。

次に例を示します。

# perfquery 15 23
#
# Port counters: Lid 15 port 23
PortSelect:......................23
CounterSelect:...................0x1b01
SymbolErrors:....................0
.
.
.
VL15Dropped:.....................0
XmtData:.........................20232
RcvData:.........................20232
XmtPkts:.........................281
RcvPkts:.........................281

注意:

前述の出力例は、完全な出力の一部分にすぎません。

15.1.7 ノードのデータ・カウンタの表示

ファブリック内のノードのデータ・カウンタを一覧表示するには、ibdatacountsコマンドを使用します。

コマンド行インタフェース(CLI)で、次のコマンドを入力します。

# ibdatacounts lid port

ここで、lidはファブリック内のノードのLID、portはノードのポートです。

次に例を示します。

# ibdatacounts 15 23
#
XmtData:.........................6048
RcvData:.........................6048
XmtPkts:.........................84
RcvPkts:.........................84

注意:

InfiniBandファブリックの実際の出力は、前述の例とは異なります。

15.1.8 ノードの低レベルの詳細情報の表示

問題を解決するために徹底したトラブルシューティングが必要な場合は、smpqueryコマンドを使用して、ファブリック内のノードに関する詳細情報を表示できます。

コマンド行インタフェース(CLI)で、次のコマンドを入力します。

# smpquery switchinfo lid

ここで、lidはファブリック内のノードのLIDです。

次に例を示します。

# smpquery switchinfo 15
#
# Switch info: Lid 15
LinearFdbCap:....................49152
RandomFdbCap:....................0
McastFdbCap:.....................4096
LinearFdbTop:....................16
DefPort:.........................0
DefMcastPrimPort:................255
DefMcastNotPrimPort:.............255
LifeTime:........................18
StateChange:.....................0
LidsPerPort:.....................0
PartEnforceCap:..................32
InboundPartEnf:..................1
OutboundPartEnf:.................1
FilterRawInbound:................1
FilterRawOutbound:...............1
EnhancedPort0:...................1
#
# smpquery portinfo lid port

注意:

InfiniBandファブリックの実際の出力は、前述の例とは異なります。

15.1.9 ポートの低レベルの詳細情報の表示

問題を解決するために徹底したトラブルシューティングが必要な場合は、smpqueryコマンドを使用して、ポートに関する詳細情報を表示できます。

コマンド行インタフェース(CLI)で、次のコマンドを入力します。

# smpquery portinfo lid port

ここで、lidはファブリック内のノードのLIDです。

次に例を示します。

# smpquery portinfo 15 23
#
Mkey:............................0x0000000000000000
GidPrefix:.......................0x0000000000000000
Lid:.............................0x0000
SMLid:...........................0x0000
CapMask:.........................0x0
DiagCode:........................0x0000
MkeyLeasePeriod:.................0
LocalPort:.......................0
LinkWidthEnabled:................1X or 4X
LinkWidthSupported:..............1X or 4X
LinkWidthActive:.................4X
LinkSpeedSupported:..............2.5 Gbps or 5.0 Gbps or 10.0 Gbps
LinkState:.......................Active
PhysLinkState:...................LinkUp
LinkDownDefState:................Polling
ProtectBits:.....................0
LMC:.............................0
.
.
.
SubnetTimeout:...................0
RespTimeVal:.....................0
LocalPhysErr:....................8
OverrunErr:......................8
MaxCreditHint:...................85
RoundTrip:.......................16777215
#

注意:

InfiniBandファブリックの実際の出力は、前述の例とは異なります。これは、完全な出力の一部分にすぎません。

15.1.10 GUIDへのLIDのマッピング

ExalogicマシンのInfiniBandファブリックでは、サブネット・マネージャおよびサブネット管理者として、ファブリック内のノードにサブネット固有のLIDを割り当てることができます。InfiniBandコマンドの使用時には、特定のInfiniBandデバイスに対してコマンドを発行するためにLIDを指定することがよくあります。

また、コマンドの出力で、InfiniBandデバイスがそのLIDによって識別されていることがあります。ノードのLIDとGUIDのマッピング・ファイルを作成して、InfiniBandファブリックの管理に役立てることができます。

注意:

マッピング・ファイルの作成は、InfiniBand管理の要件ではありません。

次の手順では、16進数のLIDとGUID、およびノードの説明を一覧表示するファイルを作成します。

  1. インベントリ・ファイルを作成します。

    # osmtest -f c -i inventory.txt

    inventory.txtはこの手順以外にも、その他の目的で使用されます。

  2. マッピング・ファイルを作成します。

    # cat inventory.txt |grep -e '^lid' -e 'port_guid' -e 'desc' |sed 's/^lid/\nlid/'> mapping.txt

  3. 不要な情報を削除するために、mapping.txtファイルの後半を編集してください。mapping.txtの内容は、次のようなものです。
    lid 0x14
    port_guid 0x0021283a8620b0a0
    # node_desc Sun DCS 72 QDR switch 1.2(LC)
    lid 0x15
    port_guid 0x0021283a8620b0b0
    # node_desc Sun DCS 72 QDR switch 1.2(LC)
    lid 0x16
    port_guid 0x0021283a8620b0c0
    # node_desc Sun DCS 72 QDR switch 1.2(LC)
    

注意:

前述の出力例は、ファイル全体の一部分にすぎません。

15.1.11 ファブリック全体に対する包括的な診断の実行

InfiniBandファブリックの完全なテストを実行する必要がある場合は、ibdiagnetコマンドを使用して、詳細な結果を示す数多くのテストを実行できます。このコマンドは、InfiniBandファブリックの全般的なヘルス状態の判別に役立つツールです。

コマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibdiagnet -v -r

ibdiagnet.logファイルには、テストのログが含まれます。

15.1.12 ルートに対する包括的な診断の実行

ibdiagpathコマンドを使用すると、特定のルートに対していくつかの同様な包括的テストを実行できます。

コマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibdiagpath -v -l slid dlid

ここで、slidはファブリック内のソース・ノードのLID、dlidは宛先ノードのLIDです。

ibdiagpath.logファイルには、テストのログが含まれます。

15.1.13 InfiniBandトポロジに対する変更の決定

障害が疑われる複数のノードがファブリックに存在する場合は、osmtestコマンドを使用すると、ファブリックのスナップショット(インベントリ・ファイル)を取得して、後でそのファイルを現在の状態と比較できます。

注意:

この手順の実行は、サブネット・マネージャを初期化した後が最も有効ですが、いつでも実行できます。

次の手順を実行します。

  1. サブネット・マネージャが起動していることを確認してください。
  2. コマンド行インタフェース(CLI)で、次のコマンドを実行してトポロジのスナップショットを取得します。

    # osmtest -f c

    次に例を示します。

    # osmtest -f c
    Command Line Arguments
    Done with args
    Flow = Create Inventory
    Aug 13 19:44:53 601222 [B7D466C0] 0x7f -> Setting log level to: 0x03
    Aug 13 19:44:53 601969 [B7D466C0] 0x02 -> osm_vendor_init: 1000 pending umadsspecified
    using default guid 0x21283a8620b0f0
    Aug 13 19:44:53 612312 [B7D466C0] 0x02 -> osm_vendor_bind: Binding to port0x21283a8620b0f0
    Aug 13 19:44:53 636876 [B7D466C0] 0x02 -> osmtest_validate_sa_class_port_info:
    -----------------------------
    SA Class Port Info:
    base_ver:1
    class_ver:2
    cap_mask:0x2602
    cap_mask2:0x0
    resp_time_val:0x10
    -----------------------------
    OSMTEST: TEST "Create Inventory" PASS
    #
    
  3. イベントの発生後に、次の例のように現在のトポロジをインベントリ・ファイルの保存内容と比較します。
    # osmtest -f v
    Command Line Arguments
    Done with args
    Flow = Validate Inventory
    Aug 13 19:45:02 342143 [B7EF96C0] 0x7f -> Setting log level to: 0x03
    Aug 13 19:45:02 342857 [B7EF96C0] 0x02 -> osm_vendor_init: 1000 pending umadsspecified
    using default guid 0x21283a8620b0f0
    Aug 13 19:45:02 351555 [B7EF96C0] 0x02 -> osm_vendor_bind: Binding to port0x21283a8620b0f0
    Aug 13 19:45:02 375997 [B7EF96C0] 0x02 -> osmtest_validate_sa_class_port_info:
    -----------------------------
    SA Class Port Info:
    base_ver:1
    class_ver:2
    cap_mask:0x2602
    cap_mask2:0x0
    resp_time_val:0x10
    -----------------------------
    Aug 13 19:45:02 378991 [B7EF96C0] 0x01 -> osmtest_validate_node_data: Checkingnode 0x0021283a8620b0a0, LID 0x14
    Aug 13 19:45:02 379172 [B7EF96C0] 0x01 -> osmtest_validate_node_data: Checkingnode 0x0021283a8620b0b0, LID 0x15
    .
    .
    .
    Aug 13 19:45:02 480201 [B7EF96C0] 0x01 ->osmtest_validate_single_path_rec_guid_pair:
    Checking src 0x0021283a8620b0f0 to dest 0x0021283a8620b0f0
    Aug 13 19:45:02 480588 [B7EF96C0] 0x01 -> osmtest_validate_path_data: Checkingpath SLID 0x19 to DLID 0x19
    Aug 13 19:45:02 480989 [B7EF96C0] 0x02 -> osmtest_run:
    ***************** ALL TESTS PASS *****************
    OSMTEST: TEST "Validate Inventory" PASS
    #
    

    注意:

    InfiniBandファブリックのサイズによっては、osmtestコマンドからの出力が何万行にも及ぶ可能性があります。

15.1.14 重大なエラーが発生しているリンクの特定

ibdiagnetコマンドを使用してパケットを注入することにより、どのリンクでシンボル・エラーとリカバリ・エラーが発生しているかを判別できます。

コマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibdiagnet -c 100 -P all=1

ibdiagnetコマンドのこのインスタンスでは、それぞれのリンクに100個のテスト・パケットが注入され、テスト中に増分するすべてのカウンタが-P all=1オプションによって返されます。

ibdiagnetコマンドの出力で、symbol_error_counter文字列を検索してください。その行には、16進数のシンボル・エラー・カウントが含まれます。その直前の行では、エラーが発生しているノードとポートが示されます。シンボル・エラーはマイナー・エラーであるため、診断の結果、比較的少ないことが判明した場合は、それらをモニターできます。

注意:

InfiniBand仕様10E-12 BERによると、最大許容シンボル・エラー率は1時間当たり120個のエラーです。

さらに、ibdiagnetコマンドの出力で、link_error_recovery_counter文字列を検索してください。

その行には、16進数のリカバリ・エラー・カウントが含まれます。その直前の行では、エラーが発生しているノードとポートが示されます。リカバリ・エラーは重大なエラーであるため、シンボル・エラーが急速に伝播した原因について、各リンクで調査する必要があります。

また、ibdiagnet.logファイルには、テストのログが含まれます。

15.1.15 すべてのポートの確認

InfiniBandファブリック内のすべてのノードで、すべてのポートの簡単な確認を実行するには、ibcheckstateコマンドを使用できます。

コマンド行インタフェース(CLI)で、次のコマンドを実行します。

# ibcheckstate -v

次の例のような出力が表示されます。

# Checking Switch: nodeguid 0x0021283a8389a0a0
Node check lid 15: OK
Port check lid 15 port 23: OK
Port check lid 15 port 19: OK
.
.
.
# Checking Ca: nodeguid 0x0003ba000100e388
Node check lid 14: OK
Port check lid 14 port 2: OK
## Summary: 5 nodes checked, 0 bad nodes found
## 10 ports checked, 0 ports with bad state found
#

注意:

InfiniBandファブリックのサイズによっては、ibcheckstateコマンドの完了には時間がかかります。-vオプションを指定しない場合、出力には障害が発生したポートのみが表示されます。前述の出力例は、実際の出力の一部分にすぎません。