探寻通用存储之道

G-Research始终不懈努力,旨在识别并充分利用行业中的尖端技术。与许多机构类似,我们拥有庞大的资源库,涵盖了众多功能和特性,而我们希望得以增强。新技术需要在其个体优势,以及其与我们技术堆栈其余部分“和谐相处”的能力方面进行评估。

因此,我们始终热衷于与有远见的供应商建立牢固的关系,特别是在我们可以预先了解其技术路线图并影响它的情况下。对我们而言,特别重要的是以高性能、大规模扩展的方式将新技术引入我们的本地云原生环境。我们愿意投入时间来了解供应商在路线图的发展方向,对于合适的技术,我们也愿意分享我们的发展方向以及如何更紧密地合作的想法。

挑战

我们需要一个企业级存储平台,其具有高度可扩展性和卓越的性能,并且运营成本最低。这是为了支持由日益丰富和多元化驱动的大规模模拟、机器学习和分析工作负载生态系统,涵盖数十PB的数据。

我们正在寻求一种终极解决方案;一个平台,能更好地支持我们当前的工作方式,同时也能够加速我们未来的路线图。我们希望在实现这两个目标的同时,还能够实现从一个领域平稳过渡到另一个领域。我们拥有一个大规模的Windows资源库,融合了多种不同的架构和技术堆栈。我们希望基于云原生的原则,构建一个更为统一、灵活和可互换的基于Kubernetes的Linux资源库。

挑战的一部分是实现从SMB/CIFS协议过渡到Linux和云友好的协议(如NFS和S3)。我们希望能够从不同协议中获得相同数据的视图,既不影响性能和安全性,也无需来回传输数据以支持不同阶段系统的平稳过渡。

总之,我们渴望实现两全其美。

技术研究

我们的技术创新团队(TIG)对存储平台领域进行了深入评估,选择了业内领先的产品进行评价。探索范围涵盖了专业硬件设备、混合架构以及可在通用硬件上运行的纯软件定义存储解决方案。

目标是不受限于现有的解决方案,积极与行业内的专业人士取得联系,寻找那些专注于下一代存储解决方案的厂商和创业公司。最终,选出了多个备选产品,其中有些已经成熟,有些还在开发中,还有些创业公司仍处于隐秘阶段。我们对每个解决方案进行了充分的调研,因为每个方案都展现出了巨大的潜力。

选择标准

在许多存储应用场景中,有必要对那些有可能为我们的IT生态系统增添价值的不同平台类型持开放态度。我们基于不同的技术,使用多个基准进行了许多POC验证。

在此评估过程中,我们考虑了以下因素:

  • 大型集群和单个客户端的带宽性能
  • 对现有访问模式(SMB)和未来访问模式(NFS、GPUDirect和S3)的支持
  • 容量和性能方面的易用性和灵活性
  • 系统和每个用户指标的可观测性
  • 数据效率(压缩和去重)
  • 数据保护(复制、快照,包括不可变快照)
  • 数据访问和管理的细粒度安全性和访问控制
  • 韧性架构,减轻多PB混合用途存储命名空间的风险
  • 售后服务质量,包括运营层面和深度技术支持
  • 供应商的开发敏捷性
  • 在持续负载下系统的真正非中断性升级

POC验证

我们对七家领先供应商进行了广泛的测试,得出了VAST是最佳选择的结论。尽管其它供应商的技术在我们的资源库中可能有一席之地(或可能会有),但VAST最适合作为一个可扩展的企业级存储平台。

这些早期测试遵循了最小可行产品的原则,我们在实验室中使用了有限的客户端硬件,对一个由HPE  DL360 Gen10服务器组成的小型4节点VAST集群进行了测试:

  • 2 x Intel Xeon Gold 6226 CPU 2.70GHz
  • 192GB DDR4 RAM
  • 双端口 Mellanox ConnectX5 100G 网卡

我们的测试主要关注性能和协议,重点考察了单个客户端和聚合文件性能。

NFS与SMB/CIFS对比

我们早已意识到我们现有的Linux内核并未充分为SMB/CIFS进行优化,因此,我们首先验证了转向NFS,尤其是NFSv4的方向。

当时,VAST并不支持SMBv3。然而,无论是VAST还是我们现有的平台,对于NFSv3的读写工作负载,不论是大型IO还是小型IO,都表现出显著改善。

读取速度约为3倍,写入速度约为2倍。虽然SMBv3多通道减小了这种差异,但在配置我们的环境时,它已经证明比n-connect可靠性更低。

支持Kerberos的NFSv4也在VAST的路线图上。并且,这次测试增强了我们对VAST研发团队在六个月内发布并部署该功能的信心。

NFS单客户端测试

标准的NFS挂载性能较差,最大带宽仅达到2GB/s,即使在100G网卡上也是如此。基于当前版本的Linux内核,我们可以充分利用nconnect和多路径技术:

  • nconnect允许控制每个NFS客户端与VAST节点之间的连接数(网络流)(最多限制为16个)
  • 多路径允许每个NFS客户端连接并在多个VAST节点之间平衡负载,充分利用多个节点和网络路径的性能

这些挂载方案可以共同启用以进一步提升性能,并且在适当的网卡驱动程序支持下,还可以利用RDMA技术。

NFSv3 连接带宽(1MB读和写)IOPS(4K读和写)
标准 NFSv3/TCP基准基准
NFSv3 + nconnect(16)1480.1
NFSv3 + nconnect(16) + 多路径4456
NFSv3 通过RDMA + nconnect(16) + 多路径+500% 和客户端CPU显著降低+700% 和客户端CPU显著降低

尽管RDMA技术在性能方面表现出色,并展示出接近线速的读取性能并不令人意外,但仅通过nconnect和多路径就能够接近最佳性能水平是令人鼓舞的。

拥有高速存储是非常有价值的,但充分利用可用性能是一个多方面的挑战。我们注意到,在大规模部署中,RDMA技术需要复杂的客户端驱动程序、网络调优和监控。

VAST提供的简单SMB、NFS和S3访问模式,以及基于性能改进方案的NFS(nconnect+多路径)使我们能够接近最大性能,而只需对现有堆栈进行最少更改,同时在CPU客户端性能上也有可接受的损失(没有RDMA卸载优势)。

VAST Data Element Store:多协议数据抽象

我们认为,使用这些方案的NFS在早期导入阶段为性能和部署便利性之间提供了很好的平衡,而不会牺牲未来几年内RDMA技术的潜在优势,无论是用于通用目的还是小型加速项目。

投入生产环境

由TIG迅速得出的这些结果,使得存储团队对将VAST作为潜在继任者来取代我们现有平台的决策产生了信心。因此,在几周内,VAST交付了第二个小型系统,并在我们的环境中进行了部署。这意味着我们可以评估与核心基础设施和工具的集成,以及其支持更现实的多客户端工作负载的能力。

随着我们逐渐了解了平台的内部运作,我们能够识别出需要改进的关注领域。于是,我们开始了与战略和成功标准相关的坦诚交流。我们的期望是VAST专注于满足我们当前和未来的需求,尽管他们也有对其他客户的承诺,这也间接地使我们受益。

VAST与一些现有客户进行了多次直接的通话,使我们能够从他们之前的经验中获得真实的反馈。然后,我们详细列出了需求,并与VAST确定了优先级,他们承诺在接下来的两个季度内发布日期确定的版本。一个专门的十人团队被组建起来,以加速开发基于Kerberos的NFSv4,而“协同伙伴(co-pilots)”则与我们保持了紧密的对齐。

尽管我们没有发现任何障碍,也没有感受到VAST的决心有所动摇,然而决定投入一个多PB的系统(特别是在首次部署中)并不是一个简单的决策。在紧迫的时间框架内,这个平台是必不可少的,因为它支撑着成千上万的CPU和GPU计算节点的并行部署(另一个重要投资),这些节点预计在短短几个月内开始产生回报。

G-Research的存储工程师的信心以及我们与VAST建立的关系都是至关重要的。然而,更关键的是,我们认识到两家公司都有能力使这项工作取得成功,并且可以在合作中获得许多好处,这才是成功合作伙伴关系的关键。

在我们最初投入使用的六个月内,该系统提供了突破性的整体和单用户性能,并且在其现有占用空间内还有提升性能的潜力,而且还可以通过有针对性的扩展进一步提高性能。第二个多PB平台已经作为独立的命名空间部署,用于更高敏感性的研究,而第三个多PB系统将于2023年第二季度部署,它将支持原始优先范围之外的数据集,这需要依靠跨站点复制以及通过不可变快照进行的数据保护。

