NAS深度解析:面向云原生应用的文件存储

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
密钥管理服务KMS,1000个密钥,100个凭据,1个月
函数计算FC,每月15万CU 3个月
简介: 本文深入解析了面向云原生应用的文件存储NAS,由阿里云专家分享。内容涵盖Cloud Native与AI浪潮下的技术创新,包括高性能、弹性伸缩、成本优化及数据安全等方面。针对云原生应用的特点,NAS在Serverless生态中不断演进,提供多种产品规格以满足不同需求,如极速型NAS、归档存储等,确保用户在高并发场景下获得稳定低延时的存储体验。同时,通过优化挂载参数和容器访问策略,提升整体性能与可用性。

NAS深度解析:面向云原生应用的文件存储

 

内容介绍:

一、面向云原生应用的文件存储

二、Cloud Native+AI浪潮下的阿里云NAS技术创新

 

本次分享的主题是NAS深度解析:面向云原生应用的文件存储,由阿里云智能集团资深技术专家徐立和阿里云智能集团产品专家孟威分享。

 

一、面向云原生应用的文件存储

目前,越来越多的用户会部署非常关键的应用,在云上托管的K8S环境中部署一些复杂状态的应用和AI的应用。从虚拟机到物理机再到serverless逐渐演变迭代过程中,用户的计算应用和使用存储的方式发生了巨大的变化。在传统的虚拟机和物理机的环境以及相对独立的空间中,它是独立的存储的空间。

随着serverless 的演进,应用的粒度会切分的越来越细,同时带来相应的挂载密度提升,用户使用数据和存储的方式也发生了巨大的变化,包含粒度越来越细,应用生命周期越来越短。用户在serverless 和AI的环境以及在使用数据的过程当中,会应对非常多的挑战。云原生的应用环境中极致的弹性伸缩的能力,是云原生应用的一个核心,意味着用户的传统应用,比如直播、AI或者在有明显的业务波峰波谷的环境中,它的应用特点随着数据和业务有明显的弹性伸缩,这是应用的特质。这就需要存储的数据伴随着应用伸缩的能力,在应用实例当中快速响应和扩展上万级别的pod规模扩展,如何让存储数据及时的在海量数据容器中快速的挂载和卸载,这就是极致弹性能力上的挑战。

相应而来,很多用户在云原生环境中部署关键的AI和大数据分析的应用,会应对非常高性能的IPS和吞吐的高性能演示,也意味着在这样的高性能情况下,让数据在极致弹性伸缩的环境中短时间内启动,应对云原生应用的业务红峰。此外,海量持久化数据的成本优化和数据保护,也是现在面临的关键痛点。在云原生和AI的场景中,阿里云的文件存储NAS在以下几个方面做了持续的创新,包含在serverless 环境的演变中,不断接入新的计算平台的生态,现在阿里云文件存储NAS已经全面接入了阿里云的容器服务ACS、Fluid等在serverless 生态当中的云计算的框架,应用接入性方面在业界领先,也是云原生协议分布式的自研框架和协议。

在极致性能方面,也有非常重要的演进,包含弹性文件的客户端的性能提升,支持缓存的生命周期管理。在安全方面,除了文件存储NAS为用户提供的数据保护、防护删、数据备份功能之外,加密方面和日志安全审计也做了进一步增强。

在低成本方面,文件存储NAS能够更多的在云原生和AI场景普惠用户,让用户在更低的成本中使用高性价比的云原生文件存储。每一年都会官宣阿里云文件存储的大图,今年非常显著的变化是应对高性能的云原生AI应用的场景,有丰富的产品规格和丰富类型供用户选择,包含基于分布式的自研文件存储协议、NFS、SMB协议,面向云原生应用复杂的通用型NAS。

