存储云¶
设计模型¶
以存储为中心的架构取决于具体的用例。本节讨论三个示例用例
具有 RESTful 接口的对象存储
使用并行文件系统的计算分析
高性能数据库
具有 RESTful 接口的对象存储¶
下面的示例显示了一个没有高性能要求的 REST 接口。下图描述了示例架构
该示例 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 存储
硬件要求和配置与下面的高性能数据库示例类似。在这种情况下,该架构使用 Ceph 的 Swift 兼容 REST 接口,具有允许连接缓存池以加速呈现池的特性。
具有数据库服务的高性能数据库¶
数据库是一种常见的受益于高性能存储后端的工作负载。虽然企业级存储不是必需的,但许多环境都具有现有的 OpenStack 云可以使用的存储作为后端。您可以创建存储池,为实例提供 OpenStack 块存储的块设备以及对象接口。在此示例中,数据库 I/O 要求很高,需要从快速 SSD 池呈现存储。
存储系统呈现一个由一组 SSD 支持的 LUN,使用传统的存储阵列与 OpenStack 块存储集成,或使用 Ceph 或 Gluster 等存储平台。
该系统可以提供额外的性能。例如,在下面的数据库示例中,SSD 池的一部分可以充当数据库服务器的块设备。在高性能分析示例中,内联 SSD 缓存层加速了 REST 接口。
在此示例中,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 和管理工具。