文档

在企业级实例上配置eRDMA

更新时间:

为支持eRDMA能力的企业级ECS实例配置eRDMA,实现在不需要修改现有网络架构的情况下,体验超低延迟、大吞吐、高弹性的高性能RDMA网络服务。本文介绍如何在企业级ECS实例上配置eRDMA,以充分利用高效可扩展的RDMA能力,从而提升您的网络性能。

了解相关概念:弹性RDMA网卡(ERI)、弹性网卡(ENI)、弹性RDMA(eRDMA)

  • 弹性RDMA网卡(Elastic RDMA Interface,简称ERI)是一种可以绑定到ECS实例的虚拟网卡。更多信息,请参见功能简介

  • 弹性网卡(Elastic Network Interfaces,简称ENI)是专有网络VPC中的虚拟网络接口,用于连接云服务器与专有网络。更多信息,请参见弹性网卡概述

  • 弹性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通信,通信链路中间不支持跨网元设备(例如负载均衡SLB等)。

  • GPU实例与企业级实例中的eRDMA由于所处工作模式不同,所以GPU实例与企业级实例不能直接通信。如果需要通信,请在企业级实例中参考GPU实例部署eRDMA的方式进行部署。具体操作,请参见在GPU实例上配置eRDMA

操作步骤

支持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.png

    • 弹性网卡:在主网卡右侧选中弹性RDMA接口

      重要
      • 网卡启用弹性RDMA接口后,不支持IPv6地址。

      • 创建实例时,仅支持为主网卡启用弹性RDMA接口,且单台ECS实例最多只能绑定一个启用弹性RDMA接口的网卡。如果您需要使用辅助网卡配置eRDMA,只能在创建实例后,单独创建辅助弹性网卡并为其启用弹性RDMA接口,然后绑定至ECS实例上使用。具体操作,请参见创建辅助弹性网卡绑定辅助弹性网卡

      1.png

为已有实例配置eRDMA

  1. 登录ECS管理控制台,找到目标实例并进入实例详情页,选择弹性网卡页签,查看实例是否已有开启了弹性RDMA接口的网卡。

    image

    • 若有:请跳过该步骤。

    • 若没有:创建启用弹性RDMA接口的辅助弹性网卡,并绑定至目标ECS实例。

      说明

      辅助弹性网卡只能在单独创建时启用弹性RDMA接口,不支持在实例创建辅助弹性网卡时或创建后启用弹性RDMA接口。

      1. 创建辅助弹性网卡。具体操作,请参见创建辅助弹性网卡

        • 专有网络交换机:需要与目标ECS实例在同一个专有网络和可用区。

        • 增加弹性RDMA接口:打开开关。

          2.png

      2. 将辅助弹性网卡绑定至ECS实例。具体操作,请参见绑定辅助弹性网卡

        说明
        • 将辅助弹性网卡绑定至实例前,请确认目标实例的主网卡和辅助网卡不在同一子网内,否则可能因为默认路由导致辅助网卡的RDMA功能在某些情况下不可用。

        • 将启用ERI的辅助弹性网卡绑定至实例后,如需解绑,必须先停止实例。具体操作,请参见停止实例

      3. 执行ifconfig命令,如果不能显示该网卡,需要手动配置弹性网卡。具体操作,请参见配置辅助弹性网卡。否则,请跳过该步骤。

        说明

        部分镜像无法自动识别新绑定的辅助弹性网卡。

  2. 安装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通信正常。测试结果

相关文档

  • 在GPU实例上配置eRDMA,各GPU实例间在VPC网络下可以实现RDMA直通加速互联。具体操作,请参见在GPU实例上配置eRDMA

  • 容器中需要大规模数据传输和高性能网络通信的应用场景中,将eRDMA功能引入容器(Docker)环境可实现容器应用程序绕过操作系统内核直接访问主机的物理eRDMA设备,从而提供更快的数据传输和通信效率。具体操作,请参见在容器(Docker)中配置eRDMA

  • 如需监测或诊断eRDMA,方便您对eRDMA的运行状态进行实时监控。具体操作,请参见监测和诊断eRDMA

  • 本页导读 (1)
文档反馈