现代数据中心的高性能对象存储挑战

对象存储适用于长期备份和归档。看看高性能功能是如何将其扩展到大规模、高容量的工作负载的。

对象存储最有趣的一个方面是其用途的多样性。虽然对象存储经常被用作存档存储区域、旧数据的目的地和生产文件服务器的替代,但实际上有很多方法可以应用它。随着供应商开始交付性能优化的对象存储,该技术已经为一组全新的工作负载做好了准备。

高性能对象存储不仅仅需要从基于硬盘的对象存储系统切换到全flash对象存储系统。转向全flash媒体当然有帮助,但是对象存储系统——这在很大程度上要归功于它们丰富的元数据——通常有太多的延迟,无法有效地利用flash性能。

创建高性能对象存储系统的另一个挑战是基础设施的扩展特性。为了满足产能需求,对象存储为存储集群添加节点。每个节点的容量被吸收到集群中,创建一个存储池。在大规模向外扩展的集群中,数十个(如果不是数百个)节点是很常见的。聚集和管理这些节点的延迟可能很高。

人工智能和深度学习对象存储挑战

大型、非结构化数据工作负载,例如人工智能、机器和深度学习,都是说明对象存储架构如何成为高性能工作负载问题的好例子。理论上,这些工作负载应该是对象存储的理想选择。他们有数百万,甚至数十亿的文件。存储所有这些数据需要大量的ssd或hdd,因此需要许多节点。这些流程也是由吞吐量驱动的。

所有这些因素结合在一起,使人工智能和深度学习为对象存储的典型高节点数存储集群量身定制。大多数框架,比如TensorFlow,驱动人工智能和机器学习的工作量,使用Amazon S3协议当与存储器通信时。大多数对象存储系统也是基于S3的,而且S3本身是高度并行的。从理论上讲,对象存储基础设施应该能够满足人工智能和机器或深度学习的工作量需求。

数据中心的对象存储和NAS

但这种方法需要的不仅仅是创建一个全flash对象存储系统。系统必须能够解决可能有数十个(如果不是数百个)节点的现实,而元数据以及集群管理也面临挑战。

应对元数据挑战

元数据是关于数据的数据,它对高性能对象存储来说是一个挑战,原因有两个。首先,对象存储系统需要更多的时间来管理其丰富的元数据。管理变得更加复杂,因为大多数对象存储供应商在集群中指定了选择的节点数量来管理和存储元数据。在人工智能和深度学习等工作负载中,专门的元数据控制器经常被元数据淹没,成为瓶颈。因此,闪存驱动器甚至硬盘驱动器不能发挥其全部潜力。

第二个元数据挑战是集群通信。大多数横向扩展的NAS或块存储系统的节点数相对较小。在NAS和块用例中,6个节点的存储集群被认为很大,但在许多对象存储部署中,6个节点被认为只是刚刚开始。节间通讯成为一个巨大的问题,尤其是在不涉及归档的用例性能是一个问题。

创建高性能、大规模的对象存储解决方案需要解决元数据性能和集群管理问题。

创建高性能、大规模的对象存储解决方案需要解决元数据性能和集群管理问题。下一代对象存储将元数据分布在集群的每个节点上,而不仅仅是几个控制器。元数据的分布确保了每个节点都拥有响应I/O请求所需的所有信息。

其他高性能对象存储问题

对象存储系统还必须解决节点间组网的问题。元数据的分布在这里很有帮助,因为它降低了东西流量。供应商必须优化他们的节点间网络,这样就不会造成性能瓶颈。更有可能的是,他们必须优化网络通信,以最小化传输频率。

需要优化的另一个领域是协议模拟。例如,大多数对象存储系统支持NFS协议。NFS支持非常关键,因为很多物联网设备不是原生S3,而是使用NFS。挑战在于,许多对象存储系统都安装在一个独立的组件上,该组件可以在NFS和S3之间转换,而不是在其软件中本地运行NFS。翻译的开销非常大,在高性能的情况下也会表现出来。

在对象存储代码中本地集成NFS可以实现更高的性能并同时访问相同的数据。并发访问意味着,物联网设备可以通过NFS将数据发送到对象存储卷,同时AI或深度学习框架可以通过S3对象处理数据,而无需复制或移动数据。

NAS的位置

NAS系统仍然可以在数据中心中发挥作用。他们现在处于两个极端之间。对象存储是长期归档和备份的理想选择,尽管高容量NAS仍然可以在备份存储市场上竞争。对象存储也适合作为文件服务器的替代品,以替代性能不是问题的用户主目录等工作负载。

高性能对象存储非常适合需要数十或数百个节点和数十pb容量的大规模工作负载。这些工作负载在I/O访问中也必须是吞吐量依赖的和高度并行的。介于这两个极端之间的是高性能、非结构化的数据工作负载,它们本质上是随机I/O,节点数处于低水平。在这些用例中,NAS可能仍然是更好的选择。

下一个步骤

九个原因采用对象级存储增加了

原因考虑对象存储架构

NAS与对象存储:什么是非结构化数据存储的最佳方式?

深入挖掘对象存储

搜索灾难复苏
搜索数据备份
搜索聚合基础设施
关闭
Baidu