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

Elastic Compute Service:エンタープライズレベルのインスタンスでのeRDMAの設定

最終更新日:Aug 20, 2024

eRDMA対応のエンタープライズレベルのelastic Compute Service (ECS) インスタンスにElastic Remote Direct Memory Access (eRDMA) を設定して、低レイテンシ、高スループット、高性能、高度にスケーラブルなRDMAネットワークサービスを使用し、ネットワークアーキテクチャを変更することなくネットワークパフォーマンスを向上させることができます。 このトピックでは、エンタープライズレベルのECSインスタンスでeRDMAを設定する方法について説明します。

eRDMAインターフェイス (ERI) 、エラスティックネットワークインターフェイス (ENI) 、およびeRDMAという用語をよく理解してください。

  • ERIは、eRDMA対応であることが可能なERI機能を有するENIである。 ERIは、ECSインスタンスにバインドできる仮想ネットワークインターフェイスです。 詳細については、「概要」トピックの概要セクションを参照してください。

  • ENIは、ECSインスタンスをVPCに接続するために使用される仮想プライベートクラウド (VPC) の仮想ネットワークインターフェイスです。 詳細については、「ENIの概要」をご参照ください。

  • eRDMAは、Alibaba Cloudが提供する低レイテンシ、高スループット、高パフォーマンス、高度にスケーラブルなRDMAネットワークサービスです。 詳細については、「eRDMAの概要」をご参照ください。

制限事項

次の表は、リージョン、インスタンスファミリー、イメージ、eRDMAデバイスの数、およびネットワークに関するeRDMAの制限を示しています。

項目

説明

リージョン

eRDMAは、中国 (北京) 、中国 (上海) 、中国 (杭州) 、中国 (深セン) 、中国 (広州) 、中国 (ウランカブ) 、中国 (河源) の各リージョンでサポートされています。

インスタンスファミリー

次のインスタンスファミリーがeRDMAをサポートしています。

イメージ

  • Alibaba Cloud Linux 3 (推奨)

  • Alibaba Cloud Linux 2 for x86

  • x86のCentOS 7.9

  • Ubuntu 18.04/20.04/22.04

  • アーム用Anolis OS 8.4 ANCKおよびアーム用Anolis OS 8.6 ANCK

説明

選択できるイメージは、インスタンスタイプによって異なります。 eRDMAをサポートするインスタンスタイプを選択すると、選択可能なイメージがインスタンス購入ページに表示されます。

eRDMAデバイスの数

各ECSインスタンスは1つのERIのみをサポートします。

ネットワーク

  • IPv6アドレスをERIに割り当てることはできません。

  • 2つのECSインスタンスがeRDMAを介して通信する場合、通信パスはServer Load Balancer (SLB) インスタンスなどのネットワーク要素をまたぐことはできません。

手順

インスタンスが次の条件を満たす場合にのみ、eRDMA対応のECSインスタンスでeRDMAを有効にできます。eRDMAドライバーがインスタンスにインストールされ、ERIがインスタンスにバインドされています

ECSインスタンス作成時のeRDMAの設定

重要