与此同时,在提升性价比普惠用户的过程当中也有非常重要的基石,包含高级型NAS推广发布,在面向海量数据的容器持有化存储应用中提供极致性价比的归档存储。应对AI和极速时延比较敏感的问题,如环境CICD时延应用敏感的环境,极速型NAS是一个非常关键的应对这种类型的文件存储布局。此外,并行文件存储的CPFS也会发布专门针对场景AI的大规模高性能计算的存储类型,以上是2024年阿里云文件存储的布局。

对于通用型的文件存储NAS,在面临Serverless& AI算力的场景在不断创新,包含全面接入Serverless生态更新NAS,尤其是和ACS的计算生态集成。在阿里云容器的服务中,通过弹性文件客户端分布式的计算缓存逐渐地提升更高的性能。

应对多个容器的部署应用过程中,在海量pod共享里提供更高的数据可靠性和数据的保障。其中也包含高链路级别的高可用的能力。对于更高的弹性和性能,文件存储NAS也利用了弹性文件客户端,在以下几个层面有非常强大的性能提升:单路读吞图3GB每秒。单路的读吞图性能提升,尤其是针对小文件的原数据的操作,比如重复读的场景,能够通过分布式在计算测的缓存去加速热数据的读取。比如在AI的场景和推理的场景,需要做大规模的分布式的计算推理发布,分布式计算的缓存和p2p的能力,利用EFC的弹性文件客户端可以实现访问的加速。

此外,在AI训练的场景小文件,尤其是原数据操作访问的性能提升了10倍,右图是加速云原生高性能应用的实践。在应对云原生AI的场景中,在2000个节点当中,能够快速的提供更高效的高密弹性计算,在短时间内应对容器云原生应用里面的计算洪峰可以达到百GB每秒的吞吐的能力。数据的安全也是非常重要的核心资产,文件存储NAS在保障数据安全方面在持续的努力,包含利用访问日志的能力,让用户更好地了解存储的使用以及操作安全和审计方面的能力,除此之外还有加密备份,数据保护和防护删的能力。

展开讲安全能力的增强,在2024年的6月份,BYOK加密的能力已经在国际站和国内站全网发布,文件存储NAS在传输单加密、落盘加密等所有加密的能力,能更好保障数据的安全。对于日志审计的能力,2024年6月份也全新发布了关于极速型NAS日志访问的日志安全审计的能力,文件存储NAS用户使用的过程当中包含如何更好地感知数据的操作,比如每一个文件的访问来自哪个客户端,安全事件、操作访问的分布是怎样的,可以很好借助日志服务SLS合作的安全审计能力,帮助用户辅助安全分析,与此同时,内置非常多的安全的告警规则用户可以开箱即用构建安全防护。在回收站方面,文件存储NAS有低成本的方式来保护数据,比如数据的误删除和误操作,通过开启文件存储的回收站的能力,帮助用户实现安全的保护。

回收站的能力可以提供连续的数据保护和及时数据恢复的能力。在面向用户的数据备份方面,比如多个地域之间或者数据怎样将文件存储的实例更好地做数据保护,在控制台开启阿里云Cloud backup做进一步的协同,更好的设置业务备份策略以及更灵活的备份策略和更安全的数据防护,也可以做如数据分层和生命周期管理来支持高效的数据投删。无论是在安全性、合规性和成本上,通过云备份可以更好的保障文件存储NAS的数据的安全。NAS Access Point的推出为云原生用户提供了长期服务,特别是数据安全隔离方面。挂载过程中,通过端到端的AK访问鉴权确保了数据共享的安全性。

2024年在文件存储NAS的成本优化和普惠用户方面取得了显著进展。提供了更多规格的选型,包括容量型、性能型以及更经济实惠的高级型NAS,这些全闪存规格的产品非常适合追求高性能和高性价比的用户。对于需要长期保存大量容器持久化数据和AI应用数据的用户,还推出了归档存储服务。在已有的低频数据分层基础上,进一步提供了更冷的归档存储选项,其价格在中国低至每月0.05/GB元。2024年文件存储NAS在成本方面的提升表现在高级型NAS的定位上,主要针对全闪介质,为用户提供了更高速的性能。

