4.7. 配置调度程序服务


块存储服务(cinder)有一个调度程序服务(cinderScheduler),它负责做出决策,例如选择哪个后端接收新卷,无论是否有足够的可用空间来执行操作,确定现有卷应移到某些特定操作的位置。

仅使用单个 cinderScheduler 实例来调度一致性并便于故障排除。虽然 cinderScheduler 可以使用多个实例运行,但服务默认 副本:1 是最佳实践。

流程

  1. 打开 OpenStackControlPlane CR 文件,openstack_control_plane.yaml
  2. 编辑 CR 文件,并添加服务下线检测超时的配置。

    以下示例演示了此配置:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    metadata:
      name: openstack
    spec:
      cinder:
        template:
          customServiceConfig: |
            [DEFAULT]
            report_interval = 20 
    1
    
            service_down_time = 120 
    2
    Copy to Clipboard Toggle word wrap
    1
    块存储服务组件之间的秒数,以心跳形式通过数据库报告操作状态。默认值为 10
    2
    从组件的最后一个心跳以来,其被视为无法正常工作的最大秒数。默认值为 60
    注意

    在 CR 的 cinder 级别配置这些值,而不是 cinderScheduler,以便这些值一致地应用到所有组件。

  3. 编辑 CR 文件并添加统计报告间隔的配置。

    以下示例演示了在 cinder 级别配置这些值以将其全局应用到所有服务:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    metadata:
      name: openstack
    spec:
      cinder:
        template:
          customServiceConfig: |
            [DEFAULT]
            backend_stats_polling_interval = 120 
    1
    
            backup_driver_stats_polling_interval = 120 
    2
    Copy to Clipboard Toggle word wrap
    1
    从卷对后端用量统计之间的请求间隔的秒数。默认值为 60
    2
    从卷对备份服务的用量统计之间的请求间隔秒数。默认值为 60

    以下示例演示了在 cinderVolumecinderBackup 级别上配置这些值,以便在服务级别自定义设置。

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    metadata:
      name: openstack
    spec:
      cinder:
        template:
          cinderBackup:
            customServiceConfig: |
              [DEFAULT]
              backup_driver_stats_polling_interval = 120 
    1
    
              < rest of the config >
          cinderVolumes:
            nfs:
              customServiceConfig: |
                [DEFAULT]
                backend_stats_polling_interval = 120 
    2
    Copy to Clipboard Toggle word wrap
    1
    从卷对后端用量统计之间的请求间隔的秒数。默认值为 60
    2
    从卷对备份服务的用量统计之间的请求间隔秒数。默认值为 60
    注意

    生成使用量统计可以是某些后端的资源密集型。设置这些值太低可能会影响后端性能。您可能需要调整这些设置的配置,以更好地适合个别后端。

  4. 执行自定义 cinderScheduler 服务所需的任何其他配置。

    有关自定义 cinderScheduler 服务的更多配置选项,请参阅 调度程序服务参数

  5. 保存该文件。
  6. 更新 control plane:

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

    $ oc get openstackcontrolplane -n openstack
    Copy to Clipboard Toggle word wrap

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

    提示

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

4.7.1. 调度程序服务参数

为配置块存储服务的 cinderScheduler 部分提供了调度程序服务参数

Expand
参数描述

debug

为日志记录级别提供设置。当此参数为 true 时,日志级别设置为 DEBUG,而不是 INFO。默认值为 false

scheduler_max_attempts

提供调度卷的最大尝试次数的设置。默认值为 3

scheduler_default_filters

提供一个设置,用于过滤在请求中未指定时用于过滤主机的类名称。这是一个以逗号分隔的列表。默认为 AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter

scheduler_default_weighers

为用于权衡主机的 weigher 类名称提供设置。这是一个以逗号分隔的列表。默认为 CapacityWeigher

scheduler_weight_handler

为处理程序提供设置,以便在权衡后选择主机或池。值 cinder.scheduler.weights.OrderedHostWeightHandler 从传递过滤的主机列表中选择第一个主机,以及值 cinder.scheduler.weights.stochastic.stochasticHostWeightHandler,每个池都会有几率与每个池权重成比例。默认为 cinder.scheduler.weights.OrderedHostWeightHandler

以下是参数表中的过滤器类名称的说明:

  • AvailabilityZoneFilter

    • 过滤掉所有不符合所请求卷的可用区要求的后端。
  • CapacityFilter

    • 仅选择具有足够空间的后端来容纳卷。
  • CapabilitiesFilter

    • 仅选择可以支持卷中任何指定设置的后端。
  • InstanceLocality

    • 将集群配置为使用到同一节点的 volumes local。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat