4.7. 配置卷服务


块存储服务(cinder)有一个卷服务(cinderVolumes 部分),它负责管理与卷、快照和组相关的操作。这些操作包括创建、删除和克隆卷,以及创建快照。

此服务需要访问 OpenStackControlPlane CR 的 networkAttachments 中的存储后端(存储)和存储管理(storageMgmt)网络。某些操作(如创建空卷或快照)不需要卷服务和存储后端之间的任何数据移动。然而,其他操作(如将数据从一个存储后端迁移到另一个存储后端)都要求数据通过卷服务进行访问。

卷服务配置在 cinderVolumes 部分中执行,其参数在 customServiceConfig , customServiceConfig Secrets,networkAttachments,replicas, 和 nodeSelector 部分中设置。

卷服务不能有多个副本。

流程

  1. 打开 OpenStackControlPlane CR 文件,openstack_control_plane.yaml
  2. 编辑 CR 文件并添加后端配置。

    以下示例演示了 Red Hat Ceph Storage 后端的服务配置:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    metadata:
      name: openstack
    spec:
      cinder:
        template:
          customServiceConfig: |
            [DEFAULT]
            debug = true
          cinderVolumes:
            ceph: 1
              networkAttachments: 2
              - storage
              customServiceConfig: |
                [ceph]
                volume_backend_name = ceph 3
                volume_driver = cinder.volume.drivers.rbd.RBDDriver 4
    1
    单个后端的配置区域。每个唯一的后端都需要单独的配置区域。默认不会部署后端。块存储服务卷服务将不会运行,除非部署期间至少配置了一个后端。有关配置后端的更多信息,请参阅 块存储服务(cinder)后端和 多个块存储服务(cinder)后端
    2
    后端网络连接的配置区域。
    3
    分配给此后端的名称。
    4
    用于连接到此后端的驱动程序。

    有关常用卷服务参数的列表,请参阅 卷服务参数

  3. 保存该文件。
  4. 更新 control plane:

    $ oc apply -f openstack_control_plane.yaml -n openstack
  5. 等待 RHOCP 创建与 OpenStackControlPlane CR 相关的资源。运行以下命令来检查状态:

    $ oc get openstackcontrolplane -n openstack

    当状态为 "Setup complete" 时,会创建 OpenStackControlPlane 资源。

    提示

    -w 选项附加到 get 命令的末尾,以跟踪部署进度。

4.7.1. 卷服务参数

提供了卷服务参数,用于配置块存储服务的 cinderVolumes 部分

参数描述

backend_availability_zone

为后端可用区提供设置。这是在 [DEFAULT] 部分中设置的。默认值为 storage_availability_zone

volume_backend_name

为给定驱动程序实施的后端名称提供设置。没有默认值。

volume_driver

提供用于创建卷的驱动程序的设置。它以特定类的 Python 命名空间的形式提供。没有默认值。

enabled_backends

为要使用的后端名称列表提供设置。这些后端名称应该由唯一 [CONFIG] 组及其选项来支持。这是以逗号分隔的值列表。默认值为带有 volume_backend_name 选项的部分名称。

image_conversion_dir

为在镜像转换过程中用于临时存储的目录提供设置。默认值为 /var/lib/cinder/conversion

backend_stats_polling_interval

提供设置,用于卷从存储后端发出用量统计之间的秒数。默认值为 60

4.7.2. 块存储服务(cinder)后端

每个块存储服务后端都应该在 cinderVolumes 部分中有一个单独的配置部分。这样可确保每个后端在专用 pod 中运行。这个方法有以下优点:

  • 增加隔离。
  • 添加和删除后端的速度会很快,不会影响其他正在运行的后端。
  • 配置更改不会影响其他正在运行的后端。
  • 自动将卷 pod 分散到不同的节点上。

每个块存储服务后端使用存储传输协议来访问卷中的数据。每个存储传输协议都有单独的要求,如 配置传输协议 中所述。存储协议信息还应在单独的供应商安装指南中提供。

注意

红帽建议使用独立 pod 配置每个后端。在基于 director 的 RHOSP 版本中,所有后端都在单个 cinder-volume 容器中运行。这不再是推荐的做法。

默认不会部署后端。块存储服务卷服务将不会运行,除非部署期间至少配置了一个后端。

所有存储供应商都提供一个安装指南,其中包含用于供应商驱动程序的最佳实践、部署配置和配置选项。这些安装指南提供了为部署正确配置卷服务所需的特定配置信息。红帽生态系统目录 中提供了安装指南。

有关集成和认证供应商驱动程序的更多信息,请参阅 集成合作伙伴内容

如需有关 Red Hat Ceph Storage 后端配置的信息,请参阅 集成 Red Hat Ceph Storage部署超融合基础架构环境

有关配置通用(非供应商特定)NFS 后端的详情,请参考 配置通用 NFS 后端

注意

红帽不推荐在生产环境中使用通用 NFS 驱动程序。

4.7.3. 多个块存储服务(cinder)后端

通过在 cinderVolumes 配置部分中添加多个独立条目来部署多个块存储服务后端。每个后端都在独立的 pod 中运行。

以下配置示例部署两个独立后端;一个用于 iSCSI,另一个用于 NFS:

apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
  name: openstack
spec:
  cinder:
    template:
      cinderVolumes:
        nfs:
          networkAttachments:
          - storage
          customServiceConfigSecrets:
          - cinder-volume-nfs-secrets
          customServiceConfig: |
        	[nfs]
        	volume_backend_name=nfs
        iSCSI:
          networkAttachments:
          - storage
          - storageMgmt
          customServiceConfig: |
        	[iscsi]
        	volume_backend_name=iscsi
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.