与传统的性能型规格相比,高级型NAS的定价0.85/GB元,相比性能型规格的每0.85/GB元,价格降低了54%。自高级型NAS上线以来,已经赢得了许多AI训练用户的青睐。在控制台中,可以选择高级型文件存储。这种存储类型在最大吞吐量(LPS)能力上与原有性能型规格保持一致,吞吐密度为每秒300KB。在性能和可用性方面,也在所有规格上进行了进一步的优化。因此,高级型是全闪类型的用户非常好的选择。对于生命周期能力的升级,2024年6月份已经全网发布了更海量的降低归档存储类型的存储类型,截至目前,整个通用型的文件存储,在热层布局了针对不同的业务负载,有更高性价比的容量型,能够普惠用户全场类型的高级和信任性,基于之上作出相应的策略。比如选择超过多长时间没有访问的数据,只需要通过几次点击和配置选择想要的生命周期的管理的策略,数据可以自动的转储到想要进一步的包含低频存储或归档存储的空间来帮助用户去节约成本,对于归档存储的类型,要求至少保存60天的存储规格。

同时,在归档存储和低频存储的发布、技术能力和用户体验上也做了全新的升级,上述非常具有低成本的数据存储类型,也支持用户的增删改查。当用户访问归档存储的时候,热存可以直接通过一定的策略的配置,转储到最低的归档存储的类型,整体的TCL成本可以为用户节省97%以上的存储成本,不需要解冻,可以直接读取里面归档数据。无论是在体验上,还是在数据读取的性能和成本上都做了非常大的突破。在文件存储接入容器应用的Serverless生态高性能低成本方面优化后,对于用户的实践应用尤为重要,尤其是作业帮这样的在线教育平台。他是在线教育的用户,是非常典型的在云原生运行在线教育AI类型的用户。

对于他的业务的特征,业务弹性的能力是非常强大的。对于波峰和波谷的挑战,比如教育的一些用户和教育资源,要短时间内去启动成千上万的应用pod。对于存储类型,需要能够非常强大快速做弹性的启动,快速做挂载,应用也不需要做任何的改造,这是云原生的数据存储类型,非常简单易用,在这方面也能够提供非常极致的性能。无论是海量的万级别的容器实例快速的弹性,还是在线教育和容器应用,在容器的生命周期非常短的情况下,对于存储数据的高效数据访问和高性能的数据处理,动态扩缩容存储的资源,文件存储NAS为作业帮的用户提供了很好的支撑。用户反馈云原生兼容的原生的存储类型,可以帮助用户即开即有,实现业务的敏捷上线和更极致的性能。以上是关于整个文件存储产品的提升。

 

二、Cloud Native+AI浪潮下的阿里云NAS技术创新

接下来分享在过去一年时间中,在AI和云原生方面NAS的技术创新。首先,在AI场景下存储的需求发生了哪些变化?第一在计算的规模上,传统的云原生的访问NAS的情况,基本上只有少数的计算节点,但在AI下面计算节点的规模已经到了数百甚至上千的规模,同时单个计算节点的带宽,有10倍的变化。

网络的流量原先可能是非常稳定的流量,但是在AI check point的情况下,整个带宽会面临着突发性的IO的流量,在延时和性能的可预期性上比原来有更高的要求。原来可能要吞吐,现在既要吞吐,还要保证延时的稳定。在AI的场景下整个存储的成本相比计算的成本是非常低的,更应该从存储的角度适配计算。在数据的敏感性和安全控制上面也提出了更高的要求。

接下来介绍案例讲述在技术上面怎么满足需求。

案例一:AI的训练任务。在突发型的情况下,对文件存储的技术挑战如何应对?首先,简单介绍AI训练的情况,它基本上是有数据集,带着原始的模型文件,做神经网络的前向传播后向传播,再生成一个新的模型文件,是上述持续的迭代的过程。