Alibaba Cloud Linux、Ubuntu、またはAnolis OSを実行するeRDMA対応インスタンスを作成する場合、eRDMAドライバーの自動インストールオプションを選択してeRDMAドライバーを自動的にインストールし、プライマリENIのERI機能を有効にすることで、eRDMAを有効にできます。 選択したオペレーティングシステムバージョンの [eRDMAドライバーの自動インストール] オプションを選択できない場合、またはeRDMAドライバーの自動インストールに失敗した場合は、インスタンスの作成後に手動またはスクリプトを使用してドライバーをインストールできます。 詳細については、このトピックの「既存のインスタンスでのeRDMAの設定」をご参照ください。

  1. ECSインスタンス購入ページに移動します。

  2. ERIsをサポートするECSインスタンスを作成します。 ECSインスタンスを作成するときは、次のパラメーターまたはオプションに注意してください。 ECSインスタンス購入ページのその他のパラメーターについては、「カスタム起動タブでインスタンスを作成する」をご参照ください。

    • インスタンスとイメージ: eRDMAとイメージをサポートするインスタンスタイプを選択します。 詳細については、このトピックの制限セクションを参照してください。 eRDMAドライバの自動インストール: ECSインスタンスの作成中にeRDMAドライバーを自動的にインストールするには、このオプションを選択します。

      image

    • ENI: プライマリENIの右側にあるeRDMAインターフェイスを選択します。

      重要

      ECSインスタンスを作成する場合、プライマリENIに対してのみERI機能を有効にできます。 各ECSインスタンスにバインドできるERIは1つだけです。 セカンダリENIを使用してECSインスタンスでeRDMAを設定する場合は、ERI機能が有効になっているセカンダリENIを作成し、ECSインスタンスの作成後にENIをECSインスタンスにバインドします。 詳細については、「ENIの作成」および「ENIのバインド」をご参照ください。

      image

