全部產品
Search
文件中心

Elastic Compute Service:在企業級執行個體上配置eRDMA

更新時間:Jul 31, 2024

為支援eRDMA能力的企業級ECS執行個體配置eRDMA,實現在不需要修改現有網路架構的情況下,體驗超低延遲、大吞吐、高彈性的高效能RDMA網路服務。本文介紹如何在企業級ECS執行個體上配置eRDMA,以充分利用高效可擴充的RDMA能力,從而提升您的網路效能。

瞭解相關概念:彈性RDMA網卡(ERI)、彈性網卡(ENI)、彈性RDMA(eRDMA)

  • 彈性RDMA網卡(Elastic RDMA Interface,簡稱ERI)是一種可以綁定到ECS執行個體的虛擬網卡。更多資訊,請參見功能簡介

  • 彈性網卡(Elastic Network Interfaces,簡稱ENI)是Virtual Private Cloud中的虛擬網路介面,用於串連雲端服務器與專用網路。更多資訊,請參見彈性網卡概述

  • 彈性RDMA(Elastic Remote Direct Memory Access,簡稱eRDMA)是阿里雲提供的低延遲、大吞吐、高彈性的高效能RDMA網路服務。更多資訊,請參見eRDMA概述

使用限制

配置eRDMA對地區、執行個體規格、鏡像等方面有一些限制,詳細說明如下表所示。

限制項

說明

地區

支援華北2(北京)、華東2(上海)、華東1(杭州)、華南1(深圳)、華南3(廣州)、華北6(烏蘭察布)、華南2(河源)

執行個體規格

支援eRDMA的執行個體規格如下:

鏡像

  • Alibaba Cloud Linux 3(推薦)

  • Alibaba Cloud Linux 2(僅x86系統支援)

  • CentOS 7.9(僅x86系統支援)

  • Ubuntu 18.04/20.04/22.04

  • Anolis OS 8.4 ANCK/8.6 ANCK(僅Arm版本支援)

說明

不同執行個體規格可選擇的鏡像範圍不同,實際可選擇的鏡像以購買頁面的實際展示為準。

eRDMA裝置數量

每個執行個體最大支援1個eRDMA網卡裝置。

熱插拔特性

啟用了彈性RDMA介面的網卡(即ERI網卡)只支援熱插拔,不支援熱拔出。

網路限制

  • 網卡開啟彈性RDMA介面後,不支援分配IPv6地址。

  • 兩個執行個體之間通過彈性RDMA通訊,通訊鏈路中間不支援跨網元裝置(例如Server Load Balancer等)。

操作步驟

支援eRDMA能力的執行個體使能eRDMA能力需滿足2個條件:安裝了eRDMA驅動、綁定了開啟彈性RDMA介面的網卡

建立新執行個體時配置eRDMA

重要

當支援eRDMA能力的執行個體的作業系統為Alibaba Cloud Linux、Ubuntu和Anolis OS時,支援在建立執行個體時自動安裝eRDMA驅動並開啟彈性RDMA介面,使能eRDMA,免去手動安裝的麻煩。對於不支援安裝eRDMA驅動的作業系統或自動安裝失敗的情況,您可以在執行個體建立完成後,通過指令碼方式或手動方式安裝驅動。具體操作,請參見為已有執行個體配置eRDMA

  1. 前往執行個體購買頁

  2. 建立支援ERI的ECS執行個體。建立過程中需注意以下配置項(其他參數,請參見自訂購買執行個體):

    • 執行個體規格和鏡像:請參見使用限制鏡像需要選中安裝eRDMA驅動。執行個體啟動過程中會自動安裝eRDMA驅動,無需您再手動安裝。

      image

    • 彈性網卡:在主網卡右側選中彈性RDMA介面

      重要

      建立執行個體時,僅支援為主網卡啟用彈性RDMA介面,且單台ECS執行個體最多隻能綁定一個啟用彈性RDMA介面的網卡。如果您需要使用輔助網卡配置eRDMA,只能在建立執行個體後,單獨建立輔助彈性網卡並為其啟用彈性RDMA介面,然後綁定至ECS執行個體上使用。具體操作,請參見建立輔助彈性網卡綁定輔助彈性網卡

      image

