第 1 章 Red Hat OpenStack Platform (RHOSP)中的持久性存储简介
在 Red Hat OpenStack Platform 中,存储由三个主要服务提供:
- 
					块存储(
openstack-cinder) - 
					Object Storage (
openstack-swift) - 
					共享文件系统存储(
openstack-manila) 
这些服务提供不同类型的持久性存储,每种存储在不同的用例中都有自己的一组优点。本指南讨论了用于一般企业存储要求的适用性。
您可以使用 RHOSP 仪表板或命令行客户端管理云存储。您可以使用任何方法执行大多数流程。但是,您只能在命令行中完成一些更高级的步骤。本指南尽可能为仪表板提供流程。
有关 Red Hat OpenStack Platform 文档的完整套件,请参阅 Red Hat OpenStack Platform 文档。
				本指南记录了使用 crudini 应用一些自定义服务设置。因此,您需要首先安装 crudini 软件包:
			
dnf install crudini -y
# dnf install crudini -y
RHOSP 识别两种类型的存储: 临时和持久 。临时存储是仅与特定 Compute 实例关联的存储。该实例终止后,是其临时存储。这种类型的存储可用于基本运行时要求,如存储实例的操作系统。
持久性存储 被设计为独立于任何正在运行的实例来存活(持久性)。此存储用于需要被不同实例或特定实例生命周期之外的任何数据。RHOSP 使用以下类型的持久性存储:
- 卷
 OpenStack 块存储服务(openstack-cinder)允许用户通过 卷 访问块存储设备。用户可以将卷附加到实例,以便使用通用持久性存储来增强其临时存储。卷可以在实例上分离和重新附加,只能通过它们所连接的实例访问。
您还可以将实例配置为不使用临时存储。您可以配置块存储服务来将镜像写入卷,而不使用临时存储。然后,您可以使用卷作为实例的可引导根卷。
卷还通过备份和快照提供固有冗余和灾难恢复。另外,您还可以加密卷以提高安全性。
- 容器
 OpenStack Object Storage 服务(openstack-swift)提供完全分布式的存储解决方案,用于存储任何类型的静态数据或二进制对象,如介质文件、大型数据集和磁盘镜像。对象存储服务通过使用容器来组织这些对象。
虽然卷的内容只能通过实例访问,但容器内的对象可以通过 Object Storage REST API 访问。因此,对象存储服务可以通过接近云中的每个服务用作存储库。
- 共享
 - 共享文件系统服务(openstack-manila)提供了轻松调配远程、可共享的文件系统 或共享的方法。共享允许云中的项目开放共享存储,并同时被多个实例使用。
 
每个存储类型都设计为满足特定的存储要求。容器是为广泛访问而设计的,例如,所有存储类型之间吞吐量、访问和容错能力的功能。对于服务,容器使用量更多。
另一方面,卷主要用于实例消耗。它们不享受与容器相同的访问和性能级别,但它们的功能集更大,并且具有比容器更多的原生安全功能。共享与卷类似,但可由多个实例使用。
以下章节会在特定存储标准的情况下详细讨论每种存储类型的架构和功能集。
1.1. 可扩展性和后端存储 复制链接链接已复制到粘贴板!
通常,集群存储解决方案提供更大的后端可扩展性。例如,当您将 Red Hat Ceph 用作 Block Storage (cinder)后端时,您可以通过添加更多 Ceph Object Storage Daemon (OSD)节点来扩展存储容量和冗余。块存储、Object Storage (swift)和共享文件系统服务(manila)服务支持 Red Hat Ceph Storage 作为后端。
块存储服务可以将多个存储解决方案用作离散后端。在后端级别,您可以通过添加更多后端并重启服务来扩展容量。块存储服务也具有大量受支持的后端解决方案列表,其中的一些解决方案具有额外的可扩展性功能。
默认情况下,对象存储服务使用配置的存储节点上的文件系统,并可使用尽可能多的空间。对象存储服务支持 XFS 和 ext4 文件系统,可以同时扩展为消耗尽可能多的底层块存储。您还可以通过向存储节点添加更多存储设备来扩展容量。
共享文件系统服务从由一个或多个第三方后端存储系统管理的指定存储池中置备文件共享。您可以通过增加服务可用的大小或多个第三方后端存储系统来扩展此共享存储。