高端存储进化:技术和架构的革新

在我们的讨论中,我们深入探讨了关于单体和分布式、可扩展的存储系统的话题,以了解Rob对高端存储发展的观点。他认为,FC的未来发展可能受限,并预测高端存储将与三大主要公有云平台进行集成。

Chris Mellor:高端块存储与双控制器存储有何区别?

Rob Young:可扩展性和可靠性。高端存储产品具备更多的可插拔端口和更大的吞吐量。就可靠性而言,随着Intel设备在高端和低端领域的广泛应用,多年来已经为高端产品和低端产品提供了更多的RAS(可靠性、可用性、可维护性)功能。高端产品在电源供应和其它一些组件方面的差距正在缩小(在某些情况下,由于物理上的限制,低端产品中无法容纳大型电源等组件)。而Infinidat的Infinibox在所有组件上都采用了N+2的配置,包括基于Intel的控制器头。IBM的DS8000系列基于Power架构,在RAS方面表现出色。

然而,不容忽视的是高端存储的历史。经过几十年的高端存储在实际运营中积累的稳定服务流程和丰富的熟练人员,对于在紧急情况下进行故障排除和维护企业级存储具有巨大优势。例如,我曾在一个现场遇到过一种情况,使用了新的存储解决方案,但现场人员没有完全按照不太清晰的步骤进行操作,结果导致了一次故障 —— 幸运的是,在正式投入使用之前就及时解决了问题。

Chris Mellor:高端存储制造商在当今市场面临哪些架构问题?

Rob Young:这是个有趣的问题。我最近就这个话题进行了几次讨论。历史是祝福,也是诅咒。问题在于,20年前的创新技术,在今天可能已经过时了。但是,如果企业级存储系统已经使用了很长时间,并且技术团队没有参与过更换的决策,那么贸然更换可能会导致不良的业务结果。

我在多个场合都亲眼目睹了这种情况。新的CIO、新的IT主管以及新的供应商推出了与你目前正在使用的解决方案不同的产品。多年来积累的流程和部门内部知识,不可能在短时间内就能轻易掌握。新进厂商在一定程度上缓解了这个问题。他们的API更易于使用,GUI界面更加友好,流程更加简化,使用HTML5取代Java,数据迁移在较少的历史操作系统情况下变得更加简单等等。在本地有PB级数据的情况下,甚至可以在一周内迁移测试/开发环境。

有些设计困于过时,创新进展缓慢,而新增功能则需要在引入过程中进行冻结。相比之下,Qumulo通过每两周一次的代码推送来透明地改变数据保护方式(2015年的一篇博客描述了他们如何逐步交付纠删码功能)。我指出,有一家供应商将永远无法将超过1000万行代码的高端存储迁移到云上。这种担忧是有原因的。我们应该预计,在RFP(请求报价)中,会出现这样一个选项:将同一存储同时放置在本地和三大主要云平台上。在那个时候,没有提供类似云端选项的存储供应商将陷入困境。这种情况可能已经在发生中;不过,我个人尚未亲眼见过。

Chris Mellor:纵向扩展(scale-up)和横向扩展(scale-out)在应对这些问题时效果如何?

Rob Young:一个有益的对比是Pure Storage/IBM/Dell/NetApp的中档产品与传统高端产品。可以在数据中心中分布多个双控存储,而数据中心本身可能在不同区域具有多个电源输入。通过在主机/操作系统/应用层面充分利用布局,极大地提高了可用性,并相应地进行了实施。这种逐步扩展的性质显然具有优势,并且具有单一的管理界面。

关于横向扩展,或许可以使用“一统全局”的方式?我们已经看到一些供应商将文件存储整合到传统的块存储中(Pure就是一个最近的例子),现在我们将会看到块存储逐渐融入传统的文件存储。Qumulo/PowerStore/Pure/Netapp可能会成为你处理各种需求的统一存储解决方案,但从架构的角度来看,这并不能给你带来那种踏实的感觉。例如,你不会希望备份数据流入与企业级存储相同的存储中。

不仅仅是勒索病毒,还有数据损坏的情况 —— 虽然罕见,但确实发生过。有很多理由,你不希望备份与你正在备份的企业数据存储在同一个存储中。我们已经见过这种情况。

关于横向扩展,我有一个总结性的观点。我认为未来 3-5 年,光纤通道将会被彻底取代,这将是一场重大的变革。为什么这么说呢?因为100Gbit以太网端口的成本将变得“便宜”,这将使我们终于能够像云服务商一样将网络和存储结合起来。目前,大多数大型企业使用独立的存储网络(例如SAN/FC),这使得存储流量与常规网络流量不会相互干扰。然而,随着廉价的100Gbit以太网的普及,这两者将开始融合在一起,就像云服务商一样。这不仅将带来便利,还将带来诸多优势。

