WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

专栏文章 > 存储网络 > 正文
看文件系统结构如何降低NVMe性能
作者: George Crump 2019-01-02 17:21 【TechTarget中国】

通过改善物理接口以及增加命令数量和队列深度,NVMe可使存储基础架构充分利用基于闪存的存储。但同时NVMe也带来挑战:NVMe具有极高的延迟效率,因而可能暴露存储基础架构其他组件的弱点。而基础架构中任何薄弱环节都会增加延迟性并降低NVMe的价值。

在存储基础架构中,最容易出问题的是文件系统。现在供应商应该重新考虑文件系统结构。特别是,他们必须重新调整文件系统与NVMe存储的交互方式,以避免其成为主要瓶颈。

为何文件系统很重要?

通常情况下,支持AI和高速工作负载的文件系统是横向扩展。横向扩展文件系统通常由多个存储服务器或节点组成,文件系统会聚合每个节点的内部存储,并将其作为单个存储池,供用户和应用程序访问。传统文件系统也可以是横向扩展,但它们是串行的,这意味着所有I/O都会通过主节点,AI和高速工作负载很容易被淹没,从而造成瓶颈。这些工作负载主要采用并行文件系统结构,使群集中的任何节点都能为用户或应用程序提供I/O服务,这也可提高网络效率。

大多数NVMe存储系统都是针对块存储而设计。因此,它们可避免文件系统结构的性能开销。但是,在大多数情况下,文件系统会被添加到块存储系统中,以供AI和高速工作负载使用。大多数现代应用程序都依靠文件系统,特别是AI、机器学习和大数据分析处理等。

对于经过精心设计的基于​​块的NVMe存储系统,当添加文件系统时,仍然可能比基于块的SAS存储系统更快,不过,原始块存储和文件系统控制存储之间的性能下降会非常显着。因此,企业需要针对NVMe经过优化的文件系统。

基准测试看什么

供应商会使用多种文件系统基准测试来演示其功能。大多数这些测试都使用NVMe块存储和并行文件系统,例如IBM的Spectrum Scale文件系统。供应商可自由地使用各种配置来使其产品出现在图表顶部,而这可能会产生误导。

例如,在全球权威标准性能评估机构(Standard Performance Evaluation Corporation,SPEC)的SFS 2014基准评测中,顶级供应商在测试环境中的驱动器数量、驱动器类型和存储节点数量方面存在显着差异。在大多数情况下,硬件供应商正试图通过使用超过实际需求的硬件来降低文件系统结构开销,并提高价格-超出大多数企业可接受的范围。

其实真正重要的是,基于企业的工作负载类型和预算,硬件和文件系统的性能表现会如何。大多数公司没有无限的资金来创建完美的NVMe文件系统组合,因此IT专业人员应该寻找可实现所需结果的最简单配置。

文件系统看什么

● 文件系统性能主要有三个限制因素: 文件系统与存储节点通信效率如何;

● 文件系统能否有效管理连接各种存储节点的网络,以及与客户端通信的效率如何;

● 文件系统管理元数据访问的效率如何;

在大多数现代应用程序环境中,元数据占所有I/O的80%以上。

文件系统通常通过操作系统I/O堆栈与存储介质通信。大多数高级文件系统都基于Linux,并通过该堆栈进行通信。但Linux堆栈会增加开销。另一种方法是文件系统为基于NVMe的文件系统创建自己的I/O通道。在文件系统开发过程中,直接与驱动器通信非常困难,但这为文件系统用户提供了最佳机会来获得最大性能,而无需过度购买昂贵的硬件。

文件系统通常通过标准NFS协议与客户端通信。但NVMe还有一个网络版本:NVMe-oF。现代文件系统应提供软件,以便在客户端上运行并行的本机NVMe-oF访问。NVMe-oF还可用于互连各种存储节点。对于文件系统客户来说,这样做的结果是,文件系统可在直连存储延迟时提供访问便利性。

在全NVMe文件系统结构中,元数据访问基本上很快速,但元数据布局的方式必须高效,以便从NVMe的低延迟中受益。优化元数据性能意味着在文件系统集群中的所有节点上对其进行条带化,使没有任何节点会出现性能瓶颈。

如何最大化利用NVMe

与其他任何工作负载类型相比,AI和高速度用例可充分利用NVMe。 这些工作负载面临的挑战是应用程序通常通过文件系统访问存储。传统文件系统不会针对基于NVMe的驱动器优化其I/O。更快的节点硬件和NVMe驱动器可提供更高的性能,但文件系统结构不允许硬件充分发挥其潜力。

为避免此问题,企业应寻找可直接写入NVMe驱动器而不是通过操作系统的I/O堆栈写入的文件系统。同时,还应寻找使客户端能够跨NVMe-oF通信的文件系统,并以不会成为性能瓶颈的方式管理元数据。


标签:存储网络 

LecVideo