在此过程中,有显著的两个特点:

一是训练的时间要求尽可能地短。

二是在训练的过程中,读写会有冲击性的流量。

面对这些情况如何解决:

第一在避免热点访问的方案上,资源是磁化的,随着计算节点,能够感知底下存储服务的负载,通过不同的负载做快速的调度,避免一些热点。

第二在突发型流量的冲击下,存储系统的队列很容易造成堆积,如何让堆积的队列能够快速地消耗掉?一方面控制队列长度,另外一方面把一些超时的请求尽量做一些丢弃,减少无谓的IO放大,提升有效的吞吐请求,提升有效的吞吐能力。第三存储系统是多住的系统,多住的系统如何来保证不同的租户之间有隔离性?此时需要有性能隔离能力做公平的调度,避免用户请求会饿死确保每个租户都能获得性能服务。

案例二:渲染的场景。要求持续的高度吞吐下,同时又要保证延时可靠,这样的场景如何来解决问题?这两张图是在真实的场景遇到的,左边是在系统没有优化时,随着计算节点数的增加,延时是不断地增长,最后毛刺非常高,但经过优化之后,让整个延时控制在比较好的范围。

优化措施包括:

一是围绕有效吞吐的提升能力,通过IO的异步化,控制队列的长度,减少P99延时,提升有效的吞吐。

二是数据是多副本放置的,每一个副本都可以做独特访问,采用Round Robin策略,将请求分散到多个副本,避免数据热点访问。

三是在数据Catch上,包括数据布局和切片,尽量向计算侧靠近,以提升读取性能。在AI推理上,做ScaleOut吞吐的技术能力,AI推理和模型加载是一个典型场景,许多客户端几乎同时访问存储数据。从左边图可以看到,这是传统的访问路径,比如200B的模型文件大概400G,基本上是在几百G到数T之间的模型文件。计算节点会同时访问模型文件。

从存储的视角看,客户端同时访问存储文件,存储系统上会发生N次存储访问,对整个存储的带宽是比较大的挑战。如果所有计算节点全部加载起来,模型的容量大小乘以计算节点的个数再除以吞吐,这就是加载的时间。系统里整个的吞吐很容易成为瓶颈,因此,做了一系列的工作优化:右图是优化过的访问路径,模型文件只要在存储系统中加载一次,加载后再到计算端构建,通过计算端的内存构建一个分布式缓存。之前的计算端是从南北向的访问存储,把它转换成东西向的访问,实际上时间是有非常大的变化,只要模型文件除以存储系统读的吞吐,再加上计算侧的模型文件,除以单个计算节点的缓存吞吐,基本上是加载的时间。因此,右侧的方案随着计算节点不断地增加,它的加载时间是可控的,不是线性的增长。在真实的场景下,优化的时间基本上提升了计算节点的倍数,最大加载的时间左右。

接下来介绍计算端缓存的技术,计算端缓存实际上是弹性文件的客户端,弹性文件客户端是利用了计算侧的内存和磁盘构建分布式的缓存,这些缓存数据是切片的,切片的数据分布在计算节点上面,尤其是对于计算节点同时去访问同一组数据,提供了p2p的热点加速,实现聚合的吞吐带宽。

随着计算节点水平的扩展,也做了预取,尤其是像模型加载和推理场景,都是顺序读的场景,这种场景下做了预取能做到顺序读100%的缓存命中,在单机上单录的性能提升了5倍以上。在开启缓存之后,弹性文件客户端仍保持着NFS的close to open的语义,对整个上层的应用使用是透明的。除性能外,文件存储在安全隔离和成本控制上也提供了一些新的使用方式,以自动驾驶的训练场景为例,在自动驾驶训练上,很多个部门一起在使用文件存储,不同的部门会有不同的数据对应的不同的目录做训练。过程中,首先系统管理员会面临很大的挑战,不同的部门之间如何做数据安全的隔离,常用的做法是通过一些工具或者脚本,设置不同目录下面的user和group权限。