完成这次成功部署的关键方法:

  • 匿名系统和用户统计数据的实时自动上传
  • 从存储系统直接上传诊断包以进行详细分析
  • VAST的“协同伙伴”专门为我们服务,并每天协助我们的工程师
  • 共享的Jira跟踪请求和问题
  • Slack聊天允许直接协作,以及WebEx进行屏幕共享
  • 独立验证生产者和修复程序的测试平台的对齐
  • 每周两次的非正式项目状态更新,确保持续关注优先事项和短期和中期发布的更新
  • 用于讨论复杂问题或详细新要求的分支会议
  • 在G-Research与VAST高级工程师之间定期进行现场协作,以观察生产工作负载,并提供额外的内部指标和专业知识
  • 高级管理层的交流和季度业务回顾会议

出现的问题

鉴于我们在实验室中进行了有限的测试规模,生产环境中出现问题是不可避免的。我们与供应商紧密合作,逐个解决了这些问题。

我们遇到的一些问题包括:

  • G-Research的规模(客户机器和并发用户)超出了较早版本的测试限制
  • 与DNS TTL和“固定客户端”(sticky clients)相关的CNode上的客户机分布不均匀
  • NFSv4的单文件打开句柄并发限制
  • 并发用户的数据读取IO与元数据IO的竞争
  • 由于对刚刚写入的数据进行高强度读取而导致设备的热点化

在K8s Flex卷驱动程序中实现基于Kerberos的NFSv4挂载也比最初预期的要具有挑战性得多。

VAST迅速进行了研发工作,以匹配G-Research之前的SMB实现规范,但接着就要长时间进行调试,以解决多用户、容器化环境中的早期IO和权限问题,并在未来的内核升级中维护此驱动程序。

成果

透过与VAST的紧密合作 —— 这个真正有价值的合作伙伴关系 —— 我们找到了那个“解药”;一个能够支持我们当前努力,同时也将有助于加速我们未来路线图的平台。

我们迄今为止的关键成果:

  • 我们选择了VAST通用存储,因为它为多种协议提供了高带宽,同时具备容量和并发性可扩展性,并且操作管理非常便捷。
  • G-Research的大规模机器学习作业持续不断地运行,涉及来自许多团队的用户。VAST支持真正的非中断性升级:这意味着我们可以利用他们的开发敏捷性,积极进行升级,同时避免中断。
  • VAST认识到G-Research可以将其系统推至极限,他们将投入时间来隔离问题,重新测试改进,并详细反馈以支持和引导他们的开发工作。
  • G-Research相信VAST已经构建了一个可扩展和可运营的系统,并拥有所需的工程师,可以根据我们观察到的使用情况和反馈来推进系统的发展。

吸取的教训

量力而行

选择一个战略性的存储平台非常重要,它能够在企业规模上支持我们的架构转型目标,并为我们未来提供持续支持。这是一个长期的规划。我们仔细评估了许多解决方案,探索了功能、性能和操作使用的便捷性。

将其视为伙伴关系而非供应商关系

我们与供应商密切合作,不仅了解他们的产品如何工作,还了解他们对产品未来发展的愿景。我们有自己的技术要求和约束,这使产品选择变得复杂。一旦我们根据满足我们需求和未来愿景的能力从众多技术中缩小了选择范围,我们开始建立更紧密的关系。在这个阶段,我们投入了大量精力提供有益的反馈,指出哪些产品特性可以使其更适合我们采用。

总结

可持续的业务建立在可持续的技术战略之上,而这些战略需要更进一步的战略伙伴关系,而不仅仅是供应商关系。

我们为在业界建立了一些坚实的关系感到自豪,甚至对于我们尚未采用的技术,我们仍在继续寻找适用于其他用例的正确技术。找到创造战略一致性的方法往往并不容易。每家企业都是独特的,具有不同的优势和特点。关键在于接受这一点,并建立关系,共同使客户能够利用技术、产品或服务,以帮助供应商发展这些技术、产品或服务。

Source: Mark Burnett, The search for universal storage, 15/02/2023