存储云

设计模型

以存储为中心的架构取决于具体的用例。本节讨论三个示例用例

  • 具有 RESTful 接口的对象存储

  • 使用并行文件系统的计算分析

  • 高性能数据库

具有 RESTful 接口的对象存储

下面的示例显示了一个没有高性能要求的 REST 接口。下图描述了示例架构

../_images/Storage_Object.png

该示例 REST 接口,呈现为运行在传统硬盘上的传统对象存储,不需要高性能缓存层。

此示例使用以下组件

网络

  • 10 GbE 水平可扩展的 spine leaf 后端存储和前端网络。

存储硬件

  • 10 台存储服务器,每台服务器配备 12x4 TB 磁盘,总空间为 480 TB,复制后可用空间约为 160 TB。

代理

  • 3 个代理

  • 2x10 GbE 绑定前端

  • 2x10 GbE 绑定后端

  • 后端存储集群的总带宽约为 60 Gb

注意

对于某些应用程序,可能需要实现第三方缓存层以实现适当的性能。

使用数据处理服务的计算分析

大型数据集的分析依赖于存储系统的性能。使用 Hadoop 分布式文件系统 (HDFS) 等存储系统的云存在效率低下,可能导致性能问题。

解决此问题的一种潜在方案是实施专为性能设计的存储系统。并行文件系统之前已在 HPC 领域满足此需求,并且适用于大规模面向性能的系统。

OpenStack 具有与 Hadoop 的集成,可以管理云中的 Hadoop 集群。下图显示了一个具有高性能要求的 OpenStack 存储

../_images/Storage_Hadoop3.png

硬件要求和配置与下面的高性能数据库示例类似。在这种情况下,该架构使用 Ceph 的 Swift 兼容 REST 接口,具有允许连接缓存池以加速呈现池的特性。

具有数据库服务的高性能数据库

数据库是一种常见的受益于高性能存储后端的工作负载。虽然企业级存储不是必需的,但许多环境都具有现有的 OpenStack 云可以使用的存储作为后端。您可以创建存储池,为实例提供 OpenStack 块存储的块设备以及对象接口。在此示例中,数据库 I/O 要求很高,需要从快速 SSD 池呈现存储。

存储系统呈现一个由一组 SSD 支持的 LUN,使用传统的存储阵列与 OpenStack 块存储集成,或使用 Ceph 或 Gluster 等存储平台。

该系统可以提供额外的性能。例如,在下面的数据库示例中,SSD 池的一部分可以充当数据库服务器的块设备。在高性能分析示例中,内联 SSD 缓存层加速了 REST 接口。

../_images/Storage_Database_%2B_Object5.png

在此示例中,Ceph 呈现一个 Swift 兼容的 REST 接口,以及来自分布式存储集群的块级别存储。它具有高度的灵活性,并具有支持降低运营成本的功能,例如自愈和自动平衡。使用擦除编码池是最大化可用空间的一种合适方法。

注意

擦除编码池存在特殊考虑因素。例如,更高的计算要求以及对对象允许的操作的限制;擦除编码池不支持部分写入。

以 Ceph 为例,潜在的架构将具有以下要求

网络

  • 10 GbE 水平可扩展的 spine leaf 后端存储和前端网络

存储硬件

  • 5 台用于缓存层的存储服务器,24x1 TB SSD

  • 10 台存储服务器,每台服务器配备 12x4 TB 磁盘,总空间为 480 TB,复制 3 次后可用空间约为 160 TB

REST 代理

  • 3 个代理

  • 2x10 GbE 绑定前端

  • 2x10 GbE 绑定后端

  • 后端存储集群的总带宽约为 60 Gb

使用 SSD 缓存层,您可以直接向 hypervisor 或实例呈现块设备。REST 接口也可以将 SSD 缓存系统用作内联缓存。

要求

存储要求

以存储为中心的 OpenStack 云必须解决 I/O 密集型工作负载。这些工作负载不是 CPU 密集型的,也不是持续的网络密集型的。网络可能会被大量利用来传输存储,但除此之外,它们不是网络密集型的。

存储硬件的选择决定了以存储为中心的 OpenStack 设计架构的整体性能和可扩展性。几个因素会影响设计过程,包括

延迟

以存储为中心的 OpenStack 云中的一个关键考虑因素是延迟。使用固态硬盘 (SSD) 以最大限度地减少延迟,并减少由于等待存储而导致的 CPU 延迟,可以提高性能。在计算主机中使用 RAID 控制器卡以提高底层磁盘子系统的性能。

扩展解决方案

根据存储架构,您可以采用扩展解决方案,或使用高度可扩展和可扩展的集中式存储阵列。如果集中式存储阵列满足您的要求,则阵列供应商决定硬件选择。可以使用商品硬件和开源软件构建存储阵列,但需要具有专业知识的人员来构建此类系统。

另一方面,使用直接附加存储 (DAS) 的扩展存储解决方案可能是一个合适的选择。这需要配置服务器硬件以支持存储解决方案。

影响以存储为中心的 OpenStack 云存储架构(以及相应的存储硬件)的考虑因素包括

连接性

确保连接性与存储解决方案的要求相匹配。我们建议确认网络特性可以最大限度地减少延迟,从而提高设计的整体性能。

延迟

确定用例是具有一致的延迟还是高度可变的延迟。

吞吐量

确保存储解决方案的吞吐量针对您的应用程序要求进行了优化。

服务器硬件

使用 DAS 会影响服务器硬件的选择,并影响主机密度、实例密度、功率密度、OS-hypervisor 和管理工具。

组件框图