全国服务热线:13376400854

新闻中心 PRODUCT DISPLAY

罗定阿里云在容器(Docker)中配置eRDMA

来源: 发布时间:2024-07-22 3169 次浏览

eRDMA是一种高性能网络通信技术,本文主要介绍如何在容器(Docker)中配置eRDMA。

实现原理

在容器环境中使用eRDMA功能时,使用Docker的--device选项将/dev/infiniband/rdma_cm和/dev/infiniband/uverbsX两个字符设备映射到容器中,这样容器内的用户态程序就可以绕过操作系统内核直接访问eRDMA设备进行数据的收发。其中:

/dev/infiniband/rdma_cm:用于eRDMA连接管理的字符设备。用户态程序可以通过对这个字符设备的操作,与eRDMA设备进行连接的建立、销毁和管理,包括创建和销毁连接、发送和接收连接事件等操作。

/dev/infiniband/uverbsX:用于用户空间eRDMA操作的字符设备。用户态程序可以通过对这个字符设备的操作,与eRDMA设备进行通信,包括打开设备、创建和销毁eRDMA通信端点、注册和注销内存缓冲区等操作。

说明

/dev/infiniband/uverbsX中的X是设备的索引号,可能会因系统和配置而异,您可以运行ls /dev/infiniband | grep uverbs命令查看字符设备名称。

使用限制

<a href='https://aliyun.58g.com.cn' target='_blank' title='阿里云'><strong>阿里云</strong></a>bi__<a href='https://aliyun.58g.com.cn' target='_blank' title='阿里云'><strong>阿里云</strong></a>服务器 上传文件__阿里云服务器ip

目前仅支持在以下Docker镜像中使用eRDMA功能。

Alibaba Cloud Linux 3/Ubuntu 22.04的镜像源(ARM和x86实例均支持)

Alibaba Cloud Linux 2/CentOS 7/CentOS 8/Ubuntu 18.04/Ubuntu 20.04的镜像源(仅x86实例支持)

说明

暂不支持Anolis OS的镜像源。

步骤一:部署并配置Docker

确认您的实例已添加ERI网卡、部署驱动程序,同时eRDMA设备工作正常。

依据您实际的应用场景,具体部署流程可参考在企业级实例上配置eRDMA或在GPU实例上配置eRDMA。

在实例中安装Docker并下载对应的Docker镜像。具体操作,请参见:

Alibaba Cloud Linux/CentOS镜像:安装Docker并使用(Linux)

Ubuntu镜像:Ubuntu帮助

运行以下命令,将eRDMA对应的字符设备暴露到容器中。

sudo docker run --net=host --device=/dev/infiniband/uverbs0 --device=/dev/infiniband/rdma_cm --ulimit memlock=-1 -t -i <IMAGE ID> /bin/bash

其中:

--net=host:配置容器的通信模式为host。容器内的应用程序可以直接使用主机的网络接口和网络配置,从而实现与主机相同的网络通信能力。

--device=/dev/infiniband/uverbs0和--device=/dev/infiniband/rdma_cm:将eRDMA对应的用户态字符设备暴露到容器中。

--ulimit memlock=-1:将maxlockedmemory设置为unlimited表示不限制非root用户锁定内存的数量。这可以确保eRDMA应用程序在非root用户下能够锁定所需的内存量,从而有效地使用eRDMA功能。

<IMAGE ID>:请根据实际环境填写Docker镜像的镜像ID,可以通过sudo docker images命令查看。

步骤二:在Docker内安装eRDMA驱动程序包

在容器内使用eRDMA还需要部署eRDMA的用户态驱动程序包。阿里云提供了yum、apt源,用于便捷部署相应的程序包。

重要

以下操作示例中,http://mirrors.cloud.aliyuncs.com表示内网源地址,如果您需要公网访问,需要将http://mirrors.cloud.aliyuncs.com替换为http://mirrors.aliyun.com。使用公网会产生公网流量,进而可能产生额外费用。有关公网的计费规则,请参见公网带宽计费。

CentOS 7/CentOS 8

Alibaba Cloud Linux

Ubuntu 18.04/Ubuntu 20.04/Ubuntu 22.04

在容器中运行以下命令,在/etc/yum.repos.d目录中创建一个erdma.repo源文件。

sudo vim /etc/yum.repos.d/erdma.repo

在erdma.repo文件中添加如下内容,然后保存退出。

[erdma]

name = ERDMA Repository

baseurl = http://mirrors.cloud.aliyuncs.com/erdma/yum/redhat/$releasever/erdma/$basearch/

gpgcheck = 1

enabled = 1

gpgkey = http://mirrors.cloud.aliyuncs.com/erdma/GPGKEY

运行以下命令,更新yum源缓存。




