4 Display, modify and test a crush map
6 There are five stages, running one after the other:
14 Options that are not specific to a stage.
17 read the crush map from infile
19 Options for the input/build stage
21 --decompile|-d map decompile a crush map to source
23 specify output for for (de)compilation
24 --compile|-c map.txt compile a map from source
25 --enable-unsafe-tunables
26 compile with unsafe tunables
27 --build --num_osds N layer1 ...
28 build a new map, where each 'layer' is
29 'name (uniform|straw2|straw|list|tree) size'
31 Options for the tunables adjustments stage
33 --set-choose-local-tries N
34 set choose local retries before re-descent
35 --set-choose-local-fallback-tries N
36 set choose local retries using fallback
37 permutation before re-descent
38 --set-choose-total-tries N
39 set choose total descent attempts
40 --set-chooseleaf-descend-once <0|1>
41 set chooseleaf to (not) retry the recursive descent
42 --set-chooseleaf-vary-r <0|1>
43 set chooseleaf to (not) vary r based on parent
44 --set-chooseleaf-stable <0|1>
45 set chooseleaf firstn to (not) return stable results
47 Options for the modifications stage
49 -i mapfn --add-item id weight name [--loc type name ...]
50 insert an item into the hierarchy at the
52 -i mapfn --update-item id weight name [--loc type name ...]
53 insert or move an item into the hierarchy at the
55 -i mapfn --remove-item name
57 -i mapfn --reweight-item name weight
58 reweight a given item (and adjust ancestor
60 -i mapfn --reweight recalculate all bucket weights
62 Options for the display/test stage
64 -f --format the format of --dump, defaults to json-pretty
65 can be one of json, json-pretty, xml, xml-pretty,
66 table, table-kv, html, html-pretty
67 --dump dump the crush map
68 --tree print map summary as a tree
69 --check [max_id] check if any item is referencing an unknown name/type
70 -i mapfn --show-location id
71 show location for given device id
72 -i mapfn --test test a range of inputs on the map
73 [--min-x x] [--max-x x] [--x x]
74 [--min-rule r] [--max-rule r] [--rule r] [--ruleset rs]
76 [--pool-id n] specifies pool id
77 [--batches b] split the CRUSH mapping into b > 1 rounds
78 [--weight|-w devno weight]
79 where weight is 0 to 1.0
80 [--simulate] simulate placements using a random
81 number generator in place of the CRUSH
83 --show-utilization show OSD usage
84 --show-utilization-all
85 include zero weight items
86 --show-statistics show chi squared statistics
87 --show-mappings show mappings
88 --show-bad-mappings show bad mappings
89 --show-choose-tries show choose tries histogram
91 prepend the data file(s) generated during the
92 testing routine with name
94 export select data generated during testing routine
95 to CSV files for off-line post-processing
96 use --help-output for more information
98 Options for the output stage
101 specify output for modified crush map
103 $ crushtool --help-output
104 data output from testing routine ...
106 the decimal weight of each OSD
107 data layout: ROW MAJOR
108 OSD id (int), weight (int)
109 batch_device_expected_utilization_all
110 the expected number of objects each OSD should receive per placement batch
111 which may be a decimal value
112 data layout: COLUMN MAJOR
113 round (int), objects expected on OSD 0...OSD n (float)
114 batch_device_utilization_all
115 the number of objects stored on each OSD during each placement round
116 data layout: COLUMN MAJOR
117 round (int), objects stored on OSD 0...OSD n (int)
118 device_utilization_all
119 the number of objects stored on each OSD at the end of placements
120 data_layout: ROW MAJOR
121 OSD id (int), objects stored (int), objects expected (float)
123 the number of objects stored on each OSD marked 'up' at the end of placements
124 data_layout: ROW MAJOR
125 OSD id (int), objects stored (int), objects expected (float)
126 placement_information
127 the map of input -> OSD
128 data_layout: ROW MAJOR
129 input (int), OSD's mapped (int)
130 proportional_weights_all
131 the proportional weight of each OSD specified in the CRUSH map
132 data_layout: ROW MAJOR
133 OSD id (int), proportional weight (float)
135 the proportional weight of each 'up' OSD specified in the CRUSH map
136 data_layout: ROW MAJOR
137 OSD id (int), proportional weight (float)