1CRUSHTOOL(8)                System Manager's Manual               CRUSHTOOL(8)
2
3
4

NAME

6       crushtool - CRUSH map manipulation tool
7

SYNOPSIS

9       crushtool  (  -d  map  | -c map.txt | --build numosds layer1 ... ) [ -o
10       outfile [ --clobber ]]
11

DESCRIPTION

13       crushtool is a utility that lets you  create,  compile,  and  decompile
14       CRUSH map files.
15
16       CRUSH  is  a pseudo-random data distribution algorithm that efficiently
17       maps input values (typically  data  objects)  across  a  heterogeneous,
18       hierarchically  structured  device  map.   The algorithm was originally
19       described in detail in the following paper  (although  it  has  evolved
20       some since then):
21
22              http://www.ssrc.ucsc.edu/Papers/weil-sc06.pdf
23
24       The tool has three modes of operation.
25
26       -c map.txt
27              will compile a plaintext map.txt into a binary map file.
28
29       -d map will  take  the  compiled  map and decompile it into a plaintext
30              source file, suitable for editing.
31
32       --build numosds layer1 ...
33              will create a relatively generic map with the given layer strucā€
34              ture.  See below for examples.
35

OPTIONS

37       -o outfile
38              will specify the output file.
39
40       --clobber
41              will  allow  the  tool to overwrite an existing outfile (it will
42              normally refuse).
43

BUILDING A MAP

45       The build mode will generate relatively generic hierarchical maps.  The
46       first  argument  simply specifies the number of devices (leaves) in the
47       CRUSH hierarchy.  Each layer describes how the layer (or  raw  devices)
48       preceeding it should be grouped.
49
50       Each layer consists of
51
52              name ( uniform | list | tree | straw ) size
53
54       The  first  element  is  the  name  for the elements in the layer (e.g.
55       "rack").  Each element's name will be append a number to  the  provided
56       name.
57
58       The second component is the type of CRUSH bucket.
59
60       The  third component is the maximum size of the bucket.  If the size is
61       0, a single bucket will be generated that includes  everything  in  the
62       preceeding layer.
63

EXAMPLE

65       Suppose  we  have 128 devices, each grouped into shelves with 4 devices
66       each, and 8 shelves per rack.  We could create a three level  hierarchy
67       with:
68
69              crushtool  --build 128 shelf uniform 4 rack straw 8 root straw 0
70              -o map
71
72       To adjust the default (generic) mapping rules, we can
73
74              crushtool -d map -o map.txt  # decompile
75
76              vi map.txt                   # edit
77
78              crushtool -c map.txt -o map  # recompile
79

AVAILABILITY

81       crushtool is part of the Ceph distributed file system.  Please refer to
82       the Ceph wiki at http://ceph.newdream.net/wiki for more information.
83

SEE ALSO

85       ceph(8), osdmaptool(8), mkcephfs(8)
86
87
88
89                                                                  CRUSHTOOL(8)
Impressum