27.3. 使用 Red Hat Gluster Storage 的持久性存储
27.3.1. 概述
Red Hat Gluster Storage 可以配置为为 OpenShift Container Platform 提供持久性存储和动态置备。它可用于 OpenShift Container Platform 中容器化(聚合模式)和在其自身节点上的非容器化(独立模式)。
27.3.1.1. 聚合模式
使用聚合模式时,Red Hat Gluster Storage 直接在 OpenShift Container Platform 节点上运行容器化。这允许调度计算和存储实例,并从同一组硬件上运行。
图 27.1. 架构 - 聚合模式
红帽 Gluster 存储 3.4 中提供了聚合模式。如需了解更多文档 ,请参阅 OpenShift Container Platform 聚合模式。
27.3.1.2. independent mode
使用独立模式,Red Hat Gluster Storage 在各自的专用节点上运行,并由 heketi 实例(GlusterFS 卷管理 REST 服务)的实例进行管理。这个 heketi 服务必须以容器化的形式运行,而不是作为单机运行。容器化允许简单的机制为服务提供高可用性。本文档重点介绍容器化 heketi 配置。
27.3.1.3. 独立 Red Hat Gluster Storage
如果您的环境中有独立 Red Hat Gluster Storage 集群,您可以使用 OpenShift Container Platform 的 GlusterFS 卷插件在该集群中使用卷。此解决方案是传统部署,其中应用程序在专用计算节点、OpenShift Container Platform 集群以及存储从自己的专用节点上运行。
图 27.2. 架构 - 使用 OpenShift Container Platform 的 GlusterFS 卷插件的独立红帽 Gluster 存储集群
有关红帽 Gluster 存储的更多信息,请参阅 Red Hat Gluster Storage 安装指南 和 Red Hat Gluster Storage 管理指南。
存储的高可用性功能由底层的存储架构提供。
27.3.1.4. GlusterFS 卷
GlusterFS 卷提供兼容 POSIX 的文件系统,由集群中的一个或多个节点上组成一个或多个"bricks"。brick 只是给定存储节点上的目录,通常是块存储设备的挂载点。GlusterFS 根据卷的配置,处理在给定卷的 brick 之间文件的分发和复制。
建议对大多数常见卷管理操作(如 create、delete 和 resize)使用 heketi。在使用 GlusterFS 置备程序时,OpenShift Container Platform 预期存在 heketi。默认情况下,创建属于三个ray 副本的卷,即每个文件在三个不同节点间有三个副本的卷。因此,建议任何由 heketi 使用的 Red Hat Gluster Storage 集群都至少提供三个节点。
有许多适用于 GlusterFS 卷的功能,但这些内容已超出本文档的范围。
27.3.1.5. Gluster-block 卷
Gluster 块卷是可通过 iSCSI 挂载的卷。这可以通过在现有 GlusterFS 卷上创建文件,然后通过 iSCSI 目标将该文件作为块设备进行。这种 GlusterFS 卷称为块托管卷。
Gluster-block 卷呈现一种利弊。被用作 iSCSI 目标,gluster-block 卷一次只能被一个节点/客户端挂载,它与 GlusterFS 卷相比,可由多个节点/客户端挂载。但是,在后端文件中,允许在 GlusterFS 卷上通常昂贵的操作(例如元数据查找)转换为 GlusterFS 卷上速度要快得多的操作(如读写)。这为某些工作负载带来潜在的显著性能改进。
如需有关 OpenShift Container Storage 和 OpenShift Container Platform 互操作性的更多信息,请参阅链接:OpenShift Container Storage 和 OpenShift Container Platform 互操作性列表。
27.3.1.6. Gluster S3 存储
Gluster S3 服务允许用户应用程序通过 S3 接口访问 GlusterFS 存储。服务绑定到两个 GlusterFS 卷,一个用于对象数据,一个用于对象元数据,并将传入的 S3 REST 请求转换为卷上的文件系统操作。建议您在 OpenShift Container Platform 中作为 pod 运行该服务。
目前,使用和安装 Gluster S3 服务处于技术预览状态。