summaryrefslogtreecommitdiffstats
path: root/doc/dev/osd_internals/scrub.rst
blob: 149509799fcdefda868d958b4579561ea03c6e39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Scrub internals and diagnostics
===============================

Scrubbing Behavior Table
------------------------

+-------------------------------------------------+----------+-----------+---------------+----------------------+
|                                          Flags  | none     | noscrub   | nodeep_scrub  | noscrub/nodeep_scrub |
+=================================================+==========+===========+===============+======================+
| Periodic tick                                   |   S      |    X      |     S         |         X            |
+-------------------------------------------------+----------+-----------+---------------+----------------------+
| Periodic tick after osd_deep_scrub_interval     |   D      |    D      |     S         |         X            |
+-------------------------------------------------+----------+-----------+---------------+----------------------+
| Initiated scrub                                 |   S      |    S      |     S         |         S            |
+-------------------------------------------------+----------+-----------+---------------+----------------------+
| Initiated scrub after osd_deep_scrub_interval   |   D      |    D      |     S         |         S            |
+-------------------------------------------------+----------+-----------+---------------+----------------------+
| Initiated deep scrub                            |   D      |    D      |     D         |         D            |
+-------------------------------------------------+----------+-----------+---------------+----------------------+

- X = Do nothing
- S = Do regular scrub
- D = Do deep scrub

State variables
---------------

- Periodic tick state is ``!must_scrub && !must_deep_scrub && !time_for_deep``
- Periodic tick after ``osd_deep_scrub_interval state is !must_scrub && !must_deep_scrub && time_for_deep``
- Initiated scrub state is ``must_scrub && !must_deep_scrub && !time_for_deep``
- Initiated scrub after ``osd_deep_scrub_interval`` state is ``must_scrub && !must_deep_scrub && time_for_deep``
- Initiated deep scrub state is ``must_scrub && must_deep_scrub``

Scrub Reservations
------------------

An OSD daemon command dumps total local and remote reservations::

  ceph daemon osd.<id> dump_scrub_reservations