すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:SMCの監視と確認

最終更新日:Aug 16, 2024

このトピックでは、カーネルの共有メモリ通信 (SMC) スタックでリモートダイレクトメモリアクセス (SMC-R) を介した共有メモリ通信を監視およびチェックするために使用されるツールと、そのツールの使用方法について説明します。 SMCネットワークのトラフィックメトリックを分析し、ツールによって返された監視とチェックの結果に基づいてネットワークの正常性を判断できます。

前提条件

Alibaba Cloud Linux 3オペレーティングシステムが使用されています。

smc-toolsパッケージを使用してSMCを監視およびチェックする

Alibaba Cloud Linux 3が提供するsmc-toolsパッケージは、SMC接続、SMCリソース、およびSMCスタックに関する情報を取得するのに役立ちます。

smc-toolsパッケージのインストール

sudo yum install -y smc-tools

SMC-Rスタックに関する情報の照会

  • smcrデバイス: SMC-Rスタックで使用されるリモートダイレクトメモリアクセス (RDMA) デバイスに関する情報を照会します。

    サンプルコマンド出力:

    # smcr device
    Net-Dev         IB-Dev   IB-P  IB-State  Type          Crit  #Links  PNET-ID
    eth1            erdma_0     1    ACTIVE  0x107f          No       0  

    なし

    次の表のパラメーターに注意してください。

    パラメーター

    説明

    Net-Dev

    イーサネットデバイスの名前。

    IB-Dev

    RDMAデバイスの名前。

    IB-P

    RDMAデバイスのポート。

    IB-州

    RDMAデバイスのステータス。

    データ型

    RDMAデバイスのタイプ。 デバイスがAlibaba Cloudのelastic RDMA (eRDMA) デバイスの場合、0x10 7fが表示されます。

    # リンク

    RDMAデバイスによって使用されるキューペア (QP) の数。

    PNET-ID

    RDMAデバイスの物理ネットワーク (PNET) ID。

  • smcr linkgroup: SMC-Rリンクグループに関する情報を照会します。

    説明

    SMC-Rのリンクグループは、QP、保護ドメイン (PD) 、およびメモリ登録 (MR) を含むRDMAリソースで構成されます。 デフォルトでは、リンクグループは32個のSMC接続をサポートします。

    サンプルコマンド出力:

    # smcr linkgroup
    LG-ID    LG-Role  LG-Type  VLAN  #Conns  PNET-ID
    00000300 SERV     SINGLE      0       0  1234

    使用されるQPの量を示すリンクグループの数と、次の表のパラメーターに注意してください。

    パラメーター

    説明

    # Conns

    リンクグループで実行されるSMC接続の数。

  • smcr stats: 現在のネットワーク名前空間のSMC-Rスタックに関する統計を照会します。

    サンプルコマンド出力:

    # smcr stats
    SMC-R Connections Summary
      Total connections handled             7
      SMC connections                       5
      Handshake errors                      0
      Avg requests per SMC conn        518103.6
      TCP fallback                          2
    
    RX Stats
      Data transmitted (Bytes)       18133584 (18.13M)
      Total requests                  1295262
      Buffer full                           0 (0.00%)
                8KB    16KB    32KB    64KB   128KB   256KB   512KB  >512KB
      Bufs        0       0       0       0       0       5       0       0
      Reqs   1.295M       0       0       0       0       0       0       0
    
    TX Stats
      Data transmitted (Bytes)       18133584 (18.13M)
      Total requests                  1295256
      Buffer full                           0 (0.00%)
      Buffer full (remote)                  0 (0.00%)
      Buffer too small                      0 (0.00%)
      Buffer too small (remote)             0 (0.00%)
                8KB    16KB    32KB    64KB   128KB   256KB   512KB  >512KB
      Bufs        0       0       0       0       0       5       0       0
      Reqs   1.295M       0       0       0       0       0       0       0
    
    Extras
      Special socket calls                  5

    次の表のパラメーターに注意してください。

    パラメーター

    説明

    Total connections handled

    SMC-Rスタックによって処理された接続の総数。SMC接続ハンドシェイクエラー、およびTCPフォールバック値の合計です。

    SMC connections

    SMC-R接続に変換された接続の総数。

    Handshake errors

    ピアから応答が受信されなかったなど、ハンドシェークフェーズ中にエラーが発生したために失敗した接続の総数。

    Avg requests per SMC conn

    SMC接続ごとに受信または送信されたリクエストの平均数。

    TCP fallback

    TCP/IPに戻った接続の総数。

    Rx/Data transmitted (Bytes)

    SMC-R接続で受信されたバイトの合計数。

    Rx/Total requests

    SMC-R接続を介して受信されたリクエストの総数。

    Rx/Buffer full

    SMC-R接続の受信 (Rx) バッファがフルになった合計回数。 SMC-R接続を使用するユーザモードアプリケーションが、最も早い機会に接続に割り当てられたRxバッファからデータを読み取らない場合、接続に割り当てられたRxバッファは満杯になる可能性がある。 このパラメーターの値を減らすには、SMC-R接続を使用するユーザーモードアプリケーションで、できるだけ早い機会にRxバッファからデータを読み取るか、Rxバッファの容量を増やします。 そうでない場合、送信者はバックプレスされ、受信者は新しいデータを受信できません。

    Rx/Bufs

    SMC-R接続で使用されるRxバッファの分布。 SMC-Rは、各リンクグループのメモリプールを維持する。 接続が確立されると、SMC-Rは、適切なサイズのアイドルメモリブロックをメモリプールからRxバッファとして接続に割り当てる。 使用可能なメモリブロックがない場合、SMC-Rは適切なサイズの新しいメモリブロックを作成する。 接続が閉じられた後、メモリブロックはメモリプールに再利用される。 このパラメーターの値は、RxバッファがメモリプールからSMC-R接続に割り当てられた合計回数と、Rxバッファサイズの分布を示します。 この値は、メモリを消費しているRxバッファの実際の数を表すものではありません。

    Rx/Reqs

    SMC-R接続を介して受信したリクエストのサイズの分布。

    Tx/Data transmitted (Bytes)

    SMC-R接続で送信されたバイト数の合計。

    Tx/Total requests

    SMC-R接続を介して送信されたリクエストの総数。

    Tx/Buffer full

    SMC-R接続のための送信 (Tx) バッファが満杯になった合計回数。 SMC-Rスタックが、SMC-R接続を使用するユーザモードアプリケーションによって配信されたデータを最も早い機会にリンクに送信しない場合、接続に対応するTxバッファは満杯になる可能性がある。 割合が高い場合は、ビジネス要件に基づいてTxバッファーの容量を増やします。

    Tx/Buffer full (remote)

    SMC-R接続のピアRxバッファがフルになった合計回数。 SMC-R接続のためのピアRxバッファが一杯である場合、ローカルエンドはピアにデータを送信することができない。 割合が高い場合は、ビジネス要件に基づいてピアRxバッファの容量を増やします。

    Tx/Buffer too small

    SMC-R接続を介して送信されたリクエストのサイズが、対応するTxバッファのサイズを超えた合計回数。 SMC-R接続を介して送信される要求のサイズが対応するTxバッファのサイズを超える場合、Txバッファのサイズは過度に小さい。 割合が高い場合は、ビジネス要件に基づいてTxバッファーの容量を増やします。

    Tx/Buffer too small (remote)

    SMC-R接続を介して送信された要求のサイズが、対応するピアRxバッファのサイズを超えた合計回数。 SMC-R接続を介して送信される要求のサイズが対応するピアRxバッファのサイズを超える場合、ピアRxバッファのサイズは過度に小さくなる。 割合が高い場合は、ビジネス要件に基づいてピアRxバッファの容量を増やします。

    Tx/Bufs

    SMC-R接続によって使用されるTxバッファの分布。 SMC-Rは、各リンクグループのメモリプールを維持する。 接続が確立されると、SMC-Rは、適切なサイズのアイドルメモリブロックをメモリプールからTxバッファとして接続に割り当てる。 使用可能なメモリブロックがない場合、SMC-Rは適切なサイズの新しいメモリブロックを作成する。 接続が閉じられた後、メモリブロックはメモリプールに再利用される。 このパラメータの値は、TxバッファがメモリプールからSMC-R接続に割り当てられた合計回数とTxバッファサイズの分布を示します。 この値は、メモリを消費しているTxバッファの実際の数を表すものではありません。

    Tx/Reqs

    SMC-R接続を介して受信されたリクエストのサイズの分布。

