Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / doc / dev / ceph-disk.rst
1 =========
2 ceph-disk
3 =========
4
5
6 device-mapper crypt
7 ===================
8
9 Settings
10 --------
11
12 ``osd_dmcrypt_type``
13
14 :Description: this option specifies the mode in which ``cryptsetup`` works. It can be ``luks`` or ``plain``.  It kicks in only if the ``--dmcrypt`` option is passed to ``ceph-disk``. See also `cryptsetup document <https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt#configuration-using-cryptsetup>`_ for more details.
15
16 :Type: String
17 :Default: ``luks``
18
19
20 ``osd_dmcrypt_key_size``
21
22 :Description: the size of the random string in bytes used as the LUKS key. The string is read from ``/dev/urandom`` and then encoded using base64. It will be stored with the key of ``dm-crypt/osd/$uuid/luks`` using config-key.
23
24 :Type: String
25 :Default: 1024 if ``osd_dmcrypt_type`` is ``luks``, 256 otherwise.
26
27 lockbox
28 -------
29
30 ``ceph-disk`` supports dmcrypt (device-mapper crypt). If dmcrypt is enabled, the partitions will be encrypted using this machinary. For each OSD device, a lockbox is introduced for holding the information regarding how the dmcrypt key is stored. To prepare a lockbox, ``ceph-disk``
31
32 #. creates a dedicated lockbox partition on device, and
33 #. populates it with a tiny filesystem, then
34 #. automounts it at ``/var/lib/ceph/osd-lockbox/$uuid``, read-only. where the ``uuid`` is the lockbox's uuid.
35
36 under which, settings are stored using plain files:
37
38 - key-management-mode: ``ceph-mon v1``
39 - osd-uuid: the OSD's uuid
40 - ceph_fsid: the fsid of the cluster
41 - keyring: the lockbox's allowing one to fetch the LUKS key
42 - block_uuid: the partition uuid for the block device
43 - journal_uuid: the partition uuid for the journal device
44 - block.db_uuid: the partition uuid for the block.db device
45 - block.wal_uuid: the partition uuid for the block.wal device
46 - magic: a magic string indicating that this partition is a lockbox. It's not used currently.
47 - ``${space_uuid}``: symbolic links named after the uuid of space partitions pointing to  ``/var/lib/ceph/osd-lockbox/$uuid``. in the case of FileStore, the space partitions are ``data`` and ``journal`` partitions, for BlueStore, they are ``data``, ``block.db`` and ``block.wal``.
48
49 Currently, ``ceph-mon v1`` is the only supported key-management-mode. In that case, the LUKS key is stored using the config-key in the monitor store with the key of ``dm-crypt/osd/$uuid/luks``.
50
51
52 partitions
53 ==========
54
55 ``ceph-disk`` creates partitions for preparing a device for OSD deployment. Their partition numbers are hardcoded. For instance, data partition's partition number is always *1* :
56
57 1. data partition
58 2. journal partition, if co-located with data
59 3. block.db for BlueStore, if co-located with data
60 4. block.wal for BlueStore, if co-located with data
61 5. lockbox