另一个好处是,深入的传统FC SAN技能将不再是企业的需求,就像今天一样。这需要时间,但诸如NVMe的协议最终将走向端到端。

Chris Mellor:内存缓存(Infinidat风格)是否具有普适吸引力?它应该成为一种标准方法吗?

Rob Young:当我们谈论“内存缓存”时,我们指的是Infinidat所称的Neural Cache的独特方案。它能够显著加速I/O操作。归根结底,一切都与I/O有关。我撰写了一篇详细的文章,详细介绍了他们是如何实现这一点的,这实在是一项令人惊叹的工程成就。他们采用了Edward Fredkin的(他于6月去世,享年88岁;他是一位令人惊叹的多面手!)前缀树,Google使用这种方法在你输入时为下一个单词提供提示。

Infinidat使用这一方法来通过时间戳跟踪每个64K数据块,并且通过这个方法可以预先将接下来的一系列I/O加载到内存中。这导致了控制器内存的命中率高达90%以上。吸引力是不言而喻的,因为每个人都在努力加速日终和月末的运行。有时这些运行可能会出现问题,此时管理层会催促你何时能够重新运行。我们都有许多原因希望变得越来越快。Brian Carmody(前Infinidat CTO,现在在Volumez任职)谦虚地描述了他们最早执行Neural Cache的经历。

这种说法让我感到困惑。你看,有几项已经授予专利,涵盖了Infinidat正在进行的缓存工作。除非我漏掉了什么明显的事实,否则在专利过期之前,其它公司不会采取Infinidat所做的工作。

与此同时,有一些技术正在悄然逼近。我们看到控制器设计中出现了更大的内存。我猜测,将整个逻辑单元集成到内存中以弥补内存缓存I/O命中的差距可能正在逼近。

Infinidat的经典(磁盘)存储在随机读取I/O方面具有微小的挑战,在一些似乎具有部分随机I/O的应用中,他们的SSA(全闪存)系统解决了这种挑战。我们了解到Infinibox SSA的小块随机I/O(数据库事务I/O)具有300μs的上限延迟,这个数字引起了我们的注意。我们还看到Volumez将其小块I/O描述为316μs的延迟(包括与主机的通信,总共360μs),AWS的虚拟存储控制器显示其对NVMe-oF R5b实例的小块I/O读取为353μs(似乎是相同的临时后端)。

虽然其它供应商也会宣称自己的数字出色,但是细节却很有限,没有公开的细节数据。关键是,Infinidat似乎将位于延迟金字塔的顶端,其它几家则在300μs的水平,并通过PCI(云/VSAN)NVMe SSD进行直接连接。

我们会看到比300μs更快的端到端延迟吗?是的,甚至可能在今天就悄然存在。也许在下一代SLC变得更便宜(更普遍,或者下一代快速技术出现)时,我们会看到尺寸适中的SLC解决方案,其最大的小型I/O延迟在50-80μs的范围内(往返)。DSSD又焕发新生!最后,在大多数供应商中,小型I/O的内存读取缓存命中会是怎样的情况?对于大多数供应商来说,少于50μs,而Infinidat公开展示的实际速度甚至低于40μs。

Chris Mellor:专有闪存相对于商用现成产品具有哪些优势?

Rob Young:Pure Storage在其DirectFlash管理自定义模块方面展示了优势,通过零过度配置消除了垃圾收集和写放大。零过度配置意味着你得到你所支付的价值。VAST Data采用了类似的方案,使用了便宜的现成商用产品(COTS,Commercial Off-The-Shelf)QLC SSD(按他们的说法)。他们卓越的算法结合了耐久级别跟踪单元历史,如此轻微的操作,以至于他们的服务条款将在10年内更换磨损的QLC SSD。同样,我们了解到当PLC成为一种技术选择时,VAST定位于从与QLC SSD一起工作的1000次擦写周期转向500次的PLC擦写周期。

定制设计的优势是什么?就像Pure一样,它可以创建非常大的模块(目前为75TB),以在5个机架单位的空间中堆叠大量数据。SSD更加密集和节能。IBM的定制FCM速度非常快(低延迟是显著的FCM定制优势),并且具有内置和透明的零开销压缩。在当前情况下,随着模块级定制压缩的出现,这种优势在一定程度上减少。Intel已将QAT(QuickAssist Technology)技术整合到CPU中,压缩现在在CPU上进行。在2021年引入时,QAT成为了最新技术。曾经,Intel为存储OEM提供了单独的压缩卡。我不想深入讨论这一点。

让我们简要地分析一下对QLC技术的一些应用。Pure公司声称他们的QLC解决方案具备2至4毫秒的IO(读取)响应时间。在2023年,这是否适合作为一个事务性解决方案呢?实际上不太适合。这更适用于二级解决方案 —— 作为备份目标、用于AI/ML、用于Windows共享、处理大量I/O和带宽等。这非常符合他们的目标受众。

