查看原文
其他

NVMe-oF:基于IP的NVMe SAN自动化发现存储网络

唐僧 huangliang 企业存储技术
2024-12-10

这几天我做事的效率可能不够高,接下来的周末都没时间写东西了,只好提前到晚上:

 

今天的分享来自SNIA资料《NVMe-oF™: Discovery Automation for NVMe® IP-based SANs 》的学习笔记。

 

NVMe-oF的“直接发现”和“集中化发现”

 

图片点开后可放大,以下同


SAN存储网络的发展来看,从SCSINVMe是一个趋势。已有的SCSI包括走Fibre Channel(光纤通道)网络的FCPIP网络的iSCSI,当然后者的性能(延时)表现通常不太好,只是实现成本低。

 

NVMe-oF可以通过多种Fabric互连,包括NVMe/FC, NVMe/TCP, NVMe/RoCEv2, NVMe/IBNVMe/iWARP,未来应该是以前三种为主。

 


我们来看一下单层网络拓扑的连接性需求。


12个单独的SAN交换机,从主机(服务器)到存储之间是个冗余的后端网络,并且与前端IP LAN网络隔离。


2)融合LANSAN交换机,数据网络和NVMe-TCP存储流量使用同一张IP网络。这样做性能容易无法保证,iSCSI要想达到较好的体验通常也推荐存储流量走独立网络。


3)专用的双SAN Fabric,与上面的 相比SAN A/B的规模更大,应该是各自配置了FC交换机堆叠。


4)专用的IP SAN Switch,像传统iSCSIFC拓扑那样把存储后端网络独立出来,这对于NVMe-oF同样属于性能最佳实践。

 

还记得我在《NVMe-oF 1.1规范:多路径、非对称命名空间和NVMe/TCP》中提到过大约2年前的新特性:“Asynchronous discovery events inform hosts of addition or removal of target ports in a fabric-independent manner.” 下面看看NVMe工作组不断完善的路线图:

 


已经公布的TP-80068011分别解决了身份认证和加密的问题(如下图),比如NVMe over Fabric对应iSCSI CHAPFC存储端点认证的新机制叫做DH-HMAC-CHAP,安全通道则是靠TLS 1.3

 

 

目前已经达到Phase 3阶段的是NVMe-oF自动化发现的控制器TP-8009)和TP-8010CDC(集中发现控制器),这也是本文重点要讨论的。而仍在进行中的标准包括从NVMe-oF存储启动,以及吸收FC-NVMe的需求到NVM Express规范中来。

 


无论FC存储网络还是基于IPNVMe SAN,自动化端到端发现的目的都差不多,也是为了规避像iSCSI那样的用户体验。iSCSI我有几年没上手玩了吧,记得之前还是在测试EQL时给交换机配VLAN

 

FC网络的发现服务是供应商定义的,好在Brocade(现在是Broadcom)光纤交换机市场占主导,HBA卡也就是Emulex(也被博通收购了)和QLogicMarvell)这2家,只要不是跨交换机品牌互连似乎还好。

 

在服务器和存储互相发现之前,可以有一个底层Fabric的配置服务。具体到以太网/IP Fabric的形成服务,Dell有一个SFSSmart Fabric Storage),我理解应该是配合自家品牌交换机的自动化底层配置。

 


上面是基于IPNVMe SAN中的术语。


-         端点:在主机和存储系统上,以NQN(对应iSCSIIQN)和IP地址来识别;

-         IP网络:以太网交换机,最好是25GbE或以上

-         子系统:指存储阵列,类似于SCSI Target;通过一个NQN可以有多个目标端口,然后每个Target再映射出若干LUN

-         CDC:集中发现控制器实例;

-         DDC:直接发现控制器:由存储控制器自身提供的发现功能,不具备集中化管理的一些价值。

 


支持自动化发现的部署类型有3种:


1、物理连接:主机和存储之间通过线缆直连,没有交换机;

2、Direct Discovery:多个主机和存储子系统在一个IPFabric网络里,没有CDC控制器;

3、Centralized Discovery:在“2”基础上,加入CDC

 

注:CDC支持注册和zoning(分区)。通常独立(作为一个虚拟机)运行或者嵌入到Fabric里的交换机上。

 

 

Direct Discovery的配置步骤(当前):


(1)     主机根据管理员提供的IP地址,发送连接请求到NVMe存储阵列的Discovery Controller

(2)     存储管理员提供Namespace(相当于存储LUN)给到主机NQN

(3)     主机管理员使用nvme connect-all发现并连接存储阵列上的IO Controller

(4)     在所有主机上为每一个存储子系统重复1-3步骤。

 


Centralized Discovery的配置步骤(新方法):


(0)     主机和存储系统先自动发现CDC,连接到它并注册Discovery信息;

(1)     CDC上执行Zoning(可选,这部分自动化应该需要以太网交换机的协同);

(2)     存储管理员提供namespaces给到主机NQN,存储会发送Zoning信息给CDC

(3)     Zoning之后,主机接收到AEN,使用get log页面,并连接到每一个(存储)的IO Controller

(4)     针对每一台主机,为每个存储子系统重复1-2步骤。

 


上图是直连 vs 集中化发现在规模扩展大之后的对比。直连方式在每一次有存储添加或者移除时,都需要对每台(连接的)主机做交互操作;并且在若干存储子系统接口(网口)存在时,会导致增加发现时间。

 

而集中方式相当于把所有Host和存储端信息都存放在CDC上,有变更时只要在这里改,相当于新注册的主机一上来就能看到所有存储,然后选择分配即可。

 

当超过64台主机时,Direct发现的总配置步骤,将显著多于Centralized发现方式。

 


大家还记得FC存储网络的Zoning吧。NVMe IP SAN是在CDC上有一个Zoning数据库,存储着配置和激活的zones

 

端到端自动化发现示例

 


我们来看一下NVMe IP-Based SAN集中化发现的操作流程(硬件组成包括NVMe/TCP主机端、存储子系统和以太网交换机)


(1)     自动化底层配置:基于预定义的策略进行Fabric(交换机)的自动化部署;

(2)     服务器和存储系统发现CDC

(3)     服务器和存储系统在CDC上注册;

(4)     操作者或者orchestrator(编排器)读取CDC命名服务器数据库,并设置Server/Storage zones

(5)     CDC提示服务器和存储关于zoning的变化;

(6)     服务器连接存储并开始传输数据。

 

 

最后再回顾一下关键要点:


-         自动化发现并不完全依赖于CDC(集中发现控制器)的存在,小规模环境可以使用mDNS来自动发现NVMeDiscovery控制器。

 

-         CDC和(存储)子系统将支持它们应该做的交互:

          ● 使用Port-LocalLog页面,来提供更好的UX(用户体验),并阻止不同租户之间的信息泄露;

          ● 使用(存储)子系统驱动的ZoningSDZ)——存储管理员只需要与一个UI界面交互来分配存储

           ● 使用终端用户易懂的扩展属性和注册符号名;

       ● 贡献给开源NVMe-oF Discovery client(发现客户端)“nvme-stas正在由Dell牵头。在TP-80098010规范被批准之后将提供review(大约在今年底)。

OMNI(OpenManage Network Integration,看上去明显是用于网络管理)集中化管理,在这里就是CDC

 

大家如有兴趣,可以留意下Dell EMCSmartFabric Storage Software,以及PowerStore OS 2.1NVMe/TCP的支持。

 

参考资料

https://www.snia.org/sites/default/files/ESF/NVMe-oF-Discovery-Automation-for-NVMe-IP-based-SANs.pdf

https://www.delltechnologies.com/asset/en-ug/products/networking/technical-support/smartfabric-storage-software-spec-sheet.pdf

 


扩展阅读:企业存储技术》文章分类索引(微信公众号专辑)


:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流可加微信:490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)


尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage

长按二维码可直接识别关注


历史文章汇总:http://www.toutiao.com/c/user/5821930387/

http://www.zhihu.com/column/huangliang



点击下方“阅读原文”,查看更多历史文章↓↓↓
修改于
继续滑动看下一个
企业存储技术
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存