11.2. 输入和输出资源的分配
本节论述了 QoS 在内部如何使用保留、限制和权重分配工作。用户不应该将这些控件设置为 mClock 配置集自动设置它们。调优这些控制只能使用可用的 mClock 配置集来执行。
dmClock 算法分配 Ceph 集群的输入和输出(I/O)资源,以探测到权重。它实现最小保留和最大限制的限制,以确保服务可以公平地竞争资源。
目前,mclock_scheduler
操作队列将涉及 I/O 资源的 Ceph 服务划分为以下存储桶:
-
客户端 op
:客户端发出的每秒输入和输出操作(IOPS)。 -
PG 删除
:由主 Ceph OSD 发布的 IOPS。 -
snap trim
:快照修剪相关请求。 -
PG 恢复
:与恢复相关的请求。 -
PG 清理
:与清理相关的请求。
资源使用以下三组标签进行分区,这意味着每种服务类型的共享由这三个标签控制:
- 保留
- 限制
- Weight
保留
为服务分配的最小 IOPS。服务保留越多,只要它要求,保证拥有更多资源。
例如,保留设置为 0.1 (或 10%)的服务始终为自己分配的 OSD IOPS 容量的 10%。因此,即使客户端开始发出大量 I/O 请求,它们也不会耗尽所有 I/O 资源,服务的操作也不会在具有高负载的集群中处理。
限制
为服务分配的最大 IOPS。该服务不会超过每秒服务的请求数,即使它需要,且没有其他服务与之竞争。如果服务跨强制实施的限制,则操作将保留在操作队列中,直到恢复限制为止。
如果值设为 0 (
禁用),服务不受限制设置的限制,如果没有其他竞争操作,可以使用所有资源。这在 mClock 配置集中以"MAX"表示。
保留和限制参数分配会根据 Ceph OSD 下的后备设备类型(即 HDD 或 SSD)进行每个分片。如需有关 osd_op_num_shards_ hdd 和
参数的更多详情,请参阅 OSD 对象存储守护进程配置选项。
osd_op_num_shards
_ssd
Weight
如果额外容量或系统不够,则容量成比例共享。如果产品的权重高于其竞争者,该服务可以使用较大的 I/O 资源部分。
服务的保留和限制值以 OSD 总 IOPS 容量的比例指定。比例以 mClock 配置集中的百分比表示。权重没有单位。权重相对于另一个权重,因此,如果一个请求的权重为 9,另一个权重为 1,则请求将以 9 到 1 比例执行。但是,只有在满足保留后才会发生,这些值包括在保留阶段执行的操作。
如果 weight 设为 W
,那么对于给定类请求的请求,则输入的权重标签为 1/W
及前面的 weight 标签,或当前时间较大(以较大者为准)。这意味着,如果 W
太大,因此 1/W
太小,则可能无法分配计算的标签,因为它获得当前时间的值。
因此,权重的值应始终低于预期每秒可以被处理的请求数量。