阿里云数据解决方案[39] 阿里云是什么[38] 阿里云产品报价[36] 阿里云产品介绍[35] 阿里云解决方案[35] 阿里公有云介绍[35] 云规划设计与实施服务[34] 阿里公有云产品[34] 云与计算培训服务[30] 阿里云优势[30] 阿里云官网登陆[30] 阿里云服务器配置[30] 阿里私有云搭建方案[30] 云与计算咨询服务[28] 阿里云服务器[28] 阿里云服务器成功案例[28] 公有云私有云混合云[27] 阿里云官网[27] 阿里公有云提供哪些计算服务[27] 阿里弹性云服务器[27] 阿里云智慧教育解决方案[26] 阿里公有云官网[26] 阿里公有云服务[26] 阿里私有云方案[26] 大数据使能服务[25] 阿里云园区解决方案[25] 阿里私有云平台[25] 阿里云服务器试用[24] 云迁移与运营支撑服务[21] 阿里私有云架构[20] 阿里私有云解决方案[20] 阿里云提供的服务[18] 阿里云智慧制造解决方案[18] 阿里云服务总代理[18] 阿里云云主机[17] 阿里云安全[17] 阿里私有云[17] 阿里云服务服务中心[16] 阿里云服务核心分销商[16] 阿里公有云架构解决方案[16] 阿里私有云搭建[16] 阿里云备份[15] 阿里云服务器ECS[15] 阿里云软件开发服务[15] 阿里公有云行业解决方案[15] 阿里私有云服务[15] 阿里私有云的搭建方案[15] 阿里私有云网格结构[15] 阿里私有云部署架构[15] 阿里云智慧校园解决方案[14] 阿里云漏洞扫描[14] 阿里云网站建设服务器[14] 阿里云邮箱[14] 阿里云块存储[13] 阿里云弹性云服务器应用[13] 阿里云数据库[13] 阿里云服务器应用[13] 阿里云桌面系统集成商[13] 阿里云迁移解决方案[13] 云与计算客户支持与运维使能服务[12] 阿里云桌面总代理商[12] 阿里云速建站[12] 阿里云产品服务[11] 智慧教育云平台解决方案[10] 阿里云场景化解决方案[10] 阿里云域名注册[10] 阿里云速智能客服[10] 阿里公有云架构[10] 阿里智慧云课堂解决方案[10] 阿里公有云视讯解决方案[9] 阿里私有云产品有哪些[9] 智慧教育云计算解决方案[8] 阿里公有云平台[8] 阿里公有云解决方案[8] 阿里公有云通用解决方案[8] 阿里私有云服务器[8] 阿里云智慧***解决方案[6] 阿里公有云和私有云区别[6] [5] 云与计算客户支持服务[5] 云盘基础操作[5] 阿里公有云是什么[5] 阿里公有云解决方案服务定制领导者[5] 阿里私有云解决方案服务定制领导者[5] 阿里虚拟私有云vpc[5] 扩容云盘[4] 阿里云HTTPS加密访问[4] 阿里云共建智能世界云底座[4] 阿里云域名解析[4] 阿里云应用镜像(13款)[4] 阿里公有云[4] 大数据使能服务[3] 阿里云园区解决方案[3] 阿里公有云产品[3] 加密云盘[3] 阿里云代理公司有哪些[3] 阿里云官网网站[3] 阿里云手机代理加盟[3] 阿里云经销商[3] 阿里公有云专属云主机DeH服务[3] 阿里云官网[2] 阿里云解决方案[2] 阿里公有云架构[2] 阿里私有云搭建[2] 云规划设计与实施服[2] 阿里云企业邮箱服务[2] 阿里云企业邮箱服务 (SAAS,云邮箱)[2] 阿里云数据解决方案 [2] 智慧教育云计算解决方案[1] 阿里云产品服务[1] 阿里云域名注册[1] 云与计算咨询服务[1] 阿里云云主机[1] 阿里云产品报价[1] 阿里云产品服务[1] 阿里云优势[1] 阿里云智慧制造解决方案[1] 阿里云智慧校园解决方案[1] 阿里云服务器ECS[1] 阿里云服务器应用[1] 阿里云服务器成功案例[1] 阿里云服务器试用[1] 阿里云服务器配置[1] 阿里云服务核心分销商 [1] 阿里云速智能客服[1] 阿里公有云平台[1] 阿里私有云搭建方案[1] HTTPS加密访问(CA证书)[1] 专属块存储集群[1] 专属块存储集群概述[1] 主机新用户使用指南[1] 云盘加密概述[1] 云盘扩容指引[1] 修改云盘标签[1] 加密数据盘[1] 加密系统盘[1] 单实例[1] 卸载或挂载系统盘[1] 卸载数据盘[1] 基础环境配置[1] 如何选购云虚拟主机[1] 快照灵活易用[1] 扩容云盘容量[1] 扩容分区和文件系统(Windows)[1] 提供DDoS防护[1] 撒[1] 最新一代CIPU网络[1] 查看磁盘序列号[1] 网站开通要素[1] 腾讯云园区解决方案[1] 腾讯云数据解决方案[1] 腾讯云解决方案[1] 转换MBR分区为GPT分区[1] 释放云盘[1] 镜像跨地域无缝迁移[1] 阿里云[1] 阿里云主备架构[1] 阿里云产品报价 云规划设计与实施服务[1] 阿里云企业级能力[1] 阿里云原生MySQL生态[1] 阿里云原生数据库 PolarDB[1] 阿里云备份恢复[1] 阿里云官方网站,网络安全隔离[1] 阿里云客户端[1] 阿里云故障切换[1] 阿里云数据传输服务 DTS[1] 阿里云数据库 MongoDB 版[1] 阿里云数据库 RDS MySQL 版[1] 阿里云数据库自治服务 DAS[1] 阿里云数据管理 DMS[1] 阿里云智慧解决方案[1] 阿里云智慧***解决方案[1] 阿里云服务器ECS[1] 阿里云自动分区[1] 阿里云解决方案 [1] 阿里云速智能客服 阿里私有云 阿里私有云解决方案[1] 阿里公有云架[1] 阿里私有云产品有什么[1] 阿里私有云搭建 [1] 高级环境配置(Linux操作系统)[1] 高级环境配置(Windows操作系统)[1]