既存のECSインスタンスでのeRDMAの設定

  1. ECS コンソールにログインします。 eRDMAを設定するECSインスタンスを見つけ、インスタンスIDをクリックして [インスタンスの詳細] ページに移動します。 ネットワークインタフェース タブをクリックし、ERIがインスタンスにバインドされているかどうかを確認します。

    • ERIがECSインスタンスにバインドされている場合は、この手順をスキップします。

    • ECSインスタンスにバインドされているERIがない場合は、次の手順に進みます。

  2. ECSインスタンスのプライマリENIまたはセカンダリENIのERI機能を有効にします。

    重要

    ECSインスタンスごとにERIを1つだけ持つことができます。 ECSインスタンスのプライマリENIまたはセカンダリENIのERI機能を有効にします。

    • ECSインスタンスのプライマリENIまたはセカンダリENIのERI機能を有効にします。 プライマリENIのERI機能を有効にすることを推奨します。

      ECSインスタンスのプライマリENIまたはセカンダリENIのERI機能を有効にするには、NetworkInterfaceIdをENI IDに設定し、NetworkInterfaceTrafficModeHighPerformanceに設定して、ModifyNetworkInterfaceAttribute操作を呼び出します。

    • セカンダリENIを作成し、ENIのERI機能を有効にしてから、ENIをECSインスタンスにアタッチします。

      説明

      ENIを個別に作成する場合にのみ、セカンダリENIのERI機能を有効にできます。 ECSインスタンスの作成時、またはENIの作成後に、セカンダリENIのERI機能を有効にすることはできません。

      1. セカンダリENIを作成します。 詳細については、「ENI の作成」をご参照ください。

        • VPCおよびvSwitch: ECSインスタンスがデプロイされているVPCと、ECSインスタンスが接続されているvSwitchを選択します。

        • eRDMAインターフェイス: このスイッチをオンにします。

          2.png

      2. セカンダリENIをECSインスタンスにバインドします。 詳細については、「セカンダリENIのバインド」をご参照ください。

        説明
        • セカンダリENIをECSインスタンスにバインドする前に、インスタンスのプライマリENIとセカンダリENIが同じvSwitchに接続されていないことを確認してください。 そうでない場合、セカンダリENIのRDMA機能は、場合によっては、デフォルトルートのために利用できないことがある。

        • ERI機能が有効になっているセカンダリENIをECSインスタンスからバインド解除する場合は、ENIをバインド解除する前にインスタンスを停止します。 詳細については、「インスタンスの停止」をご参照ください。

      3. ifconfigコマンドを実行して、セカンダリENIを表示します。 セカンダリENIに関する情報がコマンド出力に表示されない場合は、セカンダリENIを設定します。 詳細については、「セカンダリENIの設定」をご参照ください。 コマンド出力にセカンダリENIに関する情報が表示されている場合は、この手順をスキップします。

        説明

        セカンダリENIがECSインスタンスにバインドされた後、ECSインスタンスが使用する特定のイメージは新しいセカンダリENIを認識できません。

  3. eRDMAドライバをインストールします。

    eRDMAドライバを手動で、または実際のシナリオに基づいてスクリプトを使用してインストールします。

    • スクリプトを使用してeRDMAドライバーをインストールすると、最新の安定したeRDMAドライバーバージョンのインストールパッケージが自動的にダウンロードされます。

    • eRDMAドライバーを手動でインストールする場合は、特定のeRDMAドライバーバージョンのパッケージをダウンロードできます。

    スクリプトを使用してeRDMAドライバをインストールする

    次のコマンドを実行してスクリプトを実行し、eRDMAドライバをインストールします。

    curl -O http://mirrors.cloud.aliyuncs.com/erdma/env_setup.sh
    sudo /bin/bash env_setup.sh > /var/log/erdma_install.log 2>&1

    このスクリプトは、eRDMAドライバーに必要な依存関係パッケージを自動的にインストールし、eRDMAドライバーパッケージをダウンロードし、eRDMAドライバーをインストールします。 スクリプトの実行が完了するまで待ちます。

    説明

    スクリプトを使用してeRDMAドライバーをインストールできない場合は、/var/log/erdma_install.logのパスでインストールログを確認します。

    eRDMAドライバーの手動インストール

    1. 前提条件パッケージを更新します。

      • Alibaba Cloud Linux 3、CentOS、およびAnolis OSの場合は、次のコマンドを実行します。

        sudo yum update -y
      • Ubuntuの場合は、この手順をスキップしてください。

    2. 次のコマンドを順番に実行して、最新のカーネルパッケージバージョンとオペレーティングシステムのカーネルバージョンを照会します。

      rpm -qa | grep kernel  #Query the latest kernel package version.
      uname -r  #Query the operating system kernel version.

      次の図に示すコマンド出力は、カーネルパッケージのバージョンがオペレーティングシステムのカーネルのバージョンと同じであることを示しています。 この場合、追加の操作を実行する必要はありません。 バージョンが異なる場合は、ECSインスタンスを再起動して、バージョンを同じにします。

      image.png

    3. 依存関係パッケージをインストールします。

      • ECSインスタンスがx86インスタンスの場合、インスタンスのオペレーティングシステムに基づいて次のいずれかのコマンドを実行します。

        • Alibaba Cloud Linux 3、CentOS、およびAnolis OSの場合は、次のコマンドを実行します。

          sudo yum install gcc-c++ dkms cmake kernel-devel kernel-headers libnl3 libnl3-devel
        • Ubuntuの場合は、次のコマンドを実行します。

          sudo apt-get install dkms cmake libnl-3-dev libnl-route-3-dev kernel-headers
      • ECSインスタンスがArmインスタンスの場合、ビルドタスクはソースコードに基づいて実行されます。 この場合、多数の依存関係が必要であり、変更される場合があります。 この手順をスキップしてインストールスクリプトを実行できます。 インストールスクリプトで依存関係パッケージのインストールに失敗した場合は、必要な依存関係パッケージのインストールを求められます。 プロンプトに従って依存関係パッケージをインストールし、eRDMAドライバを再インストールします。

    4. eRDMAドライバーインストールパッケージをダウンロードします。

      • 次のコマンドを実行して、内部URLからeRDMAドライバーインストールパッケージをダウンロードします。

        wget http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-latest.tar.gz
      • 次のコマンドを実行して、パブリックURLからeRDMAドライバーインストールパッケージをダウンロードします。

        wget https://mirrors.aliyun.com/erdma/erdma_installer-latest.tar.gz

      この例では、最新のeRDMAドライババージョンのインストールパッケージがダウンロードされています。 ビジネスシナリオに基づいて、特定のeRDMAドライバーバージョンのインストールパッケージをダウンロードできます。 次の表に、eRDMAドライバーバージョンのリリースノートを示します。

      eRDMAドライバーバージョンのリリースノート (リリース日順、最新から最新まで)

      バージョン

      リリース日

      ダウンロードURL

      チェックサム

      説明

      1.3.3

      2023-10-09

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.3.tar.gz

      • MD5: 51ffb06266255139554275bc86fa 4caa

      • SHA256: 5aad6d006662bd902ef5e913fb97d2a6623aadeeacd06f1c3f1c74cbd1f5 7ded

      このバージョンは、最新のパッチを含むように更新されます。

      1.3.2

      2023-09-08

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.2.tar.gz

      • MD5: 8492016fc96eece6a60687b0e4ea6 6dd

      • SHA256: 89ab265dc9fa8d56f1b2d8b13d7f50032390a265eddb2e04eeee3aa86fd16 9ce

      このバージョンは、最新のパッチを含むように更新されます。

      1.3.1

      2023-08-18

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.1.tar.gz

      • MD5: b9b90212e6ba49d57b81d3c5d4210deb

      • SHA256: 4ebe31760443613f8f61fcdbef7a85b277dabc59039d048898536ea4fe5d8d 4a

      ドライバ側の基本的な送信モードは、強い順序付けに設定することができる。 強順序モードでは、データパケットは、順番にのみメモリに送信される。

      1.3.0

      2023-06-26

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.0.tar.gz

      • MD5: 2da0c65643b5e2ffb61d75e1b5e5a 7ab

      • SHA256: cce03aac0e07d0890884c35ad4f10e9d15f587535d788c8fc97ea268312ad4a9

      • マルチレベルページテーブルは、メモリ領域 (MR) 登録中にサポートされる。

      • IPv6機能がサポートされ、基盤となるハードウェアからのIPv6サポートが必要です。

      • Ubuntu 22.04がサポートされています。

      • このバージョンは、最新のパッチを含むように更新されます。

      1.2.3

      2023-05-30

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.3.tar.gz

      • MD5: 7496a6324f3872469d7194c2e234b1 9f

      • SHA256: 16c2de0d90da6906db91c2e2469aaad9e24131c44ce52b9464036f1c3747f8a 2

      このバージョンは、最新のパッチを含むように更新されます。

      1.2.2

      2023-05-04

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.2.tar.gz

      • MD5: f449d3961a41ff6a97a53cfa29e20d6c

      • SHA256: 11fdb4b3c778762ad0bdf2d0327008aa2ecb22dc508c9f9fae3568b41ae546 2b

      Ubuntu 22.04がサポートされています。

      1.2.1

      2023-04-04

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.1.tar.gz

      • MD5: e080103934da76ce83924da789aecece

      • SHA256: be3a89e57143d7544cf968052250df92f911aebb035f07b06ebeb8c5f13bf976

      このバージョンは、最新のパッチを含むように更新されます。

      1.2.0

      2023-03-09

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.0.tar.gz

      • MD5: c8d440a6e35ec6d2aaf1a568affea876

      • SHA256: d484997e28e29f862dc580c112b55b389a00faf88dc6aa89eea588ee1369a8ca

      • 互換モードがサポートされています。

      • このバージョンは、最新のパッチを含むように更新されます。

      1.1.0

      2023-01-16

      http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.1.0.tar.gz

      • MD5: 1fea69d819919a77384f902213eb68 1e

      • SHA256: 176c3bb35d5584e8c8e43eba9b1824b8cb2b43a19d802c4e469363ed8e33fea 6

      このバージョンは、最新のパッチを含むように更新されます。

    5. 次のコマンドを実行してインストールパッケージを解凍し、インストールパッケージの解凍先ディレクトリに移動します。

      tar -xvf erdma_installer-latest.tar.gz && cd erdma_installer
    6. eRDMAドライバをインストールします。

      • 方法1: 次のコマンドを実行してeRDMAドライバをインストールします。 インストールプロセス中に、関連するアンインストール手順と自動インストール手順を確認します。

        sudo sh install.sh
      • 方法2: 次のコマンドを実行して、eRDMAドライバを自動的にインストールします。

        sudo sh install.sh  --batch

      コマンド出力を表示して、ドライバがインストールされているかどうかを確認します。

      次のコマンド出力は、ドライバがインストールされていることを示します。

      4.png

      次のコマンド出力は、ドライバのインストールに失敗したことを示します。 プロンプトに従って操作を実行し、ドライバを再インストールします。

      5.png

      説明

      ECSインスタンスがCentOS 7を実行していて、ドライバーの再インストール時にパッケージが見つからないというエラーが表示された場合、yumコマンドを実行してもパッケージの取得に失敗する可能性があります。 この場合、パッケージを取得する前に、yum install -y epel-releaseコマンドを実行してExtra Packages for Enterprise Linux (EPEL) リポジトリをインストールする必要があります。

