spdk nvme-ag九游会登录j9入口

基本概念

spdk nvme-of target multi-path是基于nvme协议的multi-path io和namespace sharing功能。

nvme multi-path io指的是两个或多个完全独立的pci express路径存在于一个主机和一个命名空间。

而namespace 共享是两个或多个主机使用不同的nvme控制器访问一个shared namespace。

multi-path io和namespace 共享需要nvm 子系统有两个以上的控制器。

两个主机同时访问一个shared namespace需要主机间的协调工作。

spdk nvme-of target 的multi-path功能提供的是namespace的sharing功能。比如,多个客户端通过交换机能够同时发现,连接和操作spdk nvme-ofsubsystem下的namespace。这些namespace是可共享的。如图所示

图 1 spdk nvme-of target namespace共享示例

nvme-of host1和host2能够同时通过交换机发现和连接到监听地址为192.168.12.11的spdk nvme-of target subsystem1。两个host端可以同时对subsystem1下的namespace进行操作。

如果namespace不能共享,那么同时只能有一个nvme-of host连接到spdk nvme-of target。

具体查看方法:

1. 运行spdk nvme-of target 在目标机器端,子系统配置如下:

[subsystem1]  nqn nqn.2018-07.io.spdk:cnode1  listen rdma 192.168.12.11:4420  allowanyhost yes  host nqn.2016-06.io.spdk:init  sn spdk00000000000001  maxnamespaces 20  namespace nvme0n1

2. 在客户端机器运行nvme命令发现和连接spdk nvme-of target, 命令如下:

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

3. 运行nvme id-ns命令, 参数是完整的nvme设备名, 比如/dev/nvme0n1:

nvme id-ns /dev/nvme0n1

在结果中, 我们就能看到如下内容:

nmic    : 0x1

nmic是namespace multi-path i/o and namespace sharing capabilities的缩写。该值为1, 就表明这个namespace处于共享状态。

使用场景

在实际使用环境中,可以让spdk nvme-of target子系统同时监听两个ip地址。客户端机器可以通过两个ip地址同时连接spdk nvme-of target子系统。这样如果一个ip连接出现问题,比如网卡出现故障, 可以使用另外一个ip连接访问spdk nvme-of target子系统。如下图所示:

图 2 使用多网络端口访问同一个subsystem

nvme-of host端使用192.168.11.0/24和192.168.12.0/24连接到spdk nvme-of target的同一个subsystem。如果192.168.11.0/24的连接出现问题, 我们可以使用192.168.12.0/24的连接, 反之亦然。

具体操作步骤如下:

1. 运行spdk nvme-of target 在目标机器端, 子系统配置如下:

[subsystem1]nqn nqn.2016-06.io.spdk:cnode1listen rdma 192.168.11.11:4420listen rdma 192.168.12.11:4420allowanyhost yeshost nqn.2016-06.io.spdk:initsn spdk00000000000001maxnamespaces 20namespace nvme0n1namespace nvme1n1namespace nvme2n1

2. 在客户机,首先查看一下系统的linux 内核版本及配置。

从linux 4.15开始,nvme驱动支持multipath功能。 但是需要在编译内核的时候,将nvme_multipath功能打开。接下来的步骤都是基于4.15以上的带有nvme_multipath功能的linux内核。

运行如下命令发现spdk nvme-of target子系统。

nvme discover -t rdma -a 192.168.11.11 -s 4420nvme discover -t rdma -a 192.168.12.11 -s 4420

两个命令有相同的输出:

discovery log number of records 2, generation counter 5=====discovery log entry 0======trtype:  rdmaadrfam:  ipv4subtype: nvme subsystemtreq:    not specifiedportid:  0trsvcid: 4420subnqn:  nqn.2016-06.io.spdk:cnode1traddr:  192.168.12.11rdma_prtype: not specifiedrdma_qptype: connectedrdma_cms:    rdma-cmrdma_pkey: 0x0000=====discovery log entry 1======trtype:  rdmaadrfam:  ipv4subtype: nvme subsystemtreq:    not specifiedportid:  1trsvcid: 4420subnqn:  nqn.2016-06.io.spdk:cnode1traddr:  192.168.11.11rdma_prtype: not specifiedrdma_qptype: connectedrdma_cms:    rdma-cmrdma_pkey: 0x0000

3. 然后使用如下命令连接到子系统。

nvme connect -n nqn.2016-06.io.spdk:cnode1 -t rdma -a 192.168.11.11nvme connect -n nqn.2016-06.io.spdk:cnode1 -t rdma -a 192.168.12.11

4. 运行”nvme list”命令可以得到如下结果。

node             sn                   model                                    namespace usage                      format           fw rev---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------/dev/nvme0n1     spdk00000000000001   spdk bdev controller                     1           2.00  tb /   2.00  tb    512   b    0 b   18.10/dev/nvme0n2     spdk00000000000001   spdk bdev controller                     2           1.60  tb /   1.60  tb    512   b    0 b   18.10/dev/nvme0n3     spdk00000000000001   spdk bdev controller                     3         800.17  gb / 800.17  gb    512   b    0 b   18.10

这样我们就可以在两条路径上对磁盘进行操作。如果没有使用linux内核的nvme multipath功能,运行”nvme list”命令会得到6个node, 因为每条路径3个node,总共2条路径。我们同样也能采用传统的multipath服务,来实现host端的multipath功能。本文不讨论如何使用传统的multipath服务。

原文链接:https://blog.csdn.net/weixin_37097605/article/details/101514526

更多dpdk学习资料有需要的可以自行添加进入学习交流君 羊 793599096 免费获取,或自行报名学习,免费订阅,永久学习,关注我持续更新哦!!!

学习地址:http://ke.qq.com/course/5066203?flowtoken=1043717

本文来自网络,不代表乐文库立场,如若转载,请注明出处:https://www.lewenku.com/?p=447226

网站地图