]> git.proxmox.com Git - ceph.git/blob - ceph/doc/rados/operations/erasure-code-isa.rst
update sources to v12.1.1
[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 [crush-root={root}] \
20 [crush-failure-domain={bucket-type}] \
21 [crush-device-class={device-class}] \
22 [directory={directory}] \
23 [--force]
24
25 Where:
26
27 ``k={data chunks}``
28
29 :Description: Each object is split in **data-chunks** parts,
30 each stored on a different OSD.
31
32 :Type: Integer
33 :Required: No.
34 :Default: 7
35
36 ``m={coding-chunks}``
37
38 :Description: Compute **coding chunks** for each object and store them
39 on different OSDs. The number of coding chunks is also
40 the number of OSDs that can be down without losing data.
41
42 :Type: Integer
43 :Required: No.
44 :Default: 3
45
46 ``technique={reed_sol_van|cauchy}``
47
48 :Description: The ISA plugin comes in two `Reed Solomon
49 <https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction>`_
50 forms. If *reed_sol_van* is set, it is `Vandermonde
51 <https://en.wikipedia.org/wiki/Vandermonde_matrix>`_, if
52 *cauchy* is set, it is `Cauchy
53 <https://en.wikipedia.org/wiki/Cauchy_matrix>`_.
54
55 :Type: String
56 :Required: No.
57 :Default: reed_sol_van
58
59 ``crush-root={root}``
60
61 :Description: The name of the crush bucket used for the first step of
62 the ruleset. For intance **step take default**.
63
64 :Type: String
65 :Required: No.
66 :Default: default
67
68 ``crush-failure-domain={bucket-type}``
69
70 :Description: Ensure that no two chunks are in a bucket with the same
71 failure domain. For instance, if the failure domain is
72 **host** no two chunks will be stored on the same
73 host. It is used to create a ruleset step such as **step
74 chooseleaf host**.
75
76 :Type: String
77 :Required: No.
78 :Default: host
79
80 ``crush-device-class={device-class}``
81
82 :Description: Restrict placement to devices of a specific class (e.g.,
83 ``ssd`` or ``hdd``), using the crush device class names
84 in the CRUSH map.
85
86 :Type: String
87 :Required: No.
88 :Default:
89
90 ``directory={directory}``
91
92 :Description: Set the **directory** name from which the erasure code
93 plugin is loaded.
94
95 :Type: String
96 :Required: No.
97 :Default: /usr/lib/ceph/erasure-code
98
99 ``--force``
100
101 :Description: Override an existing profile by the same name.
102
103 :Type: String
104 :Required: No.
105