其次,从系统管理员的角度,他们需要控制不同部门使用的存储容量,并管理整体成本。在这一过程中,通常会使用一些传统的Linux命令,例如使用Du命令来查看不同目录下文件的大小和总量,以及使用Find命令来识别哪些文件是冷数据,哪些文件可能需要进行备份。这些操作都需要系统工程师通过命令行来执行,提高了操作的门槛。基于这些需求的洞察,提供了一种以目录为中心的新范式。

一方面,提供了Access Point,这是面向应用的功能。在一个应用中可能运行着多个容器,通过在Access Point上配置组权限,容器就可以通过Access Point访问底层的文件存储。

另一方面,在成本控制上,为每个目录配置了Quota,不仅包括存储容量,还包括文件数量,以此控制目录的使用限额。此外,还提供了统计功能和硬性限制,以帮助管理员更好地控制成本。提供了生命周期管理功能,允许用户根据数据的访问频率或冷热程度来配置数据的存储策略,既可以选择低频存储,也可以选择归档存储。

在NAS云原生场景下,总结了四个最佳实践方面:

一是挂载优化:传统上,许多客户通过NFS进行挂载,这涉及一些挂载参数,如Noresvport和Nconnect。以Nconnect为例,NFS单条连接通常只能提供500兆的吞吐量。使用Nconnect,可以通过多个TCP连接更有效地利用计算侧的带宽。

二是容器访问策略:当容器非共享地访问文件存储时,建议每个容器使用不同的目录进行访问。好处是可以避免共享目录中的锁和并发限制问题。

三是日志访问方式:在日志场景中用户使用Direct IO方式进行访问。建议在这些场景下尽量使用Buffered IO,通过聚合IO操作来访问文件存储。这样做的好处是文件存储对带宽更加友好,而IOPS则是一种更大的挑战。

四是可用性探针使用:对于文件存储可用性的探针,建议不必在每个容器上都设置探针。一个文件系统使用一个探针即可,这样可以减少访问的频度,提高效率。

总结云原生+AI浪潮下文件存储的技术创新:首先,在高并发下IO延时的稳定性上,把IO的延时尽量控制在个位数毫秒的范围内。其次,通过计算的缓存为文件存储提供在读方面可扩展的能力。再次,结合Access Point、Quota以及低频和归档,让整个存储运维变得更加简单。最后,通过挂载参数的优化,以及最佳实践来提升用户的体验。

相关文章
|
2月前
|
存储 人工智能 安全
CPFS深度解析:并行文件存储加速AI创新
在生成式AI的大潮中,并行文件系统作为高性能数据底座,为AI算力提供高吞吐、低延迟的数据存储服务。在本话题中,我们将介绍阿里云并行文件存储CPFS针对AI智算场景而提供的产品能力演进与更新,深入讲解在性能、成本、稳定、安全等方面的技术创新。
211 0
|
2月前
|
存储 Cloud Native 块存储
EBS深度解析:云原生时代企业级块存储
企业上云的策略,从 Cloud-Hosting 转向 Serverless 架构。块存储作为企业应用上云的核心存储产品,将通过 Serverless 化来加速新的计算范式全面落地。在本话题中,我们将会介绍阿里云块存储企业级能力的创新,深入解析背后的技术细节,分享对未来趋势的判断。
186 2
|
2月前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####
|
2月前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
2月前
|
Kubernetes Cloud Native 调度
云原生批量任务编排引擎Argo Workflows发布3.6,一文解析关键新特性
Argo Workflows是CNCF毕业项目,最受欢迎的云原生工作流引擎,专为Kubernetes上编排批量任务而设计,本文主要对最新发布的Argo Workflows 3.6版本的关键新特性做一个深入的解析。
|
2月前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
3月前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
92 0
|
1月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
1月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
2月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
64 3

热门文章

最新文章

推荐镜像

更多