]> git.proxmox.com Git - ceph.git/blob - ceph/doc/dev/ceph-volume/zfs.rst
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / doc / dev / ceph-volume / zfs.rst
1
2 .. _ceph-volume-zfs-api:
3
4 ZFS
5 ===
6 The backend of ``ceph-volume zfs`` is ZFS, it relies heavily on the usage of
7 tags, which is a way for ZFS to allow extending its volume metadata. These
8 values can later be queried against devices and it is how they get discovered
9 later.
10
11 Currently this interface is only usable when running on FreeBSD.
12
13 .. warning:: These APIs are not meant to be public, but are documented so that
14 it is clear what the tool is doing behind the scenes. Do not alter
15 any of these values.
16
17
18 .. _ceph-volume-zfs-tag-api:
19
20 Tag API
21 -------
22 The process of identifying filesystems, volumes and pools as part of Ceph relies
23 on applying tags on all volumes. It follows a naming convention for the
24 namespace that looks like::
25
26 ceph.<tag name>=<tag value>
27
28 All tags are prefixed by the ``ceph`` keyword to claim ownership of that
29 namespace and make it easily identifiable. This is how the OSD ID would be used
30 in the context of zfs tags::
31
32 ceph.osd_id=0
33
34 Tags on filesystems are stored as property.
35 Tags on a zpool are stored in the comment property as a concatenated list
36 seperated by ``;``
37
38 .. _ceph-volume-zfs-tags:
39
40 Metadata
41 --------
42 The following describes all the metadata from Ceph OSDs that is stored on a
43 ZFS filesystem, volume, pool:
44
45
46 ``type``
47 --------
48 Describes if the device is an OSD or Journal, with the ability to expand to
49 other types when supported
50
51 Example::
52
53 ceph.type=osd
54
55
56 ``cluster_fsid``
57 ----------------
58 Example::
59
60 ceph.cluster_fsid=7146B649-AE00-4157-9F5D-1DBFF1D52C26
61
62
63 ``data_device``
64 ---------------
65 Example::
66
67 ceph.data_device=/dev/ceph/data-0
68
69
70 ``data_uuid``
71 -------------
72 Example::
73
74 ceph.data_uuid=B76418EB-0024-401C-8955-AE6919D45CC3
75
76
77 ``journal_device``
78 ------------------
79 Example::
80
81 ceph.journal_device=/dev/ceph/journal-0
82
83
84 ``journal_uuid``
85 ----------------
86 Example::
87
88 ceph.journal_uuid=2070E121-C544-4F40-9571-0B7F35C6CB2B
89
90
91 ``osd_fsid``
92 ------------
93 Example::
94
95 ceph.osd_fsid=88ab9018-f84b-4d62-90b4-ce7c076728ff
96
97
98 ``osd_id``
99 ----------
100 Example::
101
102 ceph.osd_id=1
103
104
105 ``block_device``
106 ----------------
107 Just used on :term:`bluestore` backends. Captures the path to the logical
108 volume path.
109
110 Example::
111
112 ceph.block_device=/dev/gpt/block-0
113
114
115 ``block_uuid``
116 --------------
117 Just used on :term:`bluestore` backends. Captures either the logical volume UUID or
118 the partition UUID.
119
120 Example::
121
122 ceph.block_uuid=E5F041BB-AAD4-48A8-B3BF-31F7AFD7D73E
123
124
125 ``db_device``
126 -------------
127 Just used on :term:`bluestore` backends. Captures the path to the logical
128 volume path.
129
130 Example::
131
132 ceph.db_device=/dev/gpt/db-0
133
134
135 ``db_uuid``
136 -----------
137 Just used on :term:`bluestore` backends. Captures either the logical volume UUID or
138 the partition UUID.
139
140 Example::
141
142 ceph.db_uuid=F9D02CF1-31AB-4910-90A3-6A6302375525
143
144
145 ``wal_device``
146 --------------
147 Just used on :term:`bluestore` backends. Captures the path to the logical
148 volume path.
149
150 Example::
151
152 ceph.wal_device=/dev/gpt/wal-0
153
154
155 ``wal_uuid``
156 ------------
157 Just used on :term:`bluestore` backends. Captures either the logical volume UUID or
158 the partition UUID.
159
160 Example::
161
162 ceph.wal_uuid=A58D1C68-0D6E-4CB3-8E99-B261AD47CC39
163
164
165 ``compression``
166 ---------------
167 A compression-enabled device can allways be set using the native zfs settings on
168 a volume or filesystem. This will/can be activated during creation of the volume
169 of filesystem.
170 When activated by ``ceph-volume zfs`` this tag will be created.
171 Compression manually set AFTER ``ceph-volume`` will go unnoticed, unless this
172 tag is also manually set.
173
174 Example for an enabled compression device::
175
176 ceph.vdo=1