Chapter 10. Troubleshooting scrub and deep-scrub issues


Learn to troubleshoot the scrub and deep-scrub issues.

Learn to troubleshoot the scrub slowness issue which seen after upgrading to Red Hat Ceph Storage 8.

Scrub slowness is caused by the automated OSD benchmark setting a very low value for osd_mclock_max_capacity_iops_hdd. Due to this, scrub operations are impacted since the IOPS capacity of an OSD plays a significant role in determining the bandwidth the scrub operation receives. To further increase the problem, scrubs receive only a fraction of the total IOPS capacity based on the QoS allocation defined by the mClock profile.

Due to this, the Ceph cluster reports the expected scrub completion time in multiples of days or weeks.

Prequisites

  1. A running Red Hat Ceph Storage cluster in a healthy state.
  2. Root-level access to the node.

Procedure

  1. Detect low measured IOPS reported by OSD bench during OSD boot-up and fallback to default IOPS setting defined for osd_mclock_max_capacity_iops_[hdd|ssd]. The fallback is triggered if the reported IOPS falls below a threshold determined by osd_mclock_iops_capacity_low_threshold_[hdd|ssd]. A cluster warning is also logged.

    Example:

    $ ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]
    Copy to Clipboard Toggle word wrap

  2. [Optional]: Perform the following steps:

    1. For clusters already affected by the issue, remove the IOPS capacity setting on the OSD(s) before upgrading to the release with the fix by running the following command:

      Example:

      $ ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]
      Copy to Clipboard Toggle word wrap

    2. Set the osd_mclock_force_run_benchmark_on_init option for the affected OSD to true before the upgrade:

      Example:

      $ ceph config set osd.X osd_mclock_force_run_benchmark_on_init true
      Copy to Clipboard Toggle word wrap

      After upgrading to the release with this fix, the IOPS capacity reflects the default setting or the new one reported by the OSD bench.

  3. [Optional]: Perform the following steps if you have already upgraded from 7 to 8 (after upgrade):

    1. If you were unable to perform the above steps before upgrade, you re-run the OSD bench again after upgrading by removing the osd_mclock_max_capacity_iops_[hdd|ssd] setting:

      Example:

      $ ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]
      Copy to Clipboard Toggle word wrap

    2. Set osd_mclock_force_run_benchmark_on_init to true.

      Example:

      $ ceph config set osd.X osd_mclock_force_run_benchmark_on_init true
      Copy to Clipboard Toggle word wrap

    3. Restart the OSD.

      After the OSD restarts, the IOPS capacity reflects the default setting or the new setting reported by the OSD bench.

Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat