注意
本文档适用于 Ceph 的开发版本。
mClock 配置参考
Ceph 中的 QoS 支持是使用基于 dmClock 算法的排队调度程序实现的。有关详细信息,请参阅基于 mClock 的 QoS 部分。
为了使 mclock 的使用更加用户友好和直观,引入了 mclock 配置集。mclock 配置集向用户屏蔽了低级细节,使配置和使用 mclock 变得更加容易。
mclock 配置集需要以下输入参数来配置 QoS 相关参数:
每个 OSD 的总容量 (IOPS)(自动确定 - 请参阅OSD 容量确定(自动))
每个 OSD 的最大顺序带宽容量 (MiB/s) - 请参阅 osd_mclock_max_sequential_bandwidth_[hdd|ssd] 选项
要启用的 mclock 配置集类型
使用指定配置集中的设置,OSD 会确定并应用较低级别的 mclock 和 Ceph 参数。mclock 配置集应用的参数使得调整客户端 I/O 和 OSD 中后台操作之间的 QoS 成为可能。
mClock 客户端类型
mclock 调度程序处理来自不同类型 Ceph 服务的请求。从 mclock 的角度来看,每个服务都可以被视为一种客户端类型。根据处理的请求类型,mclock 客户端被分为如下表所示的存储桶,
客户端类型 |
请求类型 |
|---|---|
客户端 |
Ceph 外部客户端发出的 I/O 请求 |
后台恢复 |
内部恢复请求 |
后台尽力而为 |
内部回填、scrub、快照修剪和 PG 删除请求 |
mclock 配置集为每种客户端类型分配不同的参数,例如预留、权重和限制(请参阅基于 mClock 的 QoS)。接下来的部分将更详细地描述 mclock 配置集。
mClock 配置集 - 定义和目的
mclock 配置集是 “一种配置设置,当应用于正在运行的 Ceph 集群时,它允许对属于不同客户端类别(后台恢复、scrub、快照修剪、客户端操作、osd 子操作)的操作 (IOPS) 进行限流”。
mclock 配置集使用容量限制和用户选择的 mclock 配置集类型来确定低级 mclock 资源控制配置参数并透明地应用它们。此外,还应用了其他 Ceph 配置参数。请参阅以下部分了解更多信息。
低级 mclock 资源控制参数是 reservation(预留)、limit(限制)和 weight(权重),它们提供对资源份额的控制,如基于 mClock 的 QoS 部分所述。
mClock 配置集类型
mclock 配置集大致可分为 built-in(内置)和 custom(自定义)配置集,
内置配置集
用户可以在以下内置配置集类型之间进行选择
注意
下表中的值表示为服务类型分配的 OSD 总 IOPS 容量的比例。
balanced (默认)
high_client_ops
high_recovery_ops
balanced(default)
balanced(平衡)配置集是默认的 mClock 配置集。此配置集为客户端操作和后台恢复操作分配相同的预留/优先级。后台尽力而为的操作被赋予较低的预留,因此当存在竞争操作时,需要更长的时间才能完成。此配置集有助于满足集群的正常/稳定状态要求。这是在外部客户端性能要求不关键且 OSD 中仍需要关注其他后台操作的情况下。
但可能存在需要为客户端操作或恢复操作分配更高资源的情况。为了处理这种情况,可以通过执行下一部分中提到的步骤来启用备用内置配置集。
服务类型 |
预留 |
权重 |
限制 |
|---|---|---|---|
client |
50% |
1 |
MAX |
后台恢复 |
50% |
1 |
MAX |
后台尽力而为 |
MIN |
1 |
90% |
high_client_ops
此配置集通过为客户端操作分配比 OSD 中后台操作更多的预留和限制来优化客户端性能。例如,可以启用此配置集,以牺牲较慢的恢复速度为代价,为 I/O 密集型应用程序提供所需的性能,并持续一段时间。下表显示了配置集设置的资源控制参数
服务类型 |
预留 |
权重 |
限制 |
|---|---|---|---|
client |
60% |
2 |
MAX |
后台恢复 |
40% |
1 |
MAX |
后台尽力而为 |
MIN |
1 |
70% |
high_recovery_ops
此配置集与 OSD 中的外部客户端和其他后台操作相比,优化了后台恢复性能。例如,管理员可以在非高峰时段临时启用此配置集,以加快后台恢复速度。下表显示了配置集设置的资源控制参数
服务类型 |
预留 |
权重 |
限制 |
|---|---|---|---|
client |
30% |
1 |
MAX |
后台恢复 |
70% |
2 |
MAX |
后台尽力而为 |
MIN |
1 |
MAX |
注意
在内置配置集中,mclock 的内部后台尽力而为客户端包括“回填”、“scrub”、“快照修剪”和“PG 删除”操作。
自定义配置集
此配置集使用户能够完全控制所有 mclock 配置参数。应谨慎使用此配置集,它适用于了解 mclock 和 Ceph 相关配置选项的高级用户。
使用 mClock 的 HDD 集群 OSD 分片配置
每个 OSD 配置有一个或多个分片来执行任务。每个分片包含一个唯一的队列来处理各种类型的 OSD 特定操作,例如客户端 I/O、恢复、scrub 等。队列中这些操作的调度由调度程序执行 - 在本例中为 mClock 调度程序。
对于基于 HDD 的 OSD,分片数量由配置选项 osd_op_num_shards_hdd 控制。项目由一个或多个工作线程排队和出队,这由配置选项 osd_op_num_threads_per_shard_hdd 控制。
如注意事项中所述,所使用的 OSD 分片数量决定了 mClock 队列的影响。通常,分片数量越少,mClock 队列在调度准确性方面的影响就越大。前提是每个分片有足够数量的工作线程来帮助处理 mClock 队列中的项目。
根据在基于 HDD 的集群(192 个 OSD,8 个节点,1.5 亿个对象)上对 [1 KiB - 256 KiB] 范围的小对象进行的大规模测试,发现使用多个 OSD 分片进行 mClock 调度不是最佳的。例如,在此集群中,在多个 OSD 节点故障期间,发现在测试运行中客户端吞吐量不一致,并且报告了多个慢速请求。有关详细信息,请参阅 https://tracker.ceph.com/issues/66289。在有多个分片的情况下,当 MAX 限制分配给客户端和后台恢复操作类别时,情况会更加恶化。在 OSD 故障阶段,由于客户端和恢复操作都在直接竞争以利用 OSD 的全部带宽,因此任一服务类别的吞吐量都没有可预测性。
然而,在相同的测试中,使用单个 OSD 分片和多个工作线程,在多次测试运行中,客户端和恢复吞吐量的一致性方面产生了显着更好的结果。请参阅上面的跟踪器了解更多详细信息。为了确保正确性,使用此分片配置对 [1 MiB - 256 MiB] 范围内的大对象执行的相同测试产生了类似的结果。
因此,作为在调查和修复多个 OSD 分片(或每个 OSD 多个 mClock 队列)问题之前的一项临时措施,对默认 HDD OSD 分片配置进行了以下更改
配置选项 |
旧默认值 |
新默认值 |
|---|---|---|
5 |
1 |
|
1 |
5 |
mClock 内置配置集 - 锁定配置选项
以下部分描述了锁定为某些值的配置选项,以确保 mClock 调度程序能够提供可预测的 QoS。
mClock 配置选项
重要
这些默认值不能使用任何配置子系统命令(如 config set)或通过 config daemon 或 config tell 接口更改。尽管上述命令报告成功,但 mclock QoS 参数将恢复为各自内置配置集的默认值。
启用内置配置集后,mClock 调度程序会根据为每种客户端类型启用的配置集计算低级 mclock 参数 [reservation, weight, limit]。mclock 参数是根据预先提供的最大 OSD 容量计算的。因此,在使用任何内置配置集时,以下 mclock 配置参数无法修改
恢复/回填选项
警告
建议不要更改这些选项,因为内置配置集是根据它们进行优化的。更改这些默认值可能会导致意外的性能结果。
以下与恢复和回填相关的 Ceph 选项将被 mClock 默认值覆盖
下表显示了 mClock 默认值,与当前默认值相同。这样做是为了最大化前台(客户端)操作的性能
配置选项 |
原始默认值 |
mClock 默认值 |
|---|---|---|
1 |
1 |
|
0 |
0 |
|
3 |
3 |
|
10 |
10 |
只有在必要时才能修改上述 mClock 默认值,方法是启用 osd_mclock_override_recovery_settings(默认值:false)。修改步骤在修改 mClock 最大回填/恢复限制的步骤部分中讨论。
休眠选项
如果任何 mClock 配置集(包括“custom”)处于活动状态,则以下 Ceph 配置休眠选项将被禁用(设置为 0),
禁用上述休眠选项是为了确保 mclock 调度程序能够确定何时从其操作队列中取出下一个操作并将其传输到操作序列器。这会使其所有客户端都能提供所需的 QoS。
启用 mClock 配置集的步骤
如前所述,默认 mclock 配置集设置为 balanced。内置配置集的其他值包括 high_client_ops 和 high_recovery_ops。
如果需要更改默认配置集,则可以使用以下命令在运行时设置选项 osd_mclock_profile
ceph config set osd.N osd_mclock_profile <value>
例如,要更改配置集以允许“osd.0”进行更快的恢复,可以使用以下命令切换到 high_recovery_ops 配置集
ceph config set osd.0 osd_mclock_profile high_recovery_ops
注意
除非您是高级用户,否则不建议使用 custom 配置集。
就是这样!您已准备好在集群上运行工作负载并检查 QoS 要求是否得到满足。
在内置和自定义配置集之间切换
可能需要从内置配置集切换到 custom 配置集,反之亦然。以下部分概述了完成此操作的步骤。
从内置配置集切换到自定义配置集的步骤
可以使用以下命令切换到 custom 配置集
ceph config set osd osd_mclock_profile custom
例如,要将所有 OSD 的配置集更改为 custom,可以使用以下命令
ceph config set osd osd_mclock_profile custom
切换到 custom 配置集后,可以修改所需的 mClock 配置选项。例如,要将特定 OSD(例如 osd.0)的客户端预留 IOPS 比例更改为 0.5(或 50%),可以使用以下命令
ceph config set osd.0 osd_mclock_scheduler_client_res 0.5
重要
必须注意相应地更改恢复和后台尽力而为等其他服务的预留,以确保预留总和不超过 OSD IOPS 容量的最大比例 (1.0)。
提示
预留和限制参数分配基于每个分片,具体取决于 OSD 下的后端设备类型 (HDD/SSD)。有关详细信息,请参阅 osd_op_num_shards_hdd 和 osd_op_num_shards_ssd。
从自定义配置集切换到内置配置集的步骤
从 custom 配置集切换到内置配置集需要一个中间步骤,即从中央配置数据库中删除自定义设置才能使更改生效。
可以使用以下命令序列切换到内置配置集
使用以下命令设置所需的内置配置集
ceph config set osd <mClock Configuration Option>例如,要在所有 OSD 上将内置配置集设置为
high_client_ops,请运行以下命令ceph config set osd osd_mclock_profile high_client_ops使用以下命令确定中央配置数据库中现有的自定义 mClock 配置设置
ceph config dump从中央配置数据库中删除上一步中确定的自定义 mClock 配置设置
ceph config rm osd <mClock Configuration Option>例如,要删除在所有 OSD 上设置的配置选项
osd_mclock_scheduler_client_res,请运行以下命令ceph config rm osd osd_mclock_scheduler_client_res从中央配置数据库中删除所有现有的自定义 mClock 配置设置后,属于
high_client_ops的配置设置将生效。例如,要验证 osd.0 上的设置,请使用ceph config show osd.0
在 mClock 配置集之间临时切换
要临时在 mClock 配置集之间切换,可以使用以下命令覆盖设置
警告
本节适用于高级用户或实验性测试。建议不要在正在运行的集群上使用以下命令,因为它可能会产生意外结果。
注意
使用以下命令对 OSD 所做的配置更改是短暂的,并且在 OSD 重新启动时会丢失。同样重要的是要注意,使用以下命令覆盖的配置选项不能使用 ceph config set osd.N … 命令进一步修改。更改在给定的 OSD 重新启动之前不会生效。这是有意的,符合配置子系统设计。但是,仍然可以使用下面提到的命令以短暂方式进行任何进一步的修改。
运行 injectargs 命令以覆盖 mclock 设置,如所示
ceph tell osd.N injectargs '--<mClock Configuration Option>=<value>'例如,以下命令覆盖 osd.0 上的
osd_mclock_profile选项ceph tell osd.0 injectargs '--osd_mclock_profile=high_recovery_ops'可以使用的备用命令是
ceph daemon osd.N config set <mClock Configuration Option> <value>例如,以下命令覆盖 osd.0 上的
osd_mclock_profile选项ceph daemon osd.0 config set osd_mclock_profile high_recovery_ops
custom 配置集的各个 QoS 相关配置选项也可以使用上述命令短暂修改。
修改 mClock 最大回填/恢复限制的步骤
本节介绍在需要时修改默认最大回填或恢复限制的步骤。
警告
本节适用于高级用户或实验性测试。建议在正在运行的集群上保留默认设置,因为修改它们可能会产生意外的性能结果。仅当集群无法应对/在默认设置下表现不佳或在测试集群上进行实验时才可修改这些值。
重要
可以修改的最大回填/恢复选项列在恢复/回填选项部分中。mClock 默认回填/恢复限制的修改由 osd_mclock_override_recovery_settings 选项控制,该选项默认设置为 false。尝试修改任何默认恢复/回填限制而不设置控制选项将使该选项重置为 mClock 默认值,并在集群日志中记录警告消息。请注意,默认值可能需要几秒钟才能重新生效。使用 config show 命令验证限制,如下所示。
使用以下命令将所有 osd 上的
osd_mclock_override_recovery_settings配置选项设置为 trueceph config set osd osd_mclock_override_recovery_settings true使用以下命令设置所需的 max backfill/recovery 选项
ceph config set osd osd_max_backfills <value>例如,以下命令将所有 osd 上的
osd_max_backfills选项修改为 5。ceph config set osd osd_max_backfills 5等待几秒钟,并使用以下命令验证特定 OSD 的正在运行的配置
ceph config show osd.N | grep osd_max_backfills例如,以下命令显示 osd.0 上
osd_max_backfills的正在运行的配置。ceph config show osd.0 | grep osd_max_backfills使用以下命令将所有 osd 上的
osd_mclock_override_recovery_settings配置选项重置为 falseceph config set osd osd_mclock_override_recovery_settings false
OSD 容量确定(自动)
OSD 的总 IOPS 容量在 OSD 初始化期间自动确定。这是通过运行 OSD bench 工具并根据设备类型覆盖 osd_mclock_max_capacity_iops_[hdd, ssd] 选项的默认值来实现的。用户无需执行其他操作/输入来设置 OSD 容量。
注意
如果您想手动测试 OSD 或手动调整 Bluestore 限流参数,请参阅手动测试 OSD 的步骤(可选)部分。
集群启动后,您可以使用以下命令验证 OSD 的容量
ceph config show osd.N osd_mclock_max_capacity_iops_[hdd, ssd]
例如,以下命令显示底层设备类型为 SSD 的 Ceph 节点上“osd.0”的最大容量
ceph config show osd.0 osd_mclock_max_capacity_iops_ssd
减轻自动测试中不切实际的 OSD 容量
在某些情况下,OSD bench 工具可能会根据驱动器配置和其他环境相关条件显示不切实际/夸大的结果。为了减轻由这种不切实际的容量引起的性能影响,定义并使用了几个阈值配置选项,具体取决于 osd 的设备类型
执行以下自动步骤
回退到使用默认 OSD 容量(自动)
如果 OSD bench 报告的测量值超过上述阈值(具体取决于底层设备类型),则回退机制将恢复为 osd_mclock_max_capacity_iops_hdd 或 osd_mclock_max_capacity_iops_ssd 的默认值。可以根据使用的驱动器类型重新配置阈值配置选项。此外,如果测量值超过阈值,则会记录集群警告。例如,
2022-10-27T15:30:23.270+0000 7f9b5dbe95c0 0 log_channel(cluster) log [WRN]
: OSD bench result of 39546.479392 IOPS exceeded the threshold limit of
25000.000000 IOPS for osd.1. IOPS capacity is unchanged at 21500.000000
IOPS. The recommendation is to establish the osd's IOPS capacity using other
benchmark tools (e.g. Fio) and then override
osd_mclock_max_capacity_iops_[hdd|ssd].
如果默认容量不能准确代表 OSD 的容量,建议采取以下额外步骤来解决此问题
如果默认值不准确,则运行自定义驱动器测试(手动)
如果默认 OSD 容量不准确,建议使用首选工具(例如 Fio)对驱动器运行自定义测试,然后如设置或覆盖 OSD 的最大 IOPS 容量部分所述覆盖 osd_mclock_max_capacity_iops_[hdd, ssd] 选项。
在制定替代机制之前,强烈建议执行此步骤。
手动测试 OSD 的步骤(可选)
注意
仅当您想覆盖在 OSD 初始化期间自动确定的 OSD 容量时才需要这些步骤。否则,您可以完全跳过本节。
提示
如果您已经确定了测试数据并希望手动覆盖 OSD 的最大 OSD 容量,您可以跳到设置或覆盖 OSD 的最大 IOPS 容量部分。
任何现有的基准测试工具(例如 Fio)都可以用于此目的。在本例中,这些步骤使用下一节中描述的 Ceph OSD Bench 命令。无论使用哪种工具/命令,下面概述的步骤都保持不变。
如基于 mClock 的 QoS 部分所述,分片数量和 bluestore 的限流参数对 mclock 操作队列有影响。因此,仔细设置这些值对于最大限度地发挥 mclock 调度程序的影响至关重要。
- 操作分片数量:
我们建议使用配置选项
osd_op_num_shards、osd_op_num_shards_hdd和osd_op_num_shards_ssd定义的默认分片数量。通常,较少的分片数量会增加 mclock 队列的影响。- Bluestore 限流参数:
我们建议使用
bluestore_throttle_bytes和bluestore_throttle_deferred_bytes定义的默认值。但这些参数也可以在基准测试阶段确定,如下所述。
OSD Bench 命令语法
OSD 子系统部分描述了 OSD bench 命令。用于基准测试的语法如下所示
ceph tell osd.N bench [TOTAL_BYTES] [BYTES_PER_WRITE] [OBJ_SIZE] [NUM_OBJS]
其中,
TOTAL_BYTES:要写入的总字节数BYTES_PER_WRITE:每次写入的块大小OBJ_SIZE:每个对象的字节数NUM_OBJS:要写入的对象数
使用 OSD Bench 进行基准测试的步骤
以下步骤使用默认分片并详细介绍了用于确定正确的 bluestore 限流值(可选)的步骤。
启动您的 Ceph 集群并登录到托管您希望进行基准测试的 OSD 的 Ceph 节点。
使用以下命令在 OSD 上运行简单的 4KiB 随机写入工作负载
注意
请注意,在运行测试之前,必须清除缓存以获得准确的测量结果。
例如,如果您正在 osd.0 上运行基准测试,请运行以下命令
ceph tell osd.0 cache dropceph tell osd.0 bench 12288000 4096 4194304 100记下从 osd bench 命令输出中获得的总体吞吐量 (IOPS)。当默认 bluestore 限流选项生效时,此值是基线吞吐量 (IOPS)。
如果目的是确定您的环境的 bluestore 限流值,则将两个选项
bluestore_throttle_bytes和bluestore_throttle_deferred_bytes都设置为 32 KiB(32768 字节)开始。否则,您可以跳到下一节。像以前一样使用 OSD bench 运行 4KiB 随机写入测试。
记下输出中的总体吞吐量,并将该值与步骤 3 中记录的基线吞吐量进行比较。
如果吞吐量与基线不匹配,则将 bluestore 限流选项增加 2 倍,并重复步骤 5 到 7,直到获得的吞吐量非常接近基线值。
例如,在配备 NVMe SSD 的机器上进行基准测试期间,确定 bluestore 限流和延迟字节的值为 256 KiB,以最大限度地发挥 mclock 的影响。对于 HDD,相应的值为 40 MiB,其中总体吞吐量大致等于基线吞吐量。请注意,通常对于 HDD,bluestore 限流值预计会高于 SSD。
设置或覆盖 OSD 的最大 IOPS 容量
可以执行本节中的步骤来设置或覆盖 OSD 的最大 IOPS 容量。可以通过运行以下形式的命令来覆盖 OSD 的 osd_mclock_max_capacity_iops_[hdd, ssd] 选项
ceph config set osd.N osd_mclock_max_capacity_iops_[hdd,ssd] <value>
例如,以下命令将底层设备类型为 HDD 的特定 OSD(例如“osd.0”)的最大容量设置为 350 IOPS
ceph config set osd.0 osd_mclock_max_capacity_iops_hdd 350
或者,您可以在 Ceph 配置文件中各自的 [osd.N] 部分下指定 OSD 的最大容量。有关详细信息,请参阅配置文件部分名称。
全局覆盖多个 OSD 的最大 IOPS 容量
可以通过全局配置规范来覆盖多个 OSD 的最大 IOPS 容量。本节展示了全局覆盖 mon store 中单独范围值的步骤。
注意
示例使用
osd_mclock_max_capacity_iops_hdd,这些步骤也适用于基于 SSD 的 OSD,在这种情况下,要使用的选项是osd_mclock_max_capacity_iops_ssd。
以下是覆盖单个 OSD 的 IOPS 容量的步骤。请注意,单个值是在 OSD 运行通常的启动基准测试后由 OSD 获取的。
运行以下命令以验证中央配置数据库中为 OSD 设置的单个值
ceph config dump | grep osd_mclock_max_capacity_iopsWHO MASK LEVEL OPTION VALUE RO osd.0 basic osd_mclock_max_capacity_iops_hdd 379.197568 osd.1 basic osd_mclock_max_capacity_iops_hdd 400.903575 osd.2 basic osd_mclock_max_capacity_iops_hdd 398.303428 osd.3 basic osd_mclock_max_capacity_iops_hdd 419.035854
如果未报告单个值,请跳到下一步。否则,使用以下形式的命令删除上一步中报告的所有单个值(其中“x”是 OSD ID)
ceph config rm osd.x osd_mclock_max_capacity_iops_hdd确认步骤 1 中的 ceph config dump 命令未显示任何单个值。
使用以下形式的命令设置 osd_mclock_max_capacity_iops_hdd 的全局值
ceph config set global osd_mclock_max_capacity_iops_hdd 111通过运行以下命令确认设置了全局选项
ceph config dump | grep osd_mclock_max_capacity_iopsglobal basic osd_mclock_max_capacity_iops_hdd 111.000000
确认全局设置对不再具有特定每 OSD 中央配置设置的任何 OSD 生效
ceph config show osd.0 | grep osd_mclock_max_capacity_iops_hddosd_mclock_max_capacity_iops_hdd 111.000000 mon
mClock 配置选项
- osd_mclock_profile
这设置了用于根据属于不同类别(后台恢复、scrub、快照修剪、客户端操作、osd 子操作)的操作提供 QoS 的 mclock 配置集类型。一旦启用了内置配置集,低级 mclock 资源控制参数 [reservation, weight, limit] 和一些 Ceph 配置参数就会被透明地设置。请注意,上述内容不适用于 custom 配置集。
- 类型:
str- 默认值:
balanced- 有效选项:
balancedhigh_recovery_opshigh_client_opscustom
- 另请参阅:
- osd_mclock_max_capacity_iops_hdd
每个 OSD 要考虑的最大随机写入 IOPS 容量(4 KiB 块大小)(用于旋转介质)
- 类型:
float- 默认值:
315.0
- osd_mclock_max_capacity_iops_ssd
每个 OSD 要考虑的最大随机写入 IOPS 容量(4 KiB 块大小)(用于固态介质)
- 类型:
float- 默认值:
21500.0
- osd_mclock_max_sequential_bandwidth_hdd
OSD 要考虑的最大顺序带宽(字节/秒)(用于旋转介质)
- 类型:
大小- 默认值:
150Mi
- osd_mclock_max_sequential_bandwidth_ssd
OSD 要考虑的最大顺序带宽(字节/秒)(用于固态介质)
- 类型:
大小- 默认值:
1200Mi
- osd_mclock_force_run_benchmark_on_init
在 OSD 初始化/启动时强制运行 OSD 基准测试
- 类型:
bool- 默认值:
false- 另请参阅:
osd_mclock_max_capacity_iops_hdd,osd_mclock_max_capacity_iops_ssd
- osd_mclock_skip_benchmark
在 OSD 初始化/启动时跳过 OSD 基准测试
- 类型:
bool- 默认值:
false- 另请参阅:
osd_mclock_max_capacity_iops_hdd,osd_mclock_max_capacity_iops_ssd
- osd_mclock_override_recovery_settings
设置此选项将启用覆盖 mClock 调度程序的恢复/回填限制,如
osd_recovery_max_active_hdd、osd_recovery_max_active_ssd和osd_max_backfills选项所定义。- 类型:
bool- 默认值:
false- 另请参阅:
osd_recovery_max_active_hdd,osd_recovery_max_active_ssd,osd_max_backfills
- osd_mclock_iops_capacity_threshold_hdd
超过此阈值 IOPS 容量(4KiB 块大小)后,将忽略 OSD(用于旋转介质)的 OSD bench 结果,并回退到
osd_mclock_max_capacity_iops_hdd定义的最后有效或默认 IOPS 容量。- 类型:
float- 默认值:
500.0- 另请参阅:
- osd_mclock_iops_capacity_low_threshold_hdd
低于此阈值 IOPS 容量(4KiB 块大小)后,将忽略 OSD(用于旋转介质)的 OSD bench 结果,并回退到
osd_mclock_max_capacity_iops_hdd定义的最后有效或默认 IOPS 容量。- 类型:
float- 默认值:
50.0- 另请参阅:
- osd_mclock_iops_capacity_threshold_ssd
超过此阈值 IOPS 容量(4KiB 块大小)后,将忽略 OSD(用于固态介质)的 OSD bench 结果,并回退到
osd_mclock_max_capacity_iops_ssd定义的最后有效或默认 IOPS 容量。- 类型:
float- 默认值:
80000.0- 另请参阅:
- osd_mclock_iops_capacity_low_threshold_ssd
低于此阈值 IOPS 容量(4KiB 块大小)后,将忽略 OSD(用于固态介质)的 OSD bench 结果,并回退到
osd_mclock_max_capacity_iops_ssd定义的最后有效或默认 IOPS 容量。- 类型:
float- 默认值:
1000.0- 另请参阅: