1.8. 存储要求
Red Hat OpenStack Platform (RHOSP)部署中的存储指的是以下类型:
- 运行该服务所需的存储
- 服务管理的存储
在 Red Hat OpenStack Services on OpenShift (RHOSO)中部署服务前,您必须检查存储要求,规划您的 Red Hat OpenShift Container Platform (RHOCP)节点选择,准备您的 RHOCP 节点等。
1.8.1. 存储驱动程序认证 复制链接链接已复制到粘贴板!
在将 Red Hat OpenStack Platform 17.1 部署到 OpenShift (RHOSO) 18.0 部署之前,请确认部署的存储驱动程序已认证,以便与 RHOSO 18.0 搭配使用。
有关认证用于 RHOSO 18.0 的软件的详情,请查看 红帽生态系统目录。
1.8.2. 块存储服务指南 复制链接链接已复制到粘贴板!
准备采用您的块存储服务(cinder):
- 记录您使用的块存储服务后端。
- 确定块存储服务后端使用的所有传输协议,如 RBD、iSCSI、FC、NFS、NVMe-TCP 等。当放置块存储服务以及正确的存储传输相关二进制文件在 Red Hat OpenShift Container Platform (RHOCP)节点上运行时,您必须考虑它们。有关每个存储传输协议的更多信息,请参阅 RHOCP 准备块存储服务使用。
使用块存储服务卷服务部署每个块存储服务卷后端。
例如,您有一个 LVM 后端、Ceph 后端,以及
cinderVolumes
中的两个条目,并且您无法为所有卷服务设置全局默认值。您必须为每个服务定义一个服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告检查所有配置选项是否仍对 RHOSO 18.0 版本有效。配置选项可能已弃用、删除或添加。这适用于特定于后端驱动程序的配置选项和其他通用选项。
1.8.3. 使用块存储服务的限制 复制链接链接已复制到粘贴板!
在开始使用块存储服务(cinder)前,请查看以下限制:
-
所有块存储服务卷都没有全局
nodeSelector
选项。您必须为每个后端指定nodeSelector
。 -
所有块存储服务卷都没有全局
customServiceConfig
或customServiceConfigSecrets
选项。您必须为每个后端指定这些选项。 - 对需要 Red Hat Enterprise Linux 中包含的内核模块的块存储服务后端的支持没有在 OpenShift (RHOSO)上的 Red Hat OpenStack Services 中测试。
1.8.4. RHOCP 准备块存储服务采用 复制链接链接已复制到粘贴板!
在 Red Hat OpenShift Container Platform (RHOCP)节点中部署 Red Hat OpenStack Platform (RHOSP)之前,请确保网络已就绪,您决定要限制哪些 RHOCP 节点,并对 RHOCP 节点进行任何更改。
- 节点选择
您可能需要限制运行块存储服务卷和备份服务的 RHOCP 节点。
您需要限制特定块存储服务的节点的示例是使用 LVM 驱动程序部署块存储服务时。在这种情况下,卷仅存储在特定主机中的 LVM 数据,因此您需要将块存储卷服务固定到特定的 RHOCP 节点。在任何其他 RHOCP 节点上运行该服务不起作用。您不能使用 RHOCP 主机节点名称来限制 LVM 后端。您需要使用唯一标签、现有标签或新标签来识别 LVM 后端:
oc label nodes worker0 lvm=cinder-volumes
$ oc label nodes worker0 lvm=cinder-volumes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关节点选择的更多信息,请参阅关于节点选择器。
注意如果您的节点没有足够的本地磁盘空间用于临时镜像,您可以通过设置额外卷功能
extraMount
来使用远程 NFS 位置。- 传输协议
RHOCP 可能需要对存储传输协议进行一些更改:
-
如果您使用
MachineConfig
更改 RHOCP 节点,节点将重新引导。 -
检查
cinder.conf
文件中的enabled_backends
配置选项中列出的后端部分,以确定启用的存储后端部分。 -
根据后端,您可以通过查看
volume_driver
或target_protocol
配置选项来查找传输协议。 iscsid
服务、multipathd
服务和NVMe-TCP
内核模块在 data plane 节点上自动启动。- NFS
- RHOCP 在不进行其他更改的情况下连接到 NFS 后端。
- RADOS 块设备和 Red Hat Ceph Storage
- RHOCP 无需额外更改即可连接到红帽 Ceph 存储后端。您必须为服务提供凭证和配置文件。
- iSCSI
- 要连接到 iSCSI 卷,iSCSI 启动器必须在运行卷和备份服务的 RHOCP 主机上运行。Linux Open iSCSI 启动器不支持网络命名空间,因此您必须只针对正常的 RHOCP 使用运行一个服务实例,以及 RHOCP CSI 插件和 RHOSP 服务。
如果您还没有在 RHOCP 节点上运行
iscsid
,则必须应用MachineConfig
。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果使用标签来限制运行块存储服务的节点,则必须使用
MachineConfigPool
将MachineConfig
的影响限制为服务可能运行的节点。如需更多信息,请参阅关于节点选择器。 -
如果您使用单一节点部署来测试流程,请在
MachineConfig
中将worker
替换为master
。 - 对于使用 iSCSI 卷的生产环境部署,请配置多路径以获得更好的 I/O。
- FC
- 块存储服务卷和块存储服务备份服务必须在具有主机总线适配器(HBA)的 RHOCP 主机中运行。如果某些节点没有 HBA,则使用标签来限制这些服务的运行位置。如需更多信息,请参阅关于节点选择器。
- 如果您有使用 FC 的虚拟化 RHOCP 集群,则需要在虚拟机中公开主机 HBA。
- 对于使用 FC 卷的生产环境部署,请配置多路径以获得更好的 I/O。
- NVMe-TCP
- 要连接到 NVMe-TCP 卷,请在 RHOCP 主机上加载 NVMe-TCP 内核模块。
如果您还没有在运行卷和备份服务的 RHOCP 节点上加载
nvme-fabrics
模块,则必须应用MachineConfig
。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果使用标签来限制运行块存储服务的节点,请使用
MachineConfigPool
将MachineConfig
的影响限制为服务运行的节点。如需更多信息,请参阅关于节点选择器。 -
如果使用单一节点部署来测试流程,请在
MachineConfig
中将worker
替换为master
。 -
仅加载
nvme-fabrics
模块,因为它根据需要加载特定于传输的模块,如 TCP、RDMA 或 FC。 - 对于使用 NVMe-TCP 卷的生产环境部署,使用多路径来获得更好的 I/O。对于 NVMe-TCP 卷,RHOCP 使用原生多路径,称为 ANA。
在 RHOCP 节点重新引导并加载
nvme-fabrics
模块后,您可以通过检查主机来确认操作系统是否已配置,并支持 ANA:cat /sys/module/nvme_core/parameters/multipath
$ cat /sys/module/nvme_core/parameters/multipath
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ANA 不使用 Linux 多路径设备映射器,但 RHOCP 需要
multipathd
在 Compute 节点上运行,以便计算服务(nova)能够使用多路径。当多路径被置备时,会在 data plane 节点上自动配置多路径。
- 多路径(Multipathing)
对 iSCSI 和 FC 协议使用多路径。要在这些协议中配置多路径,您可以执行以下任务:
- 准备 RHOCP 主机
- 配置块存储服务
- 准备 Compute 服务节点
- 配置 Compute 服务
要准备 RHOCP 主机,请使用
MachineConfig
确保在 RHOCP 主机上配置并运行 Linux 多路径设备映射器。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果使用标签来限制运行块存储服务的节点,您需要使用
MachineConfigPool
将MachineConfig
的影响限制为服务运行的节点。如需更多信息,请参阅关于节点选择器。 -
如果您使用单一节点部署来测试流程,请在
MachineConfig
中将worker
替换为master
。 - Cinder 卷和备份默认配置为使用多路径。
-
如果您使用
1.8.5. 转换块存储服务配置 复制链接链接已复制到粘贴板!
在之前的部署中,您将对所有服务使用相同的 cinder.conf
文件。要准备块存储服务(cinder)配置以采用,请将此单文件配置分成各个块存储服务的单个配置。参阅以下信息来指导您完成之前的配置:
-
确定所有块存储服务的配置是通用的,并删除在 Red Hat OpenShift Container Platform (RHOCP)中部署时可能会更改的任何部分,如
[database]
部分中的连接
,即[DEFAULT]
部分中的transport_url
和log_dir
,整个[coordination]
和[barbican]
部分。剩余的通用配置进入customServiceConfig
选项或Secret
自定义资源(CR),然后在cinder: template:
level 的customServiceConfigSecrets
部分中使用。 -
确定是否有特定于调度程序的配置,并将其添加到
cinder: template: cinderScheduler
中的customServiceConfig
选项中。 -
确定是否有特定于 API 的配置,并将其添加到
cinder: template: cinderAPI
中的customServiceConfig
选项中。 -
如果部署了块存储服务备份,请将块存储服务备份配置选项添加到
customServiceConfig
选项,或添加到cinder: template: cinderBackup:
level 的customServiceConfigSecrets
部分的Secret
CR 中。删除[DEFAULT]
部分中的主机配置,以便稍后支持多个副本。 -
确定每个驱动程序的单个卷后端配置。配置位于特定的驱动程序部分,它使用
[backend_defaults]
部分和 FC zoning 部分(如果使用它们)。Block Storage Service operator 不支持所有卷服务的全局customServiceConfig
选项。每个后端在cinder: template: cinderVolumes
下都有自己的部分,并且配置位于customServiceConfig
选项或Secret
CR 中,然后在customServiceConfigSecrets
部分中使用。 如果任何块存储服务卷驱动程序需要自定义厂商镜像,请在 红帽生态系统目录 中找到镜像的位置,并使用
cinderVolumes
部分中的键创建或修改OpenStackVersion
CR 来指定自定义镜像。例如,如果您有以下配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 然后,描述该后端容器镜像的
OpenStackVersion
CR 类似以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意OpenStackVersion
的名称必须与OpenStackControlPlane
CR 的名称匹配。如果您的块存储服务使用外部文件(例如,对于自定义策略),或者存储凭证或 SSL 证书颁发机构捆绑包以连接到存储阵列,请将这些文件提供给正确的容器。使用
Secrets
或ConfigMap
将信息存储在 RHOCP 中,然后存储在extraMounts
键中。例如,对于存储在名为ceph-conf-files
的Secret
中的 Red Hat Ceph Storage 凭证,您可以在OpenstackControlPlane
CR 中修补顶级extraMounts
密钥:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于特定于服务的文件,如 API 策略,您可以在服务本身中添加配置。在以下示例中,您将包含
CinderAPI
配置来引用您要从名为my-cinder-conf
的ConfigMap
添加的策略,其具有策略
键,其内容如下:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.6. 通过 NFS 更改 CephFS 复制链接链接已复制到粘贴板!
本节中的内容 作为技术预览提供,因此不受红帽完全支持。它只应用于测试,不应部署在生产环境中。如需更多信息,请参阅 技术预览。
在开始采用前,请查看以下信息,以了解 Red Hat OpenStack Platform (RHOSP) 17.1 和 OpenShift (RHOSO) 18.0 上的 NFS 通过 NFS 的更改:
-
如果 RHOSP 17.1 部署通过 NFS 作为共享文件系统服务(manila)的后端,则无法将 RHOSP Controller 节点上的
ceph-nfs
服务直接导入到 RHOSO 18.0 中。在 RHOSO 18.0 中,共享文件系统服务只支持使用在 Red Hat Ceph Storage 集群上直接管理的集群的 NFS 服务。与ceph-nfs
服务搭配使用涉及对现有 NFS 客户端的数据路径中断。 -
在 RHOSP 17.1 上,Pacemaker 控制
ceph-nfs
服务的高可用性。此服务分配由 Pacemaker 管理的虚拟 IP (VIP)地址。VIP 通常在隔离的StorageNFS
网络上创建。Controller 节点在这个 VIP、ceph-nfs
和共享文件系统服务(manila)共享管理器服务之间建立排序和并置限制。在使用共享文件系统服务前,您必须调整 Pacemaker 排序和并置限制来分隔共享管理器服务。这将ceph-nfs
与其 VIP 建立为隔离的独立 NFS 服务,您可以在完成 RHOSO 应用后停用。 - 在 Red Hat Ceph Storage 7 中,在使用共享文件系统服务前,必须使用 Ceph Orchestrator 将原生集群的 Ceph NFS 服务部署到 Red Hat Ceph Storage 集群上。这个 NFS 服务最终会替换部署中 RHOSP 17.1 的独立 NFS 服务。当共享文件系统服务采用 RHOSO 18.0 环境时,它会对新的集群的 Ceph NFS 服务建立所有现有导出和客户端限制。客户端可以继续在现有 NFS 共享上读取和写入数据,并且在停用旧的独立 NFS 服务前不会受到影响。在服务停用后,您可以在计划停机期间从新集群的 Ceph NFS 服务重新挂载相同的共享。
-
为确保 NFS 用户不需要对现有工作负载进行任何网络更改,请将同一隔离的
StorageNFS
网络中的 IP 地址分配给集群的 Ceph NFS 服务。NFS 用户只需要使用新的导出路径发现和重新挂载其共享。采用完成后,RHOSO 用户可以查询共享文件系统服务 API,以列出现有共享上的导出位置,以识别挂载这些共享的首选路径。这些首选路径与新的集群 Ceph NFS 服务对应,这与继续显示的其他非首选导出路径相反,直到旧的隔离独立 NFS 服务停用为止。
有关设置集群的 NFS 服务的更多信息,请参阅创建 NFS Ganesha 集群。