引言
自互联网诞生以来,企业IT正经历着一次重大的工作负载变革,而这场变革正是由人工智能(AI)引领的。在21世纪的IT领域中,人工智能和云计算无疑是两个最重大的发展。尽管云计算改变了IT工作的运行场所,但人工智能正在重塑IT工作的方式。
初期,人工智能主要应用于特定领域,如高性能计算(HPC)。它在图像/物体识别、语言翻译、语音转录等领域取得了显著的成果。
然而,自引入生成式人工智能(GenAI)后,人工智能在企业工作中的应用潜力激增。企业界从未见过一种技术能如此广泛地应用于众多的IT活动和用例中。
当前,IT在支持人工智能时面临的主要挑战在于满足其基础设施需求。为了训练、调整和使用GenAI,需要获取大量的昂贵GPU,这可能是一个巨大的障碍。而一旦获得这些GPU,如何保持它们的充分利用又成为了一个挑战,这需要高性能的文件访问和数据服务。
数据对于人工智能来说也至关重要,尤其是对于GenAI。训练和微调GenAI模型需要海量的数据,并且需要快速有效地访问这些数据以保持GPU的运转。人工智能对数据性能的要求远远超出了现有企业存储系统所能提供的范围。
为了应对这些挑战,一家公司已经开发出了一种新的数据访问模式,旨在支持人工智能和其它数据密集型应用,并保持数千个GPU的忙碌状态。
本文将重点关注人工智能工作负载转变所带来的影响,并探讨Hyperscale NAS解决方案如何使企业现有的数据存储环境能够满足极度数据密集型工作负载所需的性能要求。
工作负载转变驱动数据
过去的十年间,企业内部的业务部门持续运行着大规模的科学工作负载,例如大数据分析、高频交易回测以及基因组学等。HPC长期致力于处理这类科学应用程序。
长期以来,并行文件系统(PFS)如Lustre等,为HPC数据密集型科学应用程序和大型超级计算机提供了必要的数据容量和性能。这些系统通过从数据路径中移除元数据,实现了大规模性能和基础设施资源的高效利用,允许计算节点直接连接到数据。此外,PFS通常在专用网络(如InfiniBand)上运行,以进一步提升数据访问速度。
在PFS的支持下,HPC可以通过增加存储节点,将数据带宽从100Gbps提升至10Tbps甚至更高。同时,更多的节点也能将存储容量从TB扩展至EB级别。为达到这些带宽和容量水平,可能需要从数百个存储节点扩展到数千个。然而,PFS能够轻松应对这些硬件扩展,甚至更多。
不过,仅仅增加节点是不够的,还需要确保数据路径的灵活性。这通常需要多个客户服务器的支持,以便在节点扩展的同时不影响数据访问。PFS通过采用智能客户端软件,实现了元数据的带外移动,并为多个客户端提供了同时数据访问的能力。这种直接从主机到存储的数据访问方式是扩展带宽和容量、利用强大超级计算机处理大规模工作负载的唯一途径。
一直以来,企业IT在严格的安全和软件标准下,都未曾在云超大规模环境之外见识过如此高水平的性能,直到Hyperscale NAS的出现。
数据访问演进
在数据存储的初期阶段,设备是直接与服务器相连的,这种存储方式被称为直接连接存储(DAS)。系统可以轻松地将一个或多个这样的设备映射为基本的块存储或文件系统。随着NVMe的引入,DAS的使用效率得到了提升,因为它去除了RAID控制器,显著提高了IOPS速率,并降低了数据访问的延迟。
随着块存储需求的增长,IT逐渐从DAS转向了共享的、网络附加的块存储设备,并采用了新的网络块存储协议。这种方式使得昂贵的块存储可以在多台服务器之间共享。
文件存储从DAS向基于NAS系统的转变中,NFS(网络文件系统)和Windows SMB(服务器消息块)这两种网络导向的、开放的文件访问协议起到了关键的作用。
NAS的初衷与块存储相似,都是为了将昂贵的存储容量分配给多个主机使用。NAS通过增设缓存和存储硬件来优化文件性能,因此被称为Scale-up NAS。然而,Scale-up NAS的性能受限于设备内部的硬件配置。一旦NAS系统的硬件资源耗尽,IT部门就不得不购买更多的NAS系统或升级到更高端的NAS设备。
随着技术的发展,出现了一种名为Scale-out NAS的共享文件存储架构。这种架构依赖于专有软件和运行在普通服务器节点上的专用高速内部网络。通过不断添加节点,Scale-out NAS的性能可以得到持续提升。一些先进的Scale-out NAS解决方案还引入了基于NVMe的存储网络(NVMe over Fabrics,简称NVMeoF),以进一步提升性能。尽管如此,前端文件服务器及其潜在限制问题依然存在。随着Scale-out集群规模的扩大,新增节点对性能的提升作用会逐渐减弱。
最终,尽管HPC已经通过PFS解决了线性性能可扩展性的问题,但企业IT仍然不愿意采用PFS解决方案。这是因为这些解决方案通常需要专有的客户端和存储服务器软件,并且不包括满足数据安全性、合规性和治理要求所需的企业服务。
PFS基础知识
HPC科学应用程序和超级计算环境要求能够快速访问大量大文件,并具有极高的吞吐量。在这种情况下,可能需要数百台甚至更多的服务器同时访问相同的数据。通过PFS提供对存储服务器上数据的并行直接访问,确保了没有任何一台主机(或多台主机)需要等待数据访问。此外,由于元数据活动被卸载,计算、网络和存储服务器的性能能力几乎全部都被提供给应用程序。
通过并行直接访问数据,PFS能够充分利用HPC环境中可部署的所有硬件资源。例如,具有1Gbps能力的存储服务器,当两台服务器同时工作时可以维持2Gbps的数据访问带宽,20台服务器则可以达到20Gbps,而200台服务器则能维持200Gbps的数据访问带宽。对于PFS来说,预算是限制数据带宽和容量的唯一因素,而这些资源都可以提供给环境中最关键的部分——计算。
虽然HPC在网络、集群配置、服务器内存和浮点计算性能等方面都取得了其它创新,但由于没有采用标准的主机软件和访问协议,以及缺乏易用性和所需的可靠性、可用性和可维护性(RAS)功能,PFS仍然是HPC科学应用程序性能的关键所在,但在企业环境中的采用受到了限制。
PFS为文件存储引入了一些新技术,具体包括:
- 单独的元数据服务器:在传统的扩展式和Scale-up NAS中,元数据由同一系统提供,并通过与文件数据相同的路径进行传输。而PFS将元数据服务卸载到独立的服务器上,这意味着元数据和文件数据不再需要争夺相同的数据路径资源。
- 直接访问数据:在传统的企业NAS I/O中,数据通常需要经过系统架构的多个层级或从节点到节点的跳转,才能被主机接收,这增加了时间和开销。而PFS为存储服务器中的数据提供了直接到达计算环境的路径,避免了不必要的数据传输,从而加速了数据访问过程。
- 极限可扩展性:通过直接访问数据和采用独立的元数据服务器,向PFS集群添加更多节点可以增加数据访问带宽,显著提升文件访问性能。
近十年来,NFS标准组织已经开始向NFS添加PFS功能。随着时间的推移,他们定义了NFSv4.2协议,并建立了可以支持NFS上的PFS特性的并行NFS(pNFS)。
标准委员会为pNFS定义了几种操作模式。其中,Flex Files模式允许使用独立的NFSv4.2元数据服务器与NFSv3存储服务器,并支持直接访问数据和文件位置的移动。
通过pNFS Flex Files,企业可以在不使用专有客户端软件的情况下实现PFS的极限可扩展性和性能优势。他们仍然可以使用标准的Linux服务器托管应用程序,并提供计算环境,而无需添加任何新的专有客户端软件或网络。Hyperscale NAS产品已实现了NFSv4.2 pNFS Flex Files功能。
Hyperscale NAS
Hyperscale NAS集群的典型架构包括Anvil NFSv4.2元数据服务器、数据服务(DSX)节点,以及采用现有Scale-up或Scale-out NAS,或是现成的商用服务器作为存储服务器。值得一提的是,由于pNFS Flex Files功能已成为Linux内核中NFS支持的一部分,因此部署Hyperscale NAS时无需安装任何专有客户端软件。
一旦Hyperscale NAS安装完成,它将自动启动“数据就地”迁移过程,将配置为使用的所有NAS存储纳入其中。在此过程中,元数据集成将文件元数据从当前存储系统读取并同步到Anvil服务器上。甚至在元数据集成完成之前,IT团队就可以将文件共享和挂载点指向Hyperscale NAS,并利用数据中心中pNFS Flex Files的所有功能,从而将现有的NAS基础设施轻松转型为高性能的PFS。
采用Hyperscale NAS的好处包括:
- 灵活的文件位置管理:文件数据的物理位置由Hyperscale NAS全权控制,与目录路径和文件系统结构完全解耦。
- 出色的硬件扩展性:IOPS、带宽和容量都可以通过简单地增加更多存储服务器硬件来实现轻松扩展。
- 性能提升:即使是在现有的NAS硬件上,当部署在Hyperscale NAS之下时,也能显著提升访问性能。
- 线性性能扩展性:性能可以根据需求线性扩展至任意水平。
- 高效的基础设施利用:近100%的底层存储、服务器和网络基础设施性能都能传递给支持计算环境的数据访问。
Hyperscale NAS客户端可在任何支持Linux 5.15+和6+内核的Linux服务器上运行,包括RHEL 7.7+及以上版本。由于Hyperscale NAS仅使用标准的Linux NFS客户端软件,因此无需在主机服务器上安装任何专有软件。
此外,Hyperscale NAS可以与任何支持NFSv3或NFSv4.1的存储服务器兼容。配备DAS的Linux系统可以运行标准的NFS服务器软件,并作为Hyperscale NAS存储服务器使用,无需安装额外软件。因此,网络附加计算存储(配备备用计算的SSD)或运行Linux的边缘系统都可以成为Hyperscale NAS的存储服务器。
Hyperscale NAS通过NFS4.2连接性,与客户端建立连接,从而提供并行文件系统功能。
此外,Hyperscale NAS还支持NVIDIA GPUDirect Storage技术。借助GPUDirect,GPU能够直接通过服务器的PCIe总线访问数据,无需经过CPU内存,从而大幅提升数据传输效率。同时,Hyperscale NAS还提供了容器存储接口(CSI)服务,以满足在K8S集群中运行的所有用户和应用程序的共享读/写访问需求。
对于数据中心网络,Hyperscale NAS支持以太网或InfiniBand,并集成了RDMA协议数据访问功能。RDMA能够显著加速从存储到访问数据的客户端之间的网络数据传输速度。
在部署方面,Anvil元数据服务器和DSX系统非常灵活,可以部署在裸金属服务器、虚拟机、容器中,或任何运行Linux的云端环境中。同时,Hyperscale NAS元数据和DSX服务器也能够在VMware和Microsoft Hyper-V虚拟化平台下稳定运行。
在存储服务器方面,Hyperscale NAS支持几乎所有类型的Scale-up或Scale-out NAS系统,包括Windows文件服务器。此外,它还可以在Amazon AWS、Google Cloud Platform、Microsoft Azure等各种云提供商的平台上运行,并支持使用云NFS文件存储服务。
最后,为了保障高可用性,Hyperscale NAS的Anvil元数据服务器通常采用HA(高可用)对配置,它们之间会实时镜像所有元数据。同时,Anvil元数据服务器也可以部署并镜像到远程位置,以确保数据的备份和恢复能力。
全局数据环境
全局数据环境(GDE)建立在Hyperscale NAS基础之上,通过全局文件系统将不同存储隔离区的数据统一整合至一个文件系统中,形成单一的全局命名空间。无论是用户还是应用程序生成的数据,无论使用NFS、SMB还是S3协议,都可以通过pNFS在Linux客户端上进行访问,享受PFS性能的优势。
这一特性在训练GenAI模型、协作视频编辑和渲染,或进行HPC分析时尤为实用。GDE使企业应用程序能够无缝访问分布在多个站点和位置的数据。
一个GDE可以灵活部署在16个不同的本地或云环境中,每个环境包含一个Hyperscale NAS集群,配备一对Anvil元数据服务器和DSX服务器,同时利用现有的存储节点。每个Hyperscale NAS集群可以根据需求配置从几台到数千台不等的存储服务器。
通过其Flex Files pNFS操作和Anvil服务器的协同,Hyperscale NAS能够实现跨多个站点的数据一致性,通过持续同步元数据来保持数据更新。这意味着,当文件更新时,仅需同步其元数据,全球用户即可访问数据的最新版本。
在GDE的框架下,无论是同一数据中心还是全球范围内的任何位置,如云中、托管中心或边缘集群,都能共享对相同文件数据的访问权。根据访问权限设置,用户可以从任何位置访问相同的共享、目录和文件。
例如,若数据需要移至计算集群的本地,数据编排策略可以仅按需移动文件粒度的数据至处理位置。这些数据在站点间移动时仍可被用户和应用程序持续访问和使用。文件数据甚至可以在不同位置预先准备,并在本地处理完成后迁移至其它位置。这些并非文件副本,而是具有相同文件元数据的文件实例。
对于需要利用Hyperscale NAS pNFS v4.2与Flex Files性能的环境,文件数据可以存储在GDE中任何支持NFSv3或NFSv4.1的存储服务器上。
已经部署了SMB存储或自有的S3对象存储的组织,可以借助DSX服务器将其SMB或S3存储与Hyperscale NAS中存储的其它数据统一纳入单一的全局数据环境中。全局数据环境将这些数据整合到一个统一的命名空间和全局文件系统中,涵盖通过NFS4.2、其它NFS版本、SMB和S3生成和访问的所有数据。
在Hyperscale NAS的支持下,目录和它们包含的文件实现了完全分离。而GDE将这种灵活性提升到了新的高度。例如,一个目录可以包含分散在16个位置、由数百到数千个存储节点构成的文件数据。
目标策略管理
GDE提供了基于目标的策略管理,涵盖了数据管理、治理和编排服务。例如,它能够跟踪文件的更改和版本,并智能地将文件移动到离访问它们的服务器更近的位置。
除了上述功能,基于目标的策略管理还具备多种用途。它可以安排快照创建,生成经过加密、去重和压缩的WORM文件数据副本。此外,它还能自动化数据工作流程,并执行防病毒扫描。所有这些功能共同助力实现GDE中数据的合规性、治理性和地理访问限制等关键业务政策。
在存储服务器数据保护方面,基于目标的策略管理同样发挥着重要作用。它可以通过镜像数据或使用类似RAID的纠删码来设置数据保护。这种数据保护机制确保了在多个存储服务器发生故障时,依然能够保持对数据的稳定访问。
镜像功能可以创建一到两个数据副本,从而确保单个或双重存储服务器故障不会对数据可用性造成影响。相比之下,纠删码是一种更为复杂的数据保护方案,它利用奇偶校验和数据存储来保护数据。纠删码可以配置为支持多个存储服务器故障而不影响数据访问。虽然镜像方案会使存储容量需求增加一倍或三倍,但纠删码仅需消耗适量的额外存储容量来提供奇偶校验以实现数据保护。
值得一提的是,即将发布的新功能还包括数据条带化。这一功能可以将文件数据分散存储在多个存储服务器上,从而实现对数据的并行访问,进一步提升数据处理效率。
Hyperscale NAS性能提升
Hyperscale NAS,与任何PFS一样,支持从PB到EB级的文件存储容量,能够跨多个文件系统/目录管理数十亿个文件,并且所有这些操作都能保持极高的性能。其性能特点包括高吞吐量、快速元数据访问以及高速的读取或写入I/O。对于那些具有不同性能工作负载或混合I/O需求的环境,提供了一个单一的全局文件系统,使得这些工作负载得以整合,而无需为每个工作负载单独设置文件系统。
与传统的NAS解决方案相比,Linux标准的pNFS与Flex Files为性能带来了显著的改进。例如,直接数据访问通过消除文件系统开销,显著提升了性能并优化了硬件的利用率。无论是大文件还是小文件,无论是高频访问还是低频访问,Hyperscale NAS都能应对自如。
此外,NFSv4.2减少了打开文件所需的协议往返次数,这对于使用大量小文件的应用程序来说,是一个重要的性能提升。Hyperscale NAS结合Flex Files的pNFS v4.2还提供了实时文件迁移功能,使热文件能够自动迁移至高性能存储,而冷数据则能够迁移至低性能存储。这种功能在后台自动运行,对于活动和正在使用的文件,也能够显著提高大文件和小文件的访问性能,即使是在传统的存储基础设施上也能实现。
因此,应用程序可以轻松处理大文件的读取和写入访问,实现极高的吞吐量。同时,小文件的IOPS速率也能达到很高的水平。这些组合特性使得Hyperscale NAS能够轻松满足甚至是最大规模组织的AI训练、微调和推理数据访问需求。
对于正在微调GenAI模型的企业来说,数百甚至数千个GPU和服务器可以持续保持高负载运行。而如果只是部署预构建的GenAI推理解决方案,那么10到100个GPU和服务器即可保持活跃状态,无需中断。此外,如果企业正在训练自己的大型语言模型(LLM)GenAI解决方案,那么超过1万个GPU和数千台服务器可以始终保持100%的利用率。
应用案例
大型AI训练中心
在一个大型AI训练环境中,为了支持GenAI LLM训练所需的文件数据性能,部署了Hyperscale NAS。这个数据中心内,存储节点采用了运行NFS服务器软件的Linux机器,并配备了NVMe SSD存储。客户的数据中心被细分为三个独立的电力和网络区域,Hyperscale NAS的Anvil元数据服务器在这三个区域之间实现了三向复制,同时所有主机都配备了多个GPU。
GPU是该组织在基础设施上的最大投资,他们希望在训练大型AI模型时能够充分发挥所有GPU的性能。他们曾尝试使用其它存储系统,但均未能满足所需的训练数据访问性能,使得GPU集群保持高负载的同时,也符合他们预先定义的基于标准的架构方法。
对于GenAI LLM的训练,神经网络被分配到多个GPU和主机上。在大多数GenAI训练环境中,主机系统通常连接了六个或更多的GPU。因此,众多GPU和运行它们的服务器会频繁地读取相同的训练数据。
为了解决这个问题,该组织采用了Hyperscale NAS,将训练数据复制到多个存储服务器上。每个存储服务器都能够为多个主机提供并发的直接数据访问。通过部署Hyperscale NAS,该组织在标准路由以太网上使用TCP/IP连接,实现了在3.2万个GPU上达到12TB/s的持续吞吐量,同时仅使用约1000台存储服务器就能维持LLM GenAI训练的吞吐量要求。
大型渲染农场
一家专注于视觉效果制作的公司,在他们的300台服务器的渲染农场中,引入了一个包含32个节点、文件规模达到2PB至500M的Scale-out NAS解决方案。
然而,由于现有NAS存储的I/O性能存在不足,导致渲染作业频繁超时。为了应对这一问题,公司不得不减少渲染农场中的节点数量,从而降低了渲染吞吐量,使其低于数据中心的原始设计规格。
面对这一困境,工作室面临几个选择:增加当前分布式NAS的节点数量、购买性能更出色的分布式NAS解决方案,或是部署Hyperscale NAS搭配具有Flex Files功能的pNFS。
经过深思熟虑,他们最终决定采用Hyperscale NAS方案,并继续利用现有的存储硬件。同时,他们还配备了一对Anvil元数据节点和两台DSX服务器。令人惊喜的是,在短短几小时内(主要用于元数据集成过程),数据访问性能得到了显著提升。这使得公司能够将渲染农场重新扩展至300节点规模,且未再出现任何I/O故障。
在使用Hyperscale NAS后,虽然所有数据仍然存储在同一个分布式NAS服务器上,但每个节点都已成为一个独立的存储服务器,为请求数据的主机提供了直接访问的权限。
目前,这家工作室正计划将渲染农场规模扩大一倍,以期进一步提高作业吞吐量。令人振奋的是,他们无需对分布式NAS解决方案进行任何额外投资,即可实现这一目标。所有文件访问性能的提升,都归功于Hyperscale NAS对他们现有分布式NAS集群的升级和优化。
总结
Hyperscale NAS为追求极高性能文件数据访问的企业带来了全新的解决方案。它提供了与HPC级别的并行文件系统相当的极限可扩展性和性能,却无需安装专用的客户端或存储服务器软件。
传统的Scale-up和Scale-out NAS解决方案在面对AI/ML等高性能工作负载时,常常受限于性能和扩展能力。然而,Hyperscale NAS的性能和容量能够线性扩展,满足极端用例的需求。随着部署的存储硬件和网络带宽的增加,文件容量和I/O性能也相应提升。
通过采用pNFS v4.2和Flex Files技术,Hyperscale NAS打破了文件与其所在目录之间的硬编码连接。这意味着目录和文件系统结构不再决定文件的存储位置。Hyperscale NAS可以将文件数据存储在来自任何供应商的存储服务器上,并灵活地在集群中的任何位置放置和移动数据,而无需应用程序的修改或用户的中断。
此外,借助全局数据引擎(GDE),数据位置实现了全局化。全局文件系统支持多达16个不同的位置,能够将数据跨位置和存储服务器进行拼接,形成一个统一的目录或共享。具备相应权限的客户端可以无缝访问所有集群位置的文件数据,包括本地和基于云的数据中心,就像访问本地数据一样便捷。
综上所述,Hyperscale NAS结合pNFS和NFSv4.2的直接数据访问,显著提升了文件访问性能;通过Flex Files pNFS和GDE,实现了数据位置的灵活性;同时,Hyperscale NAS本身提供了极限的可扩展性。这些优势使得Hyperscale NAS成为解决文件I/O性能不足或支持AI训练需求的组织的理想选择。无论是应对当前的挑战还是展望AI密集型的未来,Hyperscale NAS都能为企业提供强大的文件性能和容量支持。