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