On 06.10.2023 17:48, Wesley Dillingham wrote:
A repair is just a type of scrub and it is also limited by osd_max_scrubs which in pacific is 1.
If another scrub is occurring on any OSD in the PG it wont start.
do "ceph osd set noscrub" and "ceph osd set nodeep-scrub" wait for all scrubs to stop (a few seconds probably)
Then issue the pg repair command again. It may start.
You also have pgs in backfilling state. Note that by default OSDs in backfill or backfill_wait also wont perform scrubs.
You can modify this behavior with `ceph config set osd osd_scrub_during_recovery true`
I would suggest only setting that after the noscub flags are set and the only scrub you want to get processed is your manual repair.
Then rm the scrub_during_recovery config item before unsetting the noscrub flags.
Hi Simon Just to add to Wes's answer, Cern have made a nice script that do the steps Wes explained above https://github.com/cernceph/ceph-scripts/blob/master/tools/scrubbing/autorep... that you might want to take a look at. -- Kai Stian Olstad