基本概念
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 在目标机器端,子系统配置如下: