【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target

这篇具有很好参考价值的文章主要介绍了【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文使用两台PC,一台做NVMe over Fabrics Target(服务端),一台做NVMe over Fabrics initiator(客户端)。首先使用SoftRoCE来实现底层的rdma传输,然后使用SPDK来实现NVMe over Fabrics Target。

一.首先使用SoftRoCE来实现rdma

服务端和客户端都是:CentOS-7-x86_64-DVD-1810

服务端和客户端都要load softRoCE的kernel模块:rdma_rxe

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

服务端

# rxe_cfg start

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

# rxe_cfg add enp5s0f0

# rxe_cfg status

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

客户端

# rxe_cfg start

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

# rxe_cfg add enp1s0f0

# rxe_cfg status

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

测试

服务端

# iptables -F

# rping -s -a 192.168.80.100 -v -C 1000

客户端

# rping -c -a 192.168.80.100 -v -C 1000

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

二.SPDK nvmf-tgt环境搭建

参考:https://spdk.io/doc/nvmf.html

服务端

1.确定NVME物理设备

[root@localhost ~]# lspci

01:00.0 Non-Volatile memory controller: Intel Corporation PCIe Data Center SSD (rev 01)

2.编译spdk

git clone https://github.com/spdk/spdk

cd spdk

git submodule update --init

scripts/pkgdep.sh

./configure --with-rdma

make

3.启动NVMe-oF target

# modprobe nvme_rdma

# scripts/setup.sh

setup会把nvme盘的驱动由nvme改为uio_pci_generic

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

# build/bin/nvmf_tgt &

# scripts/rpc.py nvmf_create_transport -t RDMA -u 8192 -p 4 -c 0

4.通过rpc创建导出bdev

创建内存测试盘

# scripts/rpc.py bdev_malloc_create -b Malloc0 512 512

#scripts/rpc.py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001 -d SPDK_Controller1

# scripts/rpc.py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode1 Malloc0

# scripts/rpc.py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode1 -t rdma -a 192.168.80.100 -s 4420

创建nvme盘

# scripts/rpc.py bdev_nvme_attach_controller -b Nvme0 -t PCIe -a 0000:01:00.0

# scripts/rpc.py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode2 -a -s SPDK00000000000002 -d SPDK_Controller1

# scripts/rpc.py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode2 Nvme0n1

# scripts/rpc.py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode2 -t rdma -a 192.168.80.100 -s 4420

客户端

1.load module

# modprobe nvme-rdma

2.discovery

# nvme discover -t rdma -a 192.168.80.100 -s 4420

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

3.connect

连接cnode1

# nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a 192.168.80.100 -s 4420

连接cnode2

# nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode2" -a 192.168.80.100 -s 4420

# lsblk

【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target,# 介质专栏,nof,spdk

4.disconnect

# nvme disconnect -n "nqn.2016-06.io.spdk:cnode1"

# nvme disconnect -n "nqn.2016-06.io.spdk:cnode2"文章来源地址https://www.toymoban.com/news/detail-816165.html