因此,在我们探讨这些解决方案时,要记住并非所有情况都适用于同一种解决方案,特别是对于事务性工作负载。并不存在适用于所有情况的通用解决方案。尽管如此,让我们关注最近Solidigm发布的D5-P5336产品。他们展示了一个110微秒的小块随机读取性能,被描述为在QLC封装中实现了TLC性能。这一性能比VAST目前使用的QLC快了5倍,对那些专注于商用解决方案的人们来说,无疑产生了重要的影响。

Chris Mellor:在云中使用临时存储的高速块存储存储实例,是否像Silk和Volumez一样,对本地块存储存储构成威胁?

Rob Young:Volumez是一个有意思的新兴厂商。我们已经看到Intersystems成为早期展示客户,他们正在使用Volumez进行基于云的Iris分析。而Volumez引人注目的地方在于其控制平面位于云中。

本地化存储增长停滞不前,而云存储在迅速增长。这些解决方案对本地化存储的威胁不会比自然发展的变化更大。

此外,Volumez采用了一种Kubernetes策略。是的,下一代开发着重于K8s,但许多企业就像航空母舰一样,变革进程缓慢。令人不意外的是,由于云端成本通常高于本地,我们预计某个时刻Volumez的客户可能会采取合理的做法,将测试/开发环境保留在本地,将生产环境置于云服务商中。在某些情况下,生产环境之所以置于云端,仅是为了为相邻的分析提供数据源,而且它的占用空间比测试/开发环境小。从此时开始,云端将主要主导分析领域,共享云的巨大规模几乎已经确保了这一趋势。

Chris Mellor:这些基于临时存储的公有云存储实例如何在本地重现?

Rob Young:Carmody告诉我们,将会出现一种本地版本的Volumez。与Volumez类似,AWS的VSA也使用临时存储。如何实现呢?在高速网络上使用JBOF,可能需要一段时间才能变得普遍,但供应商已经有了相关产品。

云在网络领域具有巨大的优势。企业的本地化部署在这方面滞后于云,其提供方式有所不同(传统的三层VM和独立的存储/网络)。Volumez/AWS VSA共同之处在于,它们没有我们所熟悉的传统存储控制器。

VAST Data的D节点是直通存储控制器,它们不会在本地缓存数据。VAST Data之所以能够这样做,是因为所有写入都在SCM中捕获(还有其它原因)。Glenn Lockwood在2019年2月写了一篇非常好的文章,描述了VAST Data的架构。有趣的是评论中的讨论,有猜测认为透传式D节点是一个理想的候选方案,可以过渡到直接的基于Fabric的JBOF连接方式。

就在这些评论之前,VAST Data的联合创始人Renen Hallak在Storage Field Day上谈到了以太网驱动器的潜在重现。在那一点上,直通存储控制器已经不再起作用。它才刚刚开始,企业的选择有限,但像VAST Data、Volumez和其它公司应该会推动基于网络的JBOF应用。无服务器基础设施正在向无控制器基础设施发展。这里有些遐想,但我们可以预见,几种存储解决方案将不再需要控制器,控制平面位于云中,轻松地在云和本地之间切换。对于软件领域的年轻人来说,“硬件是一种必须容忍的东西”是我们从新一代存储中看到的态度。

Chris Mellor:块存储如何利用CXL、内存池化和共享?

Rob Young:由于它是存储,基于CXL的内存池化是非常合适的。服务器基于CXL内存的250纳秒访问时间?论坛上有很多关于这个问题的讨论。从我的角度来看,如果本地内存比基于网络的内存快3-4倍,那么它可能在服务器领域很难推广。然而,正如上面提到的,将250纳秒的延迟添加到I/O流量中并不是一个问题。你可以看到,4、6、8、16个PowerMAX节点共享共同的CXL内存,在成本节省和允许Dell的PowerMAX和其它高端设计之间实现许多缓存共享的好处。

Chris Mellor:所有块存储是否都应该像Dell的PowerStore和NetApp的ONTAP那样提供文件存储?有哪些支持和反对的论点?

Rob Young:我在上面稍微提到了一些。反对的论点是功能的划分,限制了影响范围。只提供块存储也不是坏事。如果你在使用一个具有独立嵌入式存储的备份解决方案,那是一回事。但是,如果你作为客户需要将NFS共享呈现为备份目标,无论是在客户端本地还是备份服务器本身,你都必须进行分隔。正如前面提到的,Pure现在已将文件整合到了他们的块存储中,实现了统一的块和文件存储。