SMC-R接続に関する情報の照会

  • smcss: 確立中、クローズ中、および現在のネットワーク名前空間で確立されているSMCソケットに関する基本情報を照会します。

    説明

    前述のコマンドのコマンド出力には、TCP/IPに戻ったSMCソケットが含まれています。

    サンプルコマンド出力:

    # smcss
    State          UID   Inode   Local Address           Peer Address            Intf Mode
    ACTIVE         00994 2954337 192.168.4.78:80         192.168.4.79:36000      0000 SMCR
    ACTIVE         00994 2954336 192.168.4.78:80         192.168.4.79:35994      0000 SMCR
    ACTIVE         00994 2954333 192.168.4.78:80         192.168.4.79:35978      0000 SMCR
    ACTIVE         00994 2950860 192.168.4.78:80         192.168.4.79:35972      0000 SMCR
    ACTIVE         00994 2953298 192.168.4.78:80         192.168.4.79:35966      0000 SMCR
    ACTIVE         00994 2953297 192.168.4.78:80         192.168.4.79:35948      0000 TCP 0x03010000
    ACTIVE         00994 2954330 192.168.4.78:80         192.168.4.79:35922      0000 TCP 0x03010000
    ACTIVE         00994 2947957 192.168.4.78:80         192.168.4.79:35920      0000 TCP 0x03010000
    ACTIVE         00994 2953293 192.168.4.78:80         192.168.4.79:35822      0000 TCP 0x03010000
    ACTIVE         00994 2955286 192.168.4.78:80         192.168.4.79:35752      0000 TCP 0x03010000

    次の表のパラメーターに注意してください。

    パラメーター

    説明

    状態

    ソケットのステータス。 有効な値:

    • INIT: ソケットは初期化中です。

    • CLOSED: ソケットが閉じています。

    • LISTEN: ソケットはリスニングソケットです。

    • ACTIVE: 接続が確立されています。

    • PEERCLW1: ソケットはピアにデータを送信しなくなりました。

    • PEERCLW2: ソケットがピアとの間でデータを送受信しなくなりました。

    • APPLCLW1: ソケットはピアからデータを受信しなくなりました。

    • APPLCLW2: ソケットがピアとの間でデータを送受信しなくなりました。

    • APPLFINCLW: ソケットはピアによって閉じられます。

    • PEERFINCLW: ソケットはローカルで閉じています。

    • PEERABORTW: ソケットが予期せずローカルに閉じられます。

    • PROCESSABORT: ピアによって予期せずソケットが閉じられます。

    ローカルアドレス

    ローカルIPv4アドレスとポート番号。 SMCはIPv4プロトコルのみをサポートします。

    ピアアドレス

    ピアIPv4アドレスとポート番号。 SMCはIPv4プロトコルのみをサポートします。

    モード

    通信モード。

    • SMCR: SMC-Rスタックを使用します。

    • TCP <fallback reason>: フォールバックしてTCP/IPスタックを使用します。

      説明

      数値コードはフォールバックの理由を示します。 数値コードの意味については、「SMCのトラブルシューティング」トピックの「SMC fall back to TCP and RDMA cannot be used to accelerate communications」セクションをご参照ください。

  • smcss -l: 現在のネットワーク名前空間のLISTEN状態のソケットを照会します。

    smcss -lコマンドには、smcssコマンドと同じ出力パラメーターがあります。

  • smcss -R: 現在のネットワーク名前空間のSMC-Rスタックで実行されるソケットを照会します。

    サンプルコマンド出力:

    # smcss -R
    State          UID   Inode   Local Address           Peer Address            Intf Mode Role IB-device       Port Linkid GID                                      Peer-GID
    ACTIVE         00000 1833669 192.168.4.79:33618      192.168.4.78:80         0000 SMCR CLNT erdma_0         01   01     0000:0000:0000:0000:0000:ffff:c0a8:044f  0000:0000:0000:0000:0000:ffff:c0a8:044e
    ACTIVE         00000 1833667 192.168.4.79:33604      192.168.4.78:80         0000 SMCR CLNT erdma_0         01   01     0000:0000:0000:0000:0000:ffff:c0a8:044f  0000:0000:0000:0000:0000:ffff:c0a8:044e
    ACTIVE         00000 1828405 192.168.4.79:33590      192.168.4.78:80         0000 SMCR CLNT erdma_0         01   01     0000:0000:0000:0000:0000:ffff:c0a8:044f  0000:0000:0000:0000:0000:ffff:c0a8:044e
    ACTIVE         00000 1833665 192.168.4.79:33578      192.168.4.78:80         0000 SMCR CLNT erdma_0         01   01     0000:0000:0000:0000:0000:ffff:c0a8:044f  0000:0000:0000:0000:0000:ffff:c0a8:044e
    ACTIVE         00000 1833663 192.168.4.79:33564      192.168.4.78:80         0000 SMCR CLNT erdma_0         01   01     0000:0000:0000:0000:0000:ffff:c0a8:044f  0000:0000:0000:0000:0000:ffff:c0a8:044e

    上記の基本的なパラメーターに加えて、次の表のパラメーターに注意してください。

    パラメーター

    説明

    IB-デバイス

    接続に使用されるRDMAデバイスの名前。

    ポート

    接続に使用されるRDMAデバイスのポート。

    GID

    接続に使用されるRDMAデバイスのグローバルID (GID) 。

    ピアGID

    ピアRDMAデバイスのGID。

  • smcss -a: TCP/IPに戻ったSMCソケットを含め、現在のネットワーク名前空間のすべての状態のSMCソケットを照会します。

    smcss -aコマンドの出力パラメーターは、smcssコマンドと同じです。

    説明

    接続のモードフィールドの数値コードは、接続のフォールバックの理由を示します。 詳細については、「SMCのトラブルシューティング」トピックの「SMC fall back to TCP and RDMA cannot be used to accelerate communications」セクションをご参照ください。

関連ドキュメント

  • eRDMAが使用されている場合のSMC-Rの監視と保守の方法については、「eRDMAの監視と確認」をご参照ください。

  • 通信障害、使用できないポート、TCPと比較したアプリケーションパフォーマンスの改善なしなどのSMCの問題を解決する方法については、「SMCのトラブルシューティング」をご参照ください。