在虚拟机上使用SoftRoCE部署SPDK NVMe-oF

作者简介:万群,Intel 存储软件工程师,主要从事SPDK软件测试工作。

文章转载自DPDK与SPDK开源社区

背景介绍

在之前推送的文章《用SoftRoCE测试SPDK NVMe-oF target》中,我们讨论了在物理机上使用SoftRoCE部署SPDK NVMe-oF的方法。 在今天的文章中,我们将讨论在虚拟机上使用SoftRoCE部署SPDK NVMe-oF的方法。

为什么我们需要在虚拟机上部署SPDK NVMe-oF呢?原因很明显:因为随着主机拥有越来越强大的内核,我们能更有效地利用内核资源;而对于NVMe-oF功能测试用例,不需要太多计算和内存资源,那么,我们可以充分利用虚拟机来进行NVMe-oF功能测试。 接下来,我们将讨论如何使用虚拟机和SoftRoCE来实现此目的。

设置SoftRoCE环境

设置两个Fedora26内核为4.15.0-041500-generic的虚拟机。两个虚拟机使用Vagrantfile连接到主机上名为vboxnet0的的网桥。 拓扑结构如下图:

图1 使用SoftRoCE在两台虚拟机上部署NVMe-oF的拓扑结构图

1.在主机中,您可以使用如下vagrant命令列出有效的虚拟机:

以上显示了有关此计算机上所有已知Vagrant环境的信息。 这是缓存数据,可能不是最新的信息(使用“vagrant global-status —prune”来修剪无效条目)。 要与任何计算机进行交互,您可以转到该目录并运行Vagrant,也可以直接使用任何目录中的Vagrant命令使用该ID。 例如:

2.然后,您可以使用以下命令登录虚拟机:

3.接下来,您需要按照上一期文章《用SoftRoCE测试SPDK NVMe-oF target》中“配置SoftRoCE环境”部分的命令,安装内核空间驱动程序和用户空间驱动程序[1][2],以便在虚拟机上正确设置SoftRoCE。

使用场景- NVMe-oF

注意:
1.以NVMe-oF为例
2.此处我们使用rdma模式或本地映射模式运行fio、perf

1.使用fio运行NVMe-oF测试的步骤

NVMe-oF target(虚拟机1)
1.克隆最新的SPDK

2.使用with rdma编译SPDK

3.卸载mlx_ib驱动程序并加载NVMe-oF RDMA驱动程序

4.为非rdma NIC配置SoftRoCE

5.使用以下命令运行nvmf_tgt应用程序

以下是nvmf.conf.in 文件,以供参考。

6.当nvmf_tgt应用程序成功运行时,将看到以下内容

NVMe-oF Initiator (虚拟机2)
1.卸载mlx_ib驱动程序并加载NVMe-oF RDMA主机驱动程序

2.为非rdma NIC配置SoftRoCE

3.连接子系统

4.执行fio任务

Fio配置文件fio_softroce.job如下:

5.当fio成功完成时,您将看到以下内容

6.断开子系统

2.在rdma模式下使用perf在NVMe-oF测试上运行的步骤

NVMe-oF Target (虚拟机1)
步骤和fio完全一样。

NVMe-oF Target (虚拟机2)

1.断开现有的nvme设备

2.使用 setup.sh运行安装程序

3.使用rdma模式运行perf测试

4.当perf成功完成运行后,您将看到打印的内容如下

3.在NVMe-oF测试中使用perf在本地运行的步骤

NVMe-oF Target (虚拟机1)
步骤和fio完全一样。

NVMe-oF Initiator (虚拟机2)
1.连接子系统

2.列出连接的nvme设备

3.在本地设备上运行perf测试

4.当perf成功完成运行后,您将看到打印的消息如下

5.断开子系统

Q & A

1.在NVMe-oF initiator连接到NVMe-oFtarget后,如果使用lsblk命令检查连接的命名空间,您将看到以下内容。您也可以使用nvme list检查命名空间。

2.在NVMe-oF initiator上,如果在使用perf命令“./examples/nvme/perf/perf / dev / nvme0n1 -q 1 -s 4096 -w randread -t 10”运行时遇到以下问题,您可以重新启动虚拟机,此问题将得到解决。

参考文献

[1] https://community.mellanox.com/docs/DOC-2184
[2] https://github.com/SoftRoCE


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/22397.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于18-09-21
0