summaryrefslogtreecommitdiffstats
path: root/src/ceph/doc/dev/ceph-volume/lvm.rst
blob: f89424a229a8f3e4ab994c7bc4976d6efdddb2bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
.. _ceph-volume-lvm-api:

LVM
===
The backend of ``ceph-volume lvm`` is LVM, it relies heavily on the usage of
tags, which is a way for LVM to allow extending its volume metadata. These
values can later be queried against devices and it is how they get discovered
later.

.. warning:: These APIs are not meant to be public, but are documented so that
             it is clear what the tool is doing behind the scenes. Do not alter
             any of these values.


.. _ceph-volume-lvm-tag-api:

Tag API
-------
The process of identifying logical volumes as part of Ceph relies on applying
tags on all volumes. It follows a naming convention for the namespace that
looks like::

    ceph.<tag name>=<tag value>

All tags are prefixed by the ``ceph`` keyword do claim ownership of that
namespace and make it easily identifiable. This is how the OSD ID would be used
in the context of lvm tags::

    ceph.osd_id=0


.. _ceph-volume-lvm-tags:

Metadata
--------
The following describes all the metadata from Ceph OSDs that is stored on an
LVM volume:


``type``
--------
Describes if the device is a an OSD or Journal, with the ability to expand to
other types when supported (for example a lockbox)

Example::

    ceph.type=osd


``cluster_fsid``
----------------
Example::

    ceph.cluster_fsid=7146B649-AE00-4157-9F5D-1DBFF1D52C26

``data_device``
---------------
Example::

    ceph.data_device=/dev/ceph/data-0

``journal_device``
------------------
Example::

    ceph.journal_device=/dev/ceph/journal-0

``encrypted``
-------------
Example for enabled encryption with ``luks``::

    ceph.encrypted=luks

For plain dmcrypt::

    ceph.encrypted=dmcrypt

For disabled encryption::

    ceph.encrypted=0

``osd_fsid``
------------
Example::

    ceph.osd_fsid=88ab9018-f84b-4d62-90b4-ce7c076728ff

``osd_id``
----------
Example::

    ceph.osd_id=1

``block``
---------
Just used on :term:`bluestore` backends.

Example::

    ceph.block=/dev/mapper/vg-block-0

``db``
------
Just used on :term:`bluestore` backends.

Example::

    ceph.db=/dev/mapper/vg-db-0

``wal``
-------
Just used on :term:`bluestore` backends.

Example::

    ceph.wal=/dev/mapper/vg-wal-0


``lockbox_device``
------------------
Only used when encryption is enabled, to store keys in an unencrypted
volume.

Example::

    ceph.lockbox_device=/dev/mapper/vg-lockbox-0