Appendix A. The mClock configuration options
Appendix A. The mClock configuration options This section contains the list of mClock configuration options: osd_mclock_profile Description It sets the type of mClock profile to use for providing the quality of service (QoS) based on operations belonging to different classes, such as background recovery, backfill , pg scrub , snap trim , client op , and pg deletion . Once a built-in profile is enabled, 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 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 4KiB 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 4KiB 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 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 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 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 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 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 Additional Resources See Object Storage Daemon (OSD) configuration options for more details about osd_op_queue option.