為已有執行個體配置eRDMA

  1. 登入ECS管理主控台,找到目標執行個體並進入執行個體詳情頁,選擇彈性網卡頁簽,查看執行個體是否已有開啟了彈性RDMA介面的網卡。

    image

    • 若有:請跳過以下步驟。

    • 若沒有:請按照以下步驟,為主網卡或輔助彈性網卡配置eRDMA。

  2. 為主網卡或輔助彈性網卡配置eRDMA。

    重要

    單台ECS執行個體只能綁定一個啟用彈性RDMA介面的網卡,因此您只需為主網卡開啟RDMA功能,或為輔助彈性網卡開啟RDMA功能即可。

    • 為主網卡(推薦使用)或輔助彈性網卡配置eRDMA

      您可以通過API介面ModifyNetworkInterfaceAttribute,填寫網卡ID,設定NetworkInterfaceTrafficModeHighPerformance,為已有執行個體配置eRDMA。

    • 為輔助彈性網卡配置eRDMA:建立啟用彈性RDMA介面的輔助彈性網卡,並綁定至目標ECS執行個體。

      說明

      只能在單獨建立輔助彈性網卡時為輔助彈性網卡啟用彈性RDMA介面,不支援在建立執行個體時或建立輔助彈性網卡後為輔助彈性網卡啟用彈性RDMA介面。

      1. 建立輔助彈性網卡。具體操作,請參見建立輔助彈性網卡

        • 專用網路交換器:需要與目標ECS執行個體在同一個專用網路和可用性區域。

        • 增加彈性RDMA介面:開啟開關。

          2.png

      2. 將輔助彈性網卡綁定至ECS執行個體。具體操作,請參見綁定輔助彈性網卡

        說明
        • 將輔助彈性網卡綁定至執行個體前,請確認目標執行個體的主網卡和輔助網卡不在同一子網內,否則可能因為預設路由導致輔助網卡的RDMA功能在某些情況下不可用。

        • 將啟用彈性RDMA介面的輔助彈性網卡綁定至執行個體後,如需解除綁定,必須先停止執行個體。具體操作,請參見停止執行個體

      3. 執行ifconfig命令,如果不能顯示該網卡,需要手動設定彈性網卡。具體操作,請參見配置輔助彈性網卡。否則,請跳過該步驟。

        說明

        部分鏡像無法自動識別新綁定的輔助彈性網卡。

  3. 安裝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

    執行安裝指令碼後,指令碼會自動協助您安裝ERI驅動所需的軟體依賴包、下載ERI驅動包以及安裝ERI驅動,等待安裝指令碼執行結束即可。

    說明

    如果以指令碼方式安裝驅動失敗,請您檢查安裝日誌,安裝日誌的具體路徑為:/var/log/erdma_install.log

    手動方式

    1. 執行以下命令,更新前置軟體包。

      • Alibaba Cloud Linux 3/CentOS/Anolis OS:

        sudo yum update -y
      • Ubuntu:無需更新,跳過該步驟。

    2. 依次執行以下命令,查看最新的kernel包版本和作業系統的核心版本。

      rpm -qa | grep kernel  #查看最新的kernel包版本
      uname -r  #查看作業系統的核心版本

      系統返回樣本資訊如下,表示兩者版本一致,無需進行額外操作。若版本不一致,則需要重啟執行個體使其生效。

      image.png

    3. 執行以下命令,安裝依賴的軟體包。

      • 對於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
      • 對於Arm執行個體,由於需要基於源碼執行構建任務,相關的軟體依賴包較多且可能會發生變化,因此可以忽略本步驟,直接執行安裝指令碼。如果安裝指令碼失敗,指令碼會提示您需要安裝的軟體依賴包,請根據提示完成安裝,然後重新執行軟體安裝即可。

    4. 執行以下命令,下載驅動安裝包。

      • 從內網地址擷取軟體包

        wget http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-latest.tar.gz
      • 從公網地址擷取軟體包

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

      這裡預設下載最新版本的驅動安裝包,您還可以根據實際情境下載指定版本的驅動包。eRDMA不同驅動版本的發布資訊如下:

      eRDMA不同驅動版本的發布資訊(按版本由新到舊排序)

      版本

      發布時間

      下載地址

      校正和

      變更內容

      1.3.3

      2023年10月09日

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

      • MD5:51ffb06266255139554275bc86fa4caa

      • SHA256:5aad6d006662bd902ef5e913fb97d2a6623aadeeacd06f1c3f1c74cbd1f57ded

      更新最新補丁包

      1.3.2

      2023年09月08日

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

      • MD5:8492016fc96eece6a60687b0e4ea66dd

      • SHA256:89ab265dc9fa8d56f1b2d8b13d7f50032390a265eddb2e04eeee3aa86fd169ce

      更新最新補丁包

      1.3.1

      2023年08月18日

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

      • MD5:b9b90212e6ba49d57b81d3c5d4210deb

      • SHA256:4ebe31760443613f8f61fcdbef7a85b277dabc59039d048898536ea4fe5d8d4a

      允許在驅動側配置底層的傳輸模式為強保序。強保序模式下,資料包只能按序提交到記憶體

      1.3.0

      2023年06月26日

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

      • MD5:2da0c65643b5e2ffb61d75e1b5e5a7ab

      • 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:7496a6324f3872469d7194c2e234b19f

      • SHA256:16c2de0d90da6906db91c2e2469aaad9e24131c44ce52b9464036f1c3747f8a2

      更新最新補丁包

      1.2.2

      2023年05月04日

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

      • MD5:f449d3961a41ff6a97a53cfa29e20d6c

      • SHA256:11fdb4b3c778762ad0bdf2d0327008aa2ecb22dc508c9f9fae3568b41ae5462b

      支援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:1fea69d819919a77384f902213eb681e

      • SHA256:176c3bb35d5584e8c8e43eba9b1824b8cb2b43a19d802c4e469363ed8e33fea6

      更新最新補丁包

    5. 執行以下命令,解壓安裝包並進入檔案目錄。

      tar -xvf erdma_installer-latest.tar.gz && cd erdma_installer
    6. 執行以下命令,安裝驅動。

      • 方式一:安裝過程需手動確認相關卸載步驟及自動下載步驟

        sudo sh install.sh
      • 方式二:安裝過程無需確認過程

        sudo sh install.sh  --batch

      根據返回資訊,確認安裝結果。

      若系統返回如下資訊,則表示安裝驅動成功。

      4.png

      若系統返回如下資訊,則表示提示安裝驅動失敗,請按照提示資訊操作完成後,重新嘗試安裝驅動。

      5.png

      說明

      如果您使用的是CentOS 7系統,並且重新安裝驅動過程中提示缺少軟體包,但您無法通過yum擷取到,您可能需要執行yum install -y epel-release命令,先安裝epel-release倉庫,然後才能擷取到對應的軟體包。