eRDMAパフォーマンスのテスト

説明

Perftestツールは、eRDMAの基本的なパフォーマンスをテストするために使用できるベンチマークツールです。 詳細については、「Perftestドキュメント」をご参照ください。

  1. サーバーとクライアントにPerftestツールをインストールします。 次のいずれかの方法を使用して、Perftestツールをインストールします。

    • 方法1: 公式Perftestリポジトリからperftestツールをダウンロードし、ツールをインストールします。 この方法を使用してECSインスタンスにツールをインストールする場合は、インスタンスがインターネットにアクセスできることを確認してください。

    • 方法2: YUMおよびAPTリポジトリを使用して、Perftestツールをインストールします。 インスタンスオペレーティングシステムに基づいて次のいずれかのコマンドを実行し、Perftestツールをインストールします。

      • Alibaba Cloud Linux 3、CentOS、およびAnolis OSの場合は、次のコマンドを実行します。

        sudo yum install perftest -y
      • Ubuntuの場合は、次のコマンドを実行します。

        sudo apt install perftest -y
      説明

      さまざまなバージョンのPerftestツールが、さまざまなLinuxディストリビューションのリポジトリに含まれています。 非互換性が発生する可能性があります。 この方法を使用してPerftestツールをインストールする場合は、通信中のECSインスタンスで同じLinuxディストリビューションを使用することを推奨します。 それ以外の場合は、方法1を使用します。

  2. eRDMAレイテンシをテストします。

    1. サーバーで次のコマンドを実行します。

      ib_write_lat -R -a -F
    2. クライアントで次のコマンドを実行します。

      ib_write_lat -R -a -F <server_ip>

      <server_ip> は、サーバーとして使用されるECSインスタンス上のERIのプライベートIPアドレスを指定します。 IPアドレスの取得方法については、「IPアドレスの表示」をご参照ください。

    次のコマンド出力が返されます。 コマンド出力には、平均レイテンシ、最大レイテンシ、最小レイテンシなどのパフォーマンスメトリックが含まれ、eRDMAが期待どおりに機能することを示します。 测试结果

関連ドキュメント

  • コンテナーで大規模なデータ転送と高性能ネットワーク通信が必要なシナリオでは、Docker環境でeRDMAを使用して、コンテナーアプリケーションがカーネルをバイパスし、ホスト上の物理的なeRDMAデバイスに直接アクセスできるようにします。 これにより、データ転送速度と通信効率が向上します。 詳細については、「DockerでのeRDMAの設定」をご参照ください。

  • Alibaba Cloud Container Service for Kubernetes (ACK) クラスターでeRDMAを使用すると、クラスター内のすべてのサービスとアプリケーションに低遅延で高スループットのネットワーク通信機能を提供できます。 詳細については、「ACKクラスターでのeRDMAの使用」をご参照ください。

  • eRDMAのリアルタイムの作業ステータスを監視および確認できます。 詳細については、「eRDMAの監視と確認」をご参照ください。