传统的高端存储仅支持块(或具有可疑功能的附加NFS)。Infinidat声称他们的15%客户仅使用他们的Infinibox作为文件存储,40%同时使用块和文件。支持的论点在于,如果我们看一下Infinidat,市场上是有需求的。同样地,Pure现在变成了最初的块/文件NetApp。如果可以的话,合并是一个有说服力的商业场景,或者将同一供应商的块用于一组存储,文件用于另一组。规模较小的场景和预算有限的机构也会进行组合。

反对的论点是将数据按不同目标分隔开(例如,用于生产等用途),并且客户的架构偏好会起主导作用。在这方面有很多技巧,没有一个固定的“标准做法”。我想提及一个隐藏的优势以及关于其他供应商的一个警告。Infinidat在NAS中使用虚拟MAC地址(Pure也是如此 - 据我所知)进行IP寻址。当控制器由于故障或升级而重新启动时,将IP地址平稳地切换到另一个控制器,几乎是瞬间完成的,而且对交换机来说是透明的。这种方法避免了不必要的ARP请求。与之相比,这里提到的某些解决方案之一(当然不只一个)通常需要长达60秒的IP故障转移时间,因为它涉及到ARP的处理。这使得供应商我所提到的那家公司的ESXi数据存储的NFS共享变得问题重重,而且他们并不是孤例。至于Infinidat的15%客户仅使用NFS/SMB的问题,其中许多客户将NFS用于ESXi环境。这些信息来自于Gartner的Peer Insights,可谓宝贵的资源。

Chris Mellor:像VAST Data、Qumulo和PowerScale这样的横向扩展文件存储,可能比块存储更受青睐,你怎么看?

Rob Young:简单的递增增长。多功能性。尽管可能存在矛盾的风险,但在一个平台上支持Windows共享、S3和NFS访问(但不包括备份!)

相同的API/界面带来了SMB的巨大优势,一个存储用作文件,另一个用作块存储。在VAST和Qumulo中,更现代的特性包括免费内置分析功能。在某些情况下,支持iSCSI/NFS的事务性IO目标(需注意一些限制)。Qumulo和PowerScale提供多种驱动器选择。NLSAS要便宜得多 - 仍然是 - 在这个问题上要注意别被吓坏了哦!对于一些应用程序,你需要便宜且大容量的存储。其中之一就是视频监控。这对于去重和压缩来说非常不友好。

就VAST Data的情况,你将会为即将到来的海量数据做好充分准备。VAST的Jeff Denworth撰写了一篇名为《传统NAS的致命一击》的文章,基本上指出高带宽即将带来重大影响。自从我读了那篇文章以来,我一直对此耿耿于怀,沉迷其中太久。他的预测是准确的,但正如马克·吐温所说:“做预测是困难的,特别是对未来做预测。”我们可以说的是,AI/ML向我们展示了一种真正解耦的解决方案,它在没有流量控制的情况下共享所有内容,是有优势的。

但是,随着整个技术堆栈变得更加强大,高带宽也将随之而来。这不仅仅适用于AI,而且对于一般情况下,随着PCIe 5变得普遍、64 Gbit光纤通道、100 Gbit以太网和性能更高的服务器的出现,传统的双控制器存储将在带宽突增时面临压力。备份和数据库属于病态的IO应用程序,它们会表现得不规则,产生更高的突发读/写。在某个时候,会出现对资源过度使用(以及更糟糕的情况)。

Chris Mellor:你如何看待单层全闪存存储与多层存储的相对优势?

Rob Young:明尼苏达州Eden Prairie的Compellent创始人Phil Soran提出了自动分层技术;多么酷的发明——但现在它的应用范围受限。

不再有分层。我理解这一点,这是一个成功的策略。我在银行业务的月末中遇到了多层次的问题。那些早已冷却到更低两层的数据块突然被再次调用执行。这些数据块不会立即迁移到性能更高的层级。这是一个棘手的问题。需要Infinidat来大部分解决分层挑战。缓存用于IO,数据用于后备存储。快速将数据放入缓存层(或数据已经在那里)是关键,它们可以提前处理IO请求。

每个人都喜欢采用稳定一致性的全闪存存储进行设置,然后就可以不再干预。IBM在其FS/V7K系列中提供了分层功能,它具有一些优势。根据预算和型号,你可以购买一层SCM,将数据从第一层NVMe SSD/FCM(Tier1)热升级到Tier0的SCM层,其中包含部分最热的数据。这里的优势在于“较慢”的Tier1在Tier0缺失时表现出很好的性能。鉴于SCM/SLC仍然相当昂贵,分层仍然有明确的使用场景。另外,还有你提到的FS9000,让我们将IBM FS9000的I/O延迟设置为小于300微秒但大于Infinidat SSA。此外,分层仍然适用于可以容忍较慢检索时间的数据使用者,例如视频播放(我指的是堆栈中廉价而慢速的NLSAS)。