搜索

1.3. 在超融合节点上配置资源隔离

download PDF

在超融合节点上查找 Ceph OSD 和计算服务的计算服务会给 Red Hat Ceph Storage 和 Compute 服务之间的资源争用风险,因为不知道同一主机上彼此的存在性。资源争用可能会导致服务降级,这会降低超聚合的益处。

您必须配置 Ceph 和计算服务的资源隔离,以防止争用。

流程

  1. 可选:通过在 Compute 环境文件中添加以下参数来覆盖自动生成的 Compute 设置:

    parameter_defaults:
      ComputeHCIParameters:
        NovaReservedHostMemory: <ram>
        NovaCPUAllocationRatio: <ratio>
  2. 要为 Red Hat Ceph Storage 保留内存资源,请在 /home/stack/templates/storage-container-config.yaml 中将参数 is_hci 设置为 true

    parameter_defaults:
      CephAnsibleExtraConfig:
        is_hci: true

    这允许 ceph-ansible 为 Red Hat Ceph Storage 保留内存资源,并通过为 HCI 部署自动调整 osd_memory_target 参数设置来减少 Ceph OSD 的内存增长。

    警告

    红帽不推荐直接覆盖 ceph_osd_docker_memory_limit 参数。

    注意

    从 ceph-ansible 3.2 开始,无论使用了 FileStore 还是 BlueStore 后端,ceph_osd_docker_memory_limit 会自动被设置为主机的最大内存。

  3. 可选: 默认情况下,ceph-ansible 为每个 Ceph OSD 预留一个 vCPU。如果每个 Ceph OSD 需要多个 CPU,请将以下配置添加到 /home/stack/templates/storage-container-config.yaml 中:

    parameter_defaults:
      CephAnsibleExtraConfig:
        ceph_osd_docker_cpu_limit: <cpu_limit>

    <cpu_limit > 替换为为每个 Ceph OSD 保留的 CPU 数量。

    有关如何根据您的硬件和工作负载调整 CPU 资源的更多信息,请参阅 Red Hat Ceph Storage 硬件选择指南

  4. 可选:通过在 Ceph 环境中添加以下参数来移除 Ceph OSD 时,红帽 Ceph 存储回填和恢复操作的优先级如下:

    parameter_defaults:
      CephConfigOverrides:
        osd_recovery_op_priority: <priority_value>
        osd_recovery_max_active: <no_active_recovery_requests>
        osd_max_backfills: <max_no_backfills>
    • <priority_value> 替换为与 OSD 客户端 OP 优先级相关的恢复操作的优先级。
    • <no_active_recovery_requests > 替换为每个 OSD 的活动恢复请求数。
    • <max_no_backfills > 替换为允许或从一个 OSD 中允许的最大回填数量。

      有关默认 Red Hat Ceph Storage 回填和恢复选项的更多信息,请参阅 Red Hat Ceph Storage回填和恢复操作

1.3.1. 为 Compute 服务保留的自动生成 CPU 和内存资源的流程

director 提供了一个默认的计划环境文件,用于在部署期间在超融合节点上配置资源限制。此计划环境文件指示 OpenStack 工作流完成以下进程:

  1. 检索在检查硬件节点期间所收集的硬件内省数据。
  2. 根据这些数据,计算在超融合节点上为计算的最佳 CPU 和内存分配工作负载。
  3. 自动生成配置这些约束所需的参数,并为 Compute 保留 CPU 和内存资源。这些参数在 plan-environment-derived-params.yaml 文件的 hci_profile_config 部分中定义。
注意

每个工作负载配置集中的 average_guest_memory_size_in_mb he average_guest_cpu_utilization_percentage 参数用于计算 Compute 的 reserved_host_memorycpu_allocation_ratio 设置的值。

您可以通过在 Compute 环境文件中添加以下参数来覆盖自动生成的 Compute 设置:

自动生成的 nova.conf 参数计算环境文件覆盖描述

reserved_host_memory

parameter_defaults:
  ComputeHCIParameters:
    NovaReservedHostMemory: 181000

设置应当为 Ceph OSD 服务和超融合节点上的每个客户端实例开销保留多少 RAM。

cpu_allocation_ratio

parameter_defaults:
  ComputeHCIParameters:
    NovaCPUAllocationRatio: 8.2

设置计算调度程序在选择在其上部署实例的计算节点时应使用的比率。

这些覆盖应用到所有使用 ComputeHCI 角色(即超融合节点)的节点。有关手动确定 NovaReservedHostMemoryNovaCPUAllocationRatio 的最佳值的更多信息,请参阅 OpenStack Workflow Compute CPU 和内存计算器

提示

您可以使用以下脚本为您的超融合节点计算合适的基准 NovaReservedHostMemoryNovaCPUAllocationRatio 值。

nova_mem_cpu_calc.py

1.3.2. Red Hat Ceph Storage 回填和恢复操作

移除 Ceph OSD 时,Red Hat Ceph Storage 使用回填和恢复操作来重新平衡集群。Red Hat Ceph Storage 这样做会根据放置组策略保留数据的多个副本。这些操作使用系统资源。如果 Red Hat Ceph Storage 集群负载较大,则其性能会断开,因为它会将资源分散到回填和恢复。

为了缓解这个性能在 OSD 移除过程中生效,您可以降低回填和恢复操作的优先级。这样做的代价是,数据副本更长的时间就越少,这样会使数据面临稍高的风险。

下表详述的参数用于配置回填和恢复操作的优先级。

参数描述默认值

osd_recovery_op_priority

设置恢复操作的优先级,相对于 OSD 客户端 OP 优先级。

3

osd_recovery_max_active

一次设置每个 OSD 的活动恢复请求数。更多请求可以加快恢复,但请求会增加集群上的负载。如果要降低延迟,则将其设置为 1。

3

osd_max_backfills

设置单个 OSD 允许的最大回填数量。

1

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.