Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
13.2. RoCE を使用したデータ転送
RoCE (RDMA over Converged Ethernet) は、イーサネットネットワークでリモートダイレクトメモリーアクセス (RDMA) を有効にするネットワークプロトコルです。RoCE には 2 つのバージョン (RoCE v1 および RoCE v2) があり、使用されるネットワークアダプターにより異なります。
- RoCE v1
RoCE v1
プロトコルは、同じイーサネットブロードキャストドメインにある 2 つのホスト間の通信を可能にするイーサー型0x8915
を持つイーサネットリンク層プロトコルになります。RoCE v1 は、ConnectX-3 ネットワークアダプターを使用する場合の RDMA Connection Manager (RDMA_CM) のデフォルトバージョンです。- RoCE v2
RoCE v2
プロトコルは、UDP over IPv4 または UDP over IPv6 プロトコルに存在します。UDP 宛先ポート番号の4791
は、RoCE v2 に予約されています。Red Hat Enterprise Linux 7.5 以降、RoCE v2 は、ネットワークアダプター ConnectX-3 Pro、ConnectX-4、ConnectX-4 Lx、および ConnectX-5 を使用する場合は、RDMA_CM のデフォルトバージョンです。ハードウェアは、RoCE v1
およびRoCE v2
をサポートします。
RDMA Connection Manager (RDMA_CM) は、データを転送するために、クライアントとサーバーとの間の信頼できる接続を設定するために使用されます。RDMA_CM は、接続を確立するために、RDMA トランスポートニュートラルインターフェースを提供します。通信は、特定の RDMA デバイスで行われ、データ転送はメッセージベースとなります。
前提条件
RDMA_CM セッションには、以下のいずれかが必要です。
- クライアントおよびサーバーで、同じ RoCE モードをサポートします。
- クライアントは RoCE v1 をサポートし、サーバーは RoCE v2 をサポートします。
クライアントが接続のモードを決定するため、次のような状況が考えられます。
- 成功した接続:
- クライアントが、使用されるネットワークカードおよびドライバーに従って、RoCE v1 モードまたは RoCE v2 モードにある場合、対応するサーバーは同じバージョンを使用して接続を作成する必要があります。また、接続は、クライアントが RoCE v1 モードで、サーバーが RoCE v2 モードの場合に限り成功します。
- 失敗した接続:
- クライアントが RoCE v2 にあり、対応するサーバーが RoCE v1 の場合は、接続は確立されません。この場合は、対応するサーバーのドライバーまたはネットワークアダプターを更新します。「RoCE を使用したデータ転送」を参照してください。
表13.1 RDMA_CM を使用する RoCE バージョンのデフォルト
クライアント | サーバー | デフォルト設定 |
---|---|---|
RoCE v1 | RoCE v1 | 接続 |
RoCE v1 | RoCE v2 | 接続 |
RoCE v2 | RoCE v2 | 接続 |
RoCE v2 | RoCE v1 | 接続なし |
クライアントの RoCE v2 と、サーバーの RoCE v1 は互換性がありません。この問題を解決するには、サーバーとクライアントで、RoCE v1 で通信することを強制します。これは、RoCE v2 がサポートするハードウェアが RoCE v1 を使用するように強制することを意味します。
手順13.1 ハードウェアがすでに Roce v2 で実行している場合にデフォルトの RoCE モードへの変更
- RoCE モードに設定するために、
/sys/kernel/config/rdma_cm
ディレクトリーに変更します。~]#
cd /sys/kernel/config/rdma_cm
- イーサネットネットワークデバイスで
ibstat
コマンドを実行すると、ステータスが表示されます。たとえば、mlx5_0 の場合は以下のようになります。~]$
ibstat
mlx5_0 CA 'mlx5_0' CA type: MT4115 Number of ports: 1 Firmware version: 12.17.1010 Hardware version: 0 Node GUID: 0x248a0703004bf0a4 System image GUID: 0x248a0703004bf0a4 Port 1: State: Active Physical state: LinkUp Rate: 40 Base lid: 0 LMC: 0 SM lid: 0 Capability mask: 0x04010000 Port GUID: 0x268a07fffe4bf0a4 Link layer: Ethernet - mlx5_0 デバイスにディレクトリーを作成します。
~]#
mkdir
mlx5_0 - ツリー形式で、
default_roce_mode
ファイルの RoCE モードを表示します。~]#
cd
mlx5_0~]$ tree └── ports └── 1 ├── default_roce_mode └── default_roce_tos
~]$
cat /sys/kernel/config/rdma_cm/mlx5_0/ports/1/default_roce_mode
RoCE v2 - デフォルトの RoCE モードを変更します。
~]#
echo "RoCE v1" > /sys/kernel/config/rdma_cm/mlx5_0/ports/1/default_roce_mode
- 変更を表示します。
~]$
cat /sys/kernel/config/rdma_cm/mlx5_0/ports/1/default_roce_mode
RoCE v1
このページには機械翻訳が使用されている場合があります (詳細はこちら)。