1CRUSHDIFF(8) Ceph CRUSHDIFF(8)
2
3
4
6 crushdiff - ceph crush map test tool
7
9 crushdiff [ --osdmap osdmap ] [ --pg-dump pg-dump ]
10 [ --compiled ] [ --verbose ] command crushmap
11
12
14 crushdiff is a utility that lets you test the effect of a crushmap
15 change: number of pgs, objects, bytes moved. This is a wrapper around
16 osdmaptool(8), relying on its --test-map-pgs-dump option to get the
17 list of changed pgs. Additionally it uses pg stats to calculate the
18 numbers of objects and bytes moved.
19
20 By default, crushdiff will use the cluster current osdmap and pg stats,
21 which requires access to the cluster. Though one can use the --osdmap
22 and --pg-dump options to test against previously obtained data.
23
25 --compiled
26 The input/output crushmap is compiled. If the options is not
27 specified the expected/returned crushmap is in txt (decompiled)
28 format.
29
30 --pg-dump <pg-dump>
31 JSON output of ceph pg dump. If not specified crushdiff will try
32 to get data running the command itself.
33
34 --osdmap <osdmap>
35 The cluster osdmap, obtained with ceph osd getmap command. If
36 not specified crushdiff will try to get data running the command
37 itself.
38
39 --verbose
40 Produce diagnostic output.
41
43 compare crushmap
44 Compare the crushmap from crushmap file with the crushmap from
45 the cluster osdmap. The output will show the expected number of
46 pgs, objects, bytes moved when the new crushmap is installed.
47
48 export crushmap
49 Export crushmap to crushmap file from the cluster osdmap.
50
51 import crushmap
52 Import crushmap from crushmap file to the cluster osdmap.
53
55 Get the current crushmap:
56
57 crushdiff export cm.txt
58
59 Edit the map:
60
61 $EDITOR cm.txt
62
63 Check the result:
64
65 crushdiff compare cm.txt
66
67 79/416 (18.99%) pgs affected
68 281/1392 (20.19%) objects affected
69 80/1248 (6.41%) pg shards to move
70 281/4176 (6.73%) pg object shards to move
71 730.52Mi/10.55Gi (6.76%) bytes to move
72
73 When running with --verbose option the output will also contain de‐
74 tailed information about the affected pgs, like below:
75
76 4.3 [0, 2, 1] -> [1, 4, 2]
77 4.b [0, 1, 3] -> [2, 1, 3]
78 4.c [4, 0, 1] -> [4, 1, 2]
79
80 i.e. a pg number, and its old and the new osd active sets.
81
82 If the result is satisfactory install the updated map:
83
84 crushdiff import cm.txt
85
87 crushdiff is part of Ceph, a massively scalable, open-source, distrib‐
88 uted storage system. Please refer to the Ceph documentation at
89 https://docs.ceph.com for more information.
90
92 ceph(8), crushtool(8), osdmaptool(8),
93
95 2010-2023, Inktank Storage, Inc. and contributors. Licensed under Cre‐
96 ative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)
97
98
99
100
101dev Nov 15, 2023 CRUSHDIFF(8)