]> git.proxmox.com Git - ceph.git/blob - ceph/doc/rados/operations/erasure-code-isa.rst
9d4ff7f52f0aa024a1e42207f9e286e345a00e2e
[ceph.git] / ceph / doc / rados / operations / erasure-code-isa.rst
1 =======================
2 ISA erasure code plugin
3 =======================
4
5 The *isa* plugin encapsulates the `ISA
6 <https://01.org/intel%C2%AE-storage-acceleration-library-open-source-version/>`_
7 library. It only runs on Intel processors.
8
9 Create an isa profile
10 =====================
11
12 To create a new *isa* erasure code profile::
13
14 ceph osd erasure-code-profile set {name} \
15 plugin=isa \
16 technique={reed_sol_van|cauchy} \
17 [k={data-chunks}] \
18 [m={coding-chunks}] \
19 [ruleset-root={root}] \
20 [ruleset-failure-domain={bucket-type}] \
21 [directory={directory}] \
22 [--force]
23
24 Where:
25
26 ``k={data chunks}``
27
28 :Description: Each object is split in **data-chunks** parts,
29 each stored on a different OSD.
30
31 :Type: Integer
32 :Required: No.
33 :Default: 7
34
35 ``m={coding-chunks}``
36
37 :Description: Compute **coding chunks** for each object and store them
38 on different OSDs. The number of coding chunks is also
39 the number of OSDs that can be down without losing data.
40
41 :Type: Integer
42 :Required: No.
43 :Default: 3
44
45 ``technique={reed_sol_van|cauchy}``
46
47 :Description: The ISA plugin comes in two `Reed Solomon
48 <https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction>`_
49 forms. If *reed_sol_van* is set, it is `Vandermonde
50 <https://en.wikipedia.org/wiki/Vandermonde_matrix>`_, if
51 *cauchy* is set, it is `Cauchy
52 <https://en.wikipedia.org/wiki/Cauchy_matrix>`_.
53
54 :Type: String
55 :Required: No.
56 :Default: reed_sol_van
57
58 ``ruleset-root={root}``
59
60 :Description: The name of the crush bucket used for the first step of
61 the ruleset. For intance **step take default**.
62
63 :Type: String
64 :Required: No.
65 :Default: default
66
67 ``ruleset-failure-domain={bucket-type}``
68
69 :Description: Ensure that no two chunks are in a bucket with the same
70 failure domain. For instance, if the failure domain is
71 **host** no two chunks will be stored on the same
72 host. It is used to create a ruleset step such as **step
73 chooseleaf host**.
74
75 :Type: String
76 :Required: No.
77 :Default: host
78
79 ``directory={directory}``
80
81 :Description: Set the **directory** name from which the erasure code
82 plugin is loaded.
83
84 :Type: String
85 :Required: No.
86 :Default: /usr/lib/ceph/erasure-code
87
88 ``--force``
89
90 :Description: Override an existing profile by the same name.
91
92 :Type: String
93 :Required: No.
94