測試eRDMA效能

說明

perftest是測試eRDMA基礎效能的benchmark工具。更多資訊,請參見perftest相關文檔

  1. 分別在Server端和Client端安裝perftest工具。您可以通過以下兩種方式安裝perftest。

    • 方式一:訪問perftest官方倉庫下載並安裝perftest工具。該方式需確保執行個體具備公網訪問能力。

    • 方式二:yum/apt源方式安裝。執行如下命令,安裝perftest工具。

      • Alibaba Cloud Linux 3/CentOS/Anolis OS

        sudo yum install perftest -y
      • Ubuntu

        sudo apt install perftest -y
      說明

      不同Linux發行版的軟體源中包含的perftest版本可能不一致,在通訊時可能存在相容性問題。建議您通訊的執行個體使用相同的Linux發行版,否則請採用第一種方式安裝。

  2. 測試eRDMA的延遲效能。

    1. 在Server端執行如下命令。

      ib_write_lat -R -a -F
    2. 在Client端執行如下命令。

      ib_write_lat -R -a -F <server_ip>

      其中,<server_ip>是Server端ECS執行個體上綁定的eRDMA的彈性網卡所對應的私人IP地址。擷取IP地址的方法,請參見查看IP地址

    若系統返回資訊如下,測試結果包括平均延遲、最大延遲、最小延遲等延遲相關的效能指標,表示eRDMA通訊正常。測試結果

相關文檔

  • 容器中需要大規模資料轉送和高效能網路通訊的應用情境中,將eRDMA功能引入容器(Docker)環境可實現容器應用程式繞過作業系統核心直接存取主機的物理eRDMA裝置,從而提供更快的資料轉送和通訊效率。具體操作,請參見在容器(Docker)中配置eRDMA

  • 您也可以在ACK(Alibaba Cloud Container Service for Kubernetes)叢集中使用eRDMA,可以為運行在叢集上的所有服務和應用提供低延遲、高輸送量的網路通訊能力。具體操作,請參見在ACK叢集上使用eRDMA

  • 如需監測或診斷eRDMA,方便您對eRDMA的運行狀態進行即時監控。具體操作,請參見監測和診斷eRDMA