mClock configuration options

Learn the different mClock configuration options.

Following are the list of mClock configuration options:

osd_mclock_profile
Description

It sets the type of mClock profile to provide the quality of service (QoS) based on operations that belong to different classes, such as background recovery, backfill, pg scrub, snap trim, client op, and pg deletion.

On enabling a built-in profile, the lower-level mClock resource control parameters, that is reservation, weight, and limit, and some Ceph configuration parameters are set transparently. This does not apply for the custom profile.
Type
String
Default
balanced
Valid choices
balanced, high_recovery_ops, high_client_ops, custom
osd_mclock_max_capacity_iops_hdd
Description

It sets a maximum random write IOPS capacity, at 4 KiB block size, to consider per OSD for rotational media. Contributes in QoS calculations when enabling a dmclock profile. It is only considered for osd_op_queue = mclock_scheduler

Type

Float

Default

315.0

osd_mclock_max_capacity_iops_ssd
Description

It sets a maximum random write IOPS capacity, at 4 KiB block size, to consider per OSD for solid-state media.

Type

Float

Default

21500.0

osd_mclock_cost_per_byte_usec_ssd
Description

Indicates cost per byte in microseconds to consider per OSD for SDDs. Contributes in QoS calculations when enabling a dmclock profile. It is only considered for osd_op_queue = mclock_scheduler

Type

Float

Default

0.011

osd_mclock_max_sequential_bandwidth_hdd
Description

Indicates the maximum sequential bandwidth in bytes to consider for an OSD whose underlying device type is rotational media. This option is considered by the mclock scheduler to derive the cost factor to be used in QoS calculations. Only considered for osd_op_queue = mclock_scheduler

Type

Size

Default

150_M

osd_mclock_max_sequential_bandwidth_ssd
Description

Indicates the maximum sequential bandwidth in bytes to consider for an OSD whose underlying device type is solid-state media. This is considered by the mclock scheduler to derive the cost factor to be used in QoS calculations. Only considered for osd_op_queue = mclock_scheduler

Type

Size

Default

1200_M

osd_mclock_force_run_benchmark_on_init
Description

This force-runs the OSD benchmark on OSD initialization or boot-up.

Type

Boolean

Default

False

See also

osd_mclock_max_capacity_iops_hdd, osd_mclock_max_capacity_iops_ssd

osd_mclock_skip_benchmark
Description

Setting this option skips the OSD benchmark on OSD initialization or boot-up.

Type

Boolean

Default

False

See also

osd_mclock_max_capacity_iops_hdd, osd_mclock_max_capacity_iops_ssd

osd_mclock_override_recovery_settings
Description

Setting this option enables the override of the recovery or backfill limits for the mClock scheduler as defined by the osd_recovery_max_active_hdd, osd_recovery_max_active_ssd, and osd_max_backfills options.

Type

Boolean

Default

False

See also

osd_recovery_max_active_hdd, osd_recovery_max_active_ssd, osd_max_backfills

osd_mclock_iops_capacity_threshold_hdd
Description

It indicates the threshold IOPS capacity, at 4 KiB block size, beyond which to ignore the Ceph OSD bench results for an OSD for HDDs.

Type

Float

Default

500.0

osd_mclock_iops_capacity_threshold_ssd
Description

It indicates the threshold IOPS capacity, at 4 KiB block size, beyond which to ignore the Ceph OSD bench results for an OSD for SSDs.

Type

Float

Default

80000.0

osd_mclock_scheduler_client_res
Description

It is the default I/O proportion that is reserved for each client. The default value of 0 specifies the lowest possible reservation. Any value greater than 0 and up to 1.0 specifies the minimum IO proportion to reserve for each client in terms of a fraction of the OSD’s maximum IOPS capacity.

Type

Float

Default

0

min

0

max

1.0

osd_mclock_scheduler_client_wgt
Description

It is the default I/O share for each client over reservation.

Type

Unsigned integer

Default

1

osd_mclock_scheduler_client_lim
Description

It is the default I/O limit for each client over reservation. The default value of 0 specifies no limit enforcement, which means each client can use the maximum possible IOPS capacity of the OSD. Any value greater than 0 and up to 1.0 specifies the upper IO limit over reservation that each client receives in terms of a fraction of the OSD’s maximum IOPS capacity.

Type

Float

Default

0

min

0

max

1.0

osd_mclock_scheduler_background_recovery_res
Description

It is the default I/O proportion reserved for background recovery. The default value of 0 specifies the lowest possible reservation. Any value greater than 0 and up to 1.0 specifies the minimum IO proportion to reserve for background recovery operations which is in terms of a fraction of the OSD’s maximum IOPS capacity.

Type

Float

Default

0

min

0

max

1.0

osd_mclock_scheduler_background_recovery_wgt
Description

It indicates the I/O share for each background recovery over reservation.

Type

Unsigned integer

Default

1

osd_mclock_scheduler_background_recovery_lim
Description

It indicates the I/O limit for background recovery over reservation. The default value of 0 specifies no limit enforcement, which means background recovery operation can use the maximum possible IOPS capacity of the OSD. Any value greater than 0 and up to 1.0 specifies the upper IO limit over reservation that background recovery operation receives in terms of a fraction of the OSD’s maximum IOPS capacity.

Type

Float

Default

0

min

0

max

1.0

osd_mclock_scheduler_background_best_effort_res
Description

It indicates the default I/O proportion that is reserved for background best_effort. The default value of 0 specifies the lowest possible reservation. Any value greater than 0 and up to 1.0 specifies the minimum IO proportion to reserve for background best_effort operations in terms of a fraction of the OSD’s maximum IOPS capacity.

Type

Float

Default

0

min

0

max

1.0

osd_mclock_scheduler_background_best_effort_wgt
Description

It indicates the I/O share for each background best_effort over reservation.

Type

Unsigned integer

Default

1

osd_mclock_scheduler_background_best_effort_lim
Description

It indicates the I/O limit for background best_effort over reservation. The default value of 0 specifies no limit enforcement, which means background best_effort operation can use the maximum IOPS capacity of the OSD. Any value greater than 0 and up to 1.0 specifies the upper IO limit over reservation that background best_effort operation receives in terms of a fraction of the OSD’s maximum IOPS capacity.

Type

float

Default

0

min

0

max

1.0