企业存储技术 · 2022年05月07日

Dell PowerFlex 4.0:集群NAS网关、NVMe/TCP的价值和限制

Q:PowerFlex文件功能是"原生内嵌"还是NAS网关,其规模有多大?

Q:NVMe/TCP的好处是什么、它又有哪些限制?

关注存储和数据中心基础架构的朋友,这几天可能也看到Dell Technologies World 2022大会的新闻了。分布式软件定义存储产品PowerFlex预告了新版本4.0,其中比较吸引我的是加入文件存储(NAS),以及NVMe/TCP支持。

注:我不是PowerFlex__、分布式存储方面的专家,下文中如有错误,恳请大家批评指正。

分布式存储性能已过剩?

96a743117652a812e46882c18c0719d3.png

提到PowerFlex我自然想到其前身,也就是EMC在2013年收购的ScaleIO。5年前我还写过下面这两篇:

《_为什么ScaleIO和VSAN不要求三副本?_》

《_温故知新:ScaleIO Oracle性能测试解析_》

本文我想跟大家聊聊新发布功能中的技术干货,也就是《Dell Technologies World 2022 – PowerFlex 4.0, A High-level overview》这篇博客的学习笔记。

从ScaleIO到PowerFlex,一直以高性能、高恢复速度(Rebuild重构快)为特点。早年我列出的性能数字,还是在40Gb/s网络和PCIe SSD的初期阶段(每节点1块SLC PCIe闪存卡+6个cMLC SATA SSD),如今的硬件包括CPU计算性能早已不可同日而语。当然今天我的重点不是写性能,只想先列出6个9可用性相关的2个测试示例:

-Example:在一个14节点的存储池内失败一个750GBSSD,需要重建344GB数据,Rebuild时间75秒(4.58GB/s);

-Example:在SSD池内失败一个节点需要重建2.1TB数据,(剩余)13节点贡献rebuild。完成rebuild时间261秒(4分21秒,8.23GB/s)

SDNAS:容器化集群NAS网关

9fefa2e91f53b4e3a8529d791c0cbff2.png
图片点开后可放大,以下同

在今年将会到来的PowerFlex 4.0版本中,新的文件存储功能也被称为SDNAS(软件定义的NAS)。在PowerFlex原有的块存储服务基础上,增加了NFS/SMB文件协议的支持。

  • Performance and Scale: Transactional databases and traditional NAS workloads(针对交易型数据库和传统NAS工作负载)
  • High Availability: 30 seconds target(高可用30秒切换目标)
  • Fault Tolerance &     Resiliency: LACP     Bonds(故障切换&弹性:LACP聚合绑定)
  • File Maintenance mode: New maintenance mode for serviceability operation(文件维护模式,用于服务操作)
  • Management and Monitoring: UI and REST API, CloudIQ Integration, SNMP v2/v3     support(管理和监控)

NVMe over Fabric (TCP)–在当前基于agent的SDC访问模式基础上,加入NVMe/TCP前端标准块存储协议支持。

acdca3e0e5d6645009e05c90426a492e.png

如上图,SDT指的就是运行在PowerFlex SDS数据服务节点上的NVMe/TCP Target。

而NAS Server则是指专用的SDNAS节点(2-16个),形成一个PowerFlex文件服务集群。如下图:

e2f65c132095fef2407f0fbfa587ab6c.png

上面是个典型的、在分布式块存储前端添加集群NAS网关的架构。每个NAS服务器节点用SDC访问PowerFlex的SDS后端块存储,然后运行NAS容器提供文件服务。

面对前端的应用主机访问,NAS节点除了提供Pri/Sec主备访问路径之外,我想容器化的另一个好处就是易于部署、伸缩。据了解,Dell的PowerStore T系列统一存储的文件功能应该也是基于容器实现的。(扩展阅读:《Dell EMC PowerStore__详解:NVMe+SAS__全闪存阵列,还是一体机?》)