到了这里,关于【SPDK】【NoF】使用SPDK实现NVMe over Fabrics Target的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#实现MQTT over WebSocket

    如何在网页端实现MQTT消息的发布和订阅? 实现MQTT功能,可以发布和订阅主题 通过WebSocket协议将MQTT消息转发给对应的网页端 带着这个实现思路,采用C#控制台程序实现MQTT服务端功能,web端可以直接使用websocket插件与服务端双向通讯。 新建C#控制台程序,.net framework框架版本

    2024年03月20日
    浏览(33)
  • 学习spdk

    了解SPDK的基本概念和原理,包括SPDK的优势、设计思路、应用场景等。 学习SPDK的编程模型和API,了解SPDK的核心组件和应用接口,熟悉SPDK的编程规范和使用方法。 进行SPDK的实践和应用,可以通过编写简单的SPDK应用程序来熟悉SPDK的使用,也可以参与SPDK社区的开源项目,了解

    2024年02月04日
    浏览(31)
  • Jenkins中Publish Over SSH插件使用(1)

    SSH插件 前言Publish Over SSH插件是jenkins里面必不可少的插件之一,主要的功能有两个把jenkins服务器上的文件,传输到远程nginx, 远程执行shell命令和脚本。 1. SSH插件下载与配置 1.1 下载Publish over SSH插件 系统管理—》管理插件 下载后的本地路径:$JENKINS_HOME/plugins/publish_over 1.2 全

    2024年02月21日
    浏览(38)
  • 使用NVMe的用户库libzbd编写和ZNS设备通讯的小程序

    libzbd是一个用户态库,用于与支持Zoned Namespace(ZNS)技术的SSD进行交互。以下是一个使用libzbd库编写向ZNS SSD写入数据并读取打印的简单程序。 请注意,该示例仅用于演示目的,并且省略了错误处理和其他细节。

    2024年02月16日
    浏览(40)
  • FPGA实现的PCIe2.0与PCIe1.0 NVMe IP性能测试

    NVMe协议固态硬盘的速度随所使用的PCIe协议不同而不同。NVMe固态硬盘在PCIe Gen2、Gen3、Gen4条件下,理论有效带宽分别为2GB/s、3.938GB/s、7.877GB/s。目前,基于PCIe Gen5的NVMe SSD在2023年已发布,其理论有效带宽为17.754GB/s。 在之前的帖子中,我们介绍了一个在PCIe3.0协议下的基于FPGA

    2024年04月14日
    浏览(52)
  • DNS-over-HTTPS(DoH)详解与C/C++代码实现

    HTTPS上的DNS(DoH)是一种相对较新的协议,通过超文本传输协议安全加密会话传递DNS查询来加密域名系统流量。DoH试图通过隐藏DNS查询来改善在线隐私。 DoH的工作原理与DNS类似,但HTTPS会话保留请求并最大限度地减少查询期间交换的信息。网络浏览器,如Mozilla的Firefox、微软的

    2024年02月06日
    浏览(57)
  • MySQL 实现row_number() over(partition by ) 分组排序功能

    语法格式:   row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by,但不晚于 order by 的执行。   创建测试环境 在线数据库 http://sqlfiddle.com/   1. 创建表   2. Oracle row_number() over(partition by) 分组排序功能   3. M

    2024年02月15日
    浏览(41)
  • 树莓派5使用PCIE M.2 NVME SSD固态硬盘扩展版HAT制作小电脑

    上一篇文章《树莓派5使用USB外接M2接口1TB固态硬盘作启动盘》 杭州野芯科技(Mcuzone)生产的树莓派许多周边产品是受到爱好者的喜欢,最近树莓派官方开源了PCIE的应用,他们推出了一款PCIE M.2 NVME SSD固态硬盘扩展版HAT。我选择了支持2242尺寸的规格,这款扩展版还配置了制作精

    2024年02月03日
    浏览(90)
  • Publish Over SSH插件的使用(jenkins远程服务器发送文件)

    用于连接ssh服务器,然后在该服务器上做一些操作。例如连接服务器,部署服务到该服务器上 添加服务器列表 注意 添加完点击 Test Configuration 确保服务器配置能连接成功 安装好插件后,上传文件到其他服务器上要选择 Send files or execute commands over SSH 注意 1、 SSH Server Name 表示要

    2023年04月08日
    浏览(44)
  • 旧电脑通过转接卡安装nvme固态硬盘无需修改bios即可用旧SATA硬盘实现UEFI启动win10/11

    注意:本文探讨的是支持UEFI启动的旧电脑。MBR启动个人感觉已经被淘汰,作者不再做研究。 主要材料: PCI-E转M.2的转接卡(根据你旧电脑支持情况选择) 支持NVME协议M.2接口的固态硬盘 U盘1个(8G以上)制作PE-启动盘(支持UEFI启动)。 有一台可正常使用电脑。(制作启动盘

    2024年02月04日
    浏览(118)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包