Feature #38211
mgr/dashboard: Add custom dialogue for configuring PG scrub parameters
Status:
Resolved
Priority:
Normal
Assignee:
Category:
Component - OSDs
Target version:
% Done:
0%
Source:
Tags:
dashboard, management
Backport:
nautilus
Reviewed:
Affected Versions:
Pull request ID:
Description
Ceph provides multiple configuration options to tweak the behavior of scrub operations, e.g.
osd_max_scrubs
- the maximum number of simultaneous scrub operations on a given OSDosd_scrub_during_recovery
- Allow scrubbing when PGs on the OSD are undergoing recoveryosd_scrub_begin_hour
,osd_scrub_end_hour
- the hours of day (0 to 24) that define a time window when the scrubbing can happenosd_scrub_begin_week_day
,osd_scrub_end_week_day
- the days of week (0 to 6) that define a time window when the scrubbing can happenosd_scrub_min_interval
,osd_scrub_max_interval
- Scrub each PG no more/no less often than this intervalosd_deep_scrub_interval
- Deep scrub each PG (i.e., verify data checksums) at least this oftenosd_scrub_auto_repair_num_errors
- Maximum number of detected errors to automatically repair
While it's possible to modify these via the config editor, it may be worthwhile providing a custom "Scrub configuration" dialogue, similar to the recovery profiles or the global OSD settings.
Are there any other settings that should be added here?
Related issues
History
#1 Updated by Tatjana Dehler about 5 years ago
Lenz Grimmer wrote:
Are there any other settings that should be added here?
By 'settings' you mean any other config options, don't you?
I had a look at the config options page and found 32 OSD options where 'scrub' is mentioned:
- osd_debug_deep_scrub_sleep -> Inject an expensive sleep during deep scrub IO to make it easier to induce preemption
- osd_deep_scrub_interval -> Deep scrub each PG (i.e., verify data checksums) at least this often
- osd_deep_scrub_keys -> Number of keys to read from an object at a time during deep scrub
- osd_deep_scrub_large_omap_object_key_threshold -> Warn when we encounter an object with more omap keys than this
- osd_deep_scrub_large_omap_object_value_sum_threshold -> Warn when we encounter an object with more omap key bytes than this
- osd_deep_scrub_randomize_ratio -> Scrubs will randomly become deep scrubs at this rate (0.15 -> 15% of scrubs are deep)
- osd_deep_scrub_stride -> Number of bytes to read from an object at a time during deep scrub
- osd_deep_scrub_update_digest_min_age -> Update overall object digest only if object was last modified longer ago than this
- osd_max_scrubs -> Maximum concurrent scrubs on a single OSD
- osd_op_queue_mclock_scrub_lim -> mclock weight of limit requests
- osd_op_queue_mclock_scrub_res -> mclock reservation of scrub requests
- osd_op_queue_mclock_scrub_wgt -> mclock weight of scrub requests
- osd_requested_scrub_priority
- osd_scrub_auto_repair -> Automatically repair damaged objects detected during scrub
- osd_scrub_auto_repair_num_errors -> Maximum number of detected errors to automatically repair
- osd_scrub_backoff_ratio -> Backoff ratio for scheduling scrubs
- osd_scrub_begin_hour -> Restrict scrubbing to this hour of the day or later
- osd_scrub_begin_week_day -> Restrict scrubbing to this day of the week or later
- osd_scrub_chunk_max -> Maximum number of objects to scrub in a single chunk
- osd_scrub_chunk_min -> Minimum number of objects to scrub in a single chunk
- osd_scrub_cost -> Cost for scrub operations in work queue
- osd_scrub_during_recovery -> Allow scrubbing when PGs on the OSD are undergoing recovery
- osd_scrub_end_hour -> Restrict scrubbing to hours of the day earlier than this
- osd_scrub_end_week_day -> Restrict scrubbing to days of the week earlier than this
- osd_scrub_interval_randomize_ratio -> Ratio of scrub interval to randomly vary
- osd_scrub_invalid_stats
- osd_scrub_load_threshold -> Allow scrubbing when system load divided by number of CPUs is below this value
- osd_scrub_max_interval -> Scrub each PG no less often than this interval
- osd_scrub_max_preemptions -> Set the maximum number of times we will preempt a deep scrub due to a client operation before blockinient IO to complete the scrub
- osd_scrub_min_interval -> Scrub each PG no more often than this interval
- osd_scrub_priority -> Priority for scrub operations in work queue
- osd_scrub_sleep -> Duration to inject a delay during scrubbing
#2 Updated by Tatjana Dehler about 5 years ago
- Assignee set to Tatjana Dehler
#3 Updated by Lenz Grimmer about 5 years ago
- Status changed from New to In Progress
#4 Updated by Lenz Grimmer almost 5 years ago
- Target version set to v15.0.0
- Backport set to nautilus
#5 Updated by Tatjana Dehler almost 5 years ago
- Pull request ID set to 27072
#6 Updated by Patrick Seidensal almost 5 years ago
- Status changed from In Progress to Fix Under Review
#7 Updated by Lenz Grimmer almost 5 years ago
- Status changed from Fix Under Review to Pending Backport
- Affected Versions v14.0.0, v14.2.0, v14.2.1, v15.0.0 added
#8 Updated by Nathan Cutler almost 5 years ago
- Copied to Backport #40059: nautilus: mgr/dashboard: Add custom dialogue for configuring PG scrub parameters added
#9 Updated by Lenz Grimmer almost 5 years ago
- Status changed from Pending Backport to Resolved
#10 Updated by Ernesto Puerta almost 3 years ago
- Project changed from mgr to Dashboard
- Category changed from 138 to Component - OSDs