关于NAS具体的支持特性,我直接把英文描述粘贴过来了。

  • NAS nodes

    • Dedicated nodes to host the NAS containers
    • PowerFlex Appliance and Rack to use PowerEdge      R650-based NAS nodes(基于R650服务器的NAS节点)
  • NAS cluster

    • There will be one NAS cluster per PowerFlex      system (MDM-cluster)
    • An NAS cluster can have 2-16 physical NAS      nodes
  • Storage Pools

    • Every Protection Domain will have a Storage Pool      dedicated for NAS
    • SP to house NAS configuration volumes for “NAS      Servers”

      • SP can also be used for user filesystems
      • NAS Server’
    • A logical construct that provides data segregation

      • A “NAS Server” hosts multiple File Systems
      • NAS Server configuration volumes will be thin       provisioned
  • File Systems

    • Bound to it’s parent “NAS Server”
    • Served by a single, dedicated PowerFlex (block) volume      and is transparent to the user
    • User file systems benefit from the full performance      and data resiliency of PowerFlex block volumes
  • Supported protocols(协议支持)

    • NFS and SMB support (NFSv3 and v4, SMBv2 and v3)
    • FTP and SFTP
  • File System Operations

    • User quotas and Tree Quotas
    • Extend/shrink file system (space reclaim)
    • File system read/write snapshots(可读/写快照)
  • Workloads

    • Transactional databases and Traditional NAS workloads
  • Data Reduction

    • Inline Compression(线内压缩,PowerFlex当前就支持块存储的压缩)
  • Management and Monitoring

    • UI and REST API
    • CloudIQ Integration
    • SNMP v2 and v3 support
  • Data Protection

    • 3-way NDMP support for backup(NDMP备份)
  • Security

    • CAVA (Common Antivirus Agent for SMB clients)
    • D@RE with CloudLink
  • Serviceability

    • SRS/ESE (Call Home)
    • Alerts
    • Data collection aka “native audit log”

SDC专用客户端与NVMe/TCP标准协议

2b25fb51e2a7fd972d5e0a6e24e4e64f.png

传统的PowerFlex块存储访问如上图,在每一台应用服务器上运行SDC agent客户端,来访问SDS存储节点,中间的网络是基于TCP的。SDC支持的操作系统包括VMware ESXi、Windows、AIX和众多Linux发行版。如果SDC和SDS部署在同一个物理服务器上,那样就是HCI超融合的形态。

PowerFlex 4.0引入NVMe/TCP的最大好处,就是可以使用主流Linux发行版和ESXi中已经可用的标准NVMe/TCP系统内置驱动。

扩展阅读:《NVMe-oF__:基于IP__的NVMe SAN__自动化发现存储网络》(当初这篇涉及到的还是集中存储阵列用的PowerStore OS 2.1)

VMware NVMe支持:vSphere7.0 U3及未来展望

589abe01cc8627740f56d4ec4cf94d8a.png

如同前面那张NAS示意图,PowerFlex NVMe/TCP主机连接性也画的很实在。在每个SDS存储节点上跑一个SDT,这样前端的ESXi等主机就可以用NVMe/TCP标准协议来访问了。Dell同时还说明了以下2点:

-SDC保持更快和更低的延时,因为NVMe/TCP部署在网络上增加了“一跳”(_原文:__SDC remains faster with lower latency as NVMe/TCP implementation add another network hop)。

-NVMe/TCP与SDC共存,但不能共享相同的卷(can't share samevolumes)。

根据我的理解,Ceph等分布式存储在支持iSCSI等标准协议时,也要面对类似的情况。

PowerFlex NVMe/TCP部署当前支持的操作系统包括:ESXi 7.0U3, RHEL 8.6 and later, SLES 15SP3, Ubuntu 20.04。可以不用专用kerneldriver(SDC)了。

eecabcd0e1bd9f9221fd89dc542a61e0.png

如上图,左边示例中的浅绿色箭头为SDC协议数据访问路径,它能够感知卷数据的分布并发送IO到“正确的”SDS。

中间示例的紫色箭头代表NVMe-oF协议路径,ESXi等主机上的Initiator发送IO到某一个SDT,然后SDT与不在同一服务器节点上的SDS(2)之间还要使用SDC协议(绿色箭头),所以说增加了一跳(using an additional network hop to find the“right”SDS)。

右边的Host-based SDT应该是未来的计划。把SDT跑在ESXi主机上的一个VM里,这样NVMe-oF协议只是经过虚拟网络不出节点,一方面SDT不像以前SDC那样“侵入”ESXi内核,同时SDT到目标SDS之间还能使用ESXi的PVRDMA来进一步降低延时。

感觉在VMware环境中Host-based SDT后续可能会替代当前的SDC,我理解SDC针对每一个ESXi版本都要做适配。

更多关于PowerFlex4.0 – Unified Management统一管理等内容,由于时间所限我就不讨论了,有兴趣的朋友可以访问以下原文链接。

作者:唐僧 huangliang
原文:企业存储技术

推荐阅读

欢迎关注企业存储技术极术专栏, 欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
5613
内容数
260
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息