summaryrefslogtreecommitdiffstats
path: root/doc/dev/osd_internals/scrub.rst
blob: f20dc042e458db2aa8dcbe0b6ae7c0d1aa66f4f9 (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