全部產品
Search
文件中心

Elastic Compute Service:彈性RDMA網卡(ERI)

更新時間:Apr 11, 2025

彈性RDMA網卡(Elastic RDMA Interface,簡稱ERI)是一種可以綁定到ECS執行個體的虛擬網卡,它是實現eRDMA功能的關鍵組件。ERI依附於彈性網卡(ENI),在彈性網卡的基礎上開啟RDMA的功能。

功能介紹

在ECS執行個體上配置eRDMA,需要為執行個體綁定彈性RDMA網卡。eRDMA是阿里雲提供的低延遲、大吞吐、高彈性的高效能RDMA網路服務。通過ERI,eRDMA能夠在ECS執行個體上實現超低延遲和高輸送量的網路通訊。詳細資料,請參見eRDMA概述

目前只有部分執行個體規格支援綁定彈性RDMA網卡,詳細資料,請參見執行個體規格類型系列

您可以通過DescribeInstanceTypes返回參數中的EriQuantity的值,查詢執行個體規格支援綁定ERI的最大數量(0表示不支援彈性RDMA介面)。

執行個體綁定多個彈性RDMA介面時,需要考慮網卡的隊列對數量限制。詳細資料,請參見隊列對(QP)數

建立彈性RDMA網卡

隨執行個體建立ERI

對於支援eRDMA的執行個體規格,您可以在購買執行個體的時候選擇開啟網卡的彈性RDMA介面。不同類型的執行個體的具體配置可能不同:

單獨建立ERI

在建立輔助彈性網卡時,啟動增加彈性RDMA介面。ERI會共用該輔助彈性網卡的設定,包括彈性網卡的IP、應用於彈性網卡的安全性群組規則等。具體操作,請參見建立並使用彈性網卡

image

通過OpenAPI建立ERI

您可以通過CreateNetworkInterface 建立一個彈性網卡,並設定NetworkInterfaceTrafficMode參數的值為HighPerformance,即建立一個開啟了ERI的彈性網卡。

彈性RDMA網卡的管理,如綁定和解除綁定、修改屬性等操作,請參見管理彈性網卡

查看彈性RDMA網卡

在控制台查看

您可以在控制台查看彈性網卡是否開啟RDMA介面。

  1. 訪問ECS控制台-執行個體

  2. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。地區

  3. 找到目標ECS執行個體,點擊執行個體ID進入執行個體詳情頁。

  4. 選擇彈性網卡頁簽,可以看到目標ECS執行個體綁定的彈性網卡的詳細資料。

    網卡類型列,可以看到彈性RDMA介面標誌,這表示網卡開啟了彈性RDMA介面。

    image

通過OpenAPI查看

您可以通過DescribeNetworkInterfaceAttribute查詢網卡屬性,返回參數中的NetworkInterfaceTrafficMode的值表示網卡是否開啟彈性RDMA介面:

  • HighPerformance開啟彈性RDMA介面,使用彈性RDMA通訊模式。

  • Standard:關閉彈性RDMA介面,使用TCP通訊模式。

在執行個體內部查看

當執行個體綁定的彈性網卡開啟彈性RDMA介面後,您可以在執行個體內部查看RDMA網卡。

  1. 遠程登入執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 執行以下命令,查看RDMA網卡裝置。

    ibv_devices

    通過返回的裝置名稱,可以看到是eRDMA網卡裝置。

    image

    如果您的執行個體綁定了多個開啟彈性RDMA介面的網卡裝置,輸出如下所示:

    image

  • 您也可以通過ibv_devinfo查看彈性RDMA網卡更多配置參數,如連接埠狀態、支援的最大隊列數等。

    image

  • 如果您無法在執行個體內部查看到以上資訊,可能是eRDMA驅動安裝異常或者網卡配置異常,您可以參考驗證eRDMA配置的正確性進行確認並修複。

修改已建立彈性網卡的RDMA介面

您可以通過ModifyNetworkInterfaceAttribute,設定NetworkInterfaceTrafficConfig中的NetworkInterfaceTrafficMode參數的值來配置網卡的通訊模式,即開啟或關閉彈性RDMA介面。

  • HighPerformance開啟彈性RDMA介面,使用彈性RDMA通訊模式。

  • Standard:關閉彈性RDMA介面,使用TCP通訊模式。

說明

您無法在控制台上為已建立的彈性網卡開啟或關閉彈性RDMA介面。

隊列對(QP)數

QP(Queue Pair)是RDMA中的基本通訊實體,由一個發送隊列(Send Queue,SQ)和一個接收隊列(Receive Queue,RQ)組成。QP負責管理髮送和接收的資料。

隊列對(QP)數是指一個RDMA裝置或網路介面上可以建立的最大隊列對QP數量,它決定了RDMA網路可以支援的最大並發串連數,影響網路的擴充性和並發處理能力。

執行個體的QP數

執行個體的QP數量和規格有關,當您為ECS執行個體綁定多張彈性RDMA網卡時,根據執行個體規格不同,所允許的所有網卡的QP數量的上限不同,您可以通過DescribeInstanceTypes查詢對應執行個體規格所允許的所有網卡的QP數量上限

  • 企業級CPU執行個體:返回參數中的QueuePairNumber的值,即執行個體規格允許的所有彈性RDMA網卡的QP數量上限。

  • GPU執行個體:允許的所有網卡QP數上限為QueuePairNumber * NetworkCardQuantity

彈性RDMA網卡的QP數

彈性RDMA網卡在未設定QueuePairNumber綁定到執行個體上時,實際生效的預設值即執行個體規格所允許的所有網卡的QP數上限。對於支援多彈性RDMA網卡的執行個體規格,如果您已經附加了一個未設定QueuePairNumber的彈性RDMA網卡,那麼將不能再繼續附加更多的彈性RDMA網卡。您需要調整彈性網卡的QP數在上限範圍內,然後再附加到執行個體上。

設定彈性網卡的QP數

您可以通過ModifyNetworkInterfaceAttribute,設定QueuePairNumber參數的值為指定的網卡QP數。

重要

查看彈性網卡的QP數

您可以通過DescribeNetworkInterfaceAttribute查詢網卡屬性,返回參數中的QueuePairNumber即該彈性網卡的QP數。

說明

當輔助彈性網卡建立完成尚未綁定到執行個體時,不返回此參數。

合理設定QP數

設定合適的QP數量對於最佳化應用效能非常重要,因為過多或過少的QP都可能導致資源浪費或者成為效能瓶頸。

  1. 理解應用需求:建議您根據應用情境,結合目標執行個體規格和規劃的網卡數量等,確定QP的需求量。如果您的應用程式是高並發、低延遲類型,則可能需要較多的QP來支援更多的並行串連;如果是巨量資料傳輸情境,那麼單個QP的頻寬利用率可能是更重要的考慮因素。

  2. 參考硬體限制

    • 不同執行個體規格所允許的彈性RDMA網卡的最大QP數量不同,具體查詢方法,請參見執行個體規格的QP數

    • 需要考慮伺服器記憶體大小等因素,每個QP都會佔用一定的系統資源。

  3. 測試與最佳化:完成初步配置後,您需要進行實際環境下的效能測試。根據測試結果進一步調整QP數量及其他相關參數。注意觀察是否有任何異常情況發生,比如錯誤資訊、丟包率增高等。

  4. 持續監控:即便找到了一個看起來不錯的配置方案,也應該定期檢查系統的運行狀態,確保隨著業務增長或其他變化,當前設定仍然適合。

正確設定QP數量是一項需要綜合考慮多個因素的工作。建議結合自身業務特點、現有基礎設施條件及目標效能要求來進行細緻規劃與調整。