Optimizing Scrub Performance: Balancing Scrub Speed Against Client I/O Demands
summary
Explains concrete knobs and measured effects: use ceph pg/dump and ceph osd dump scrub reservations plus counter dumps to see scrub reservation queues and new labeled counters; avoid enabling osd_reservation_queueing (causes many retries). Key configs: osd_max_scrubs, osd_scrub_chunk_max/min and deep_scrub_stride (current stride is too small), mclock scheduler allocation, and deep scrub interval + CV. Notes a bug fix so min chunk now honors halving on preemptions; warns a 1,000,000-object PG with 25‑object chunks and sleeps can never finish.
AI-written summary · about
chapters (10)
- 0:00Introduction and background
- 3:17Scrub process overview
- 12:08Resource reservation and chunk selection
- 19:41Preemption and IO interference
- 22:53Scrub map creation and IO operations
- 30:27Data reading and stride configuration
- 33:01MClock scheduler impact
- 34:31Scrub scheduling in Tentacle
- 36:44Deep scrub interval control
- 40:20Q&A
