Wiki source code of Ceph

Version 2.1 by Jonas Jelten on 2024/08/23 13:48

Show last authors
1 We offer [Ceph](https://ceph.io) as a scalable and fast way to obtain storage for your needs.
2
3 {{toc/}}
4
5 ## How does it work?
6
7 The gist how Ceph works for you:
8 We have many servers with SSDs or HDDs, each bought by one organization unit such as a chair. Data is spread accross all servers, and each organization unit gets as much storage space as they bought in servers.
9
10 You can access the storage mainly via RBD (RADOS block device), which is a device behaving like a local disk (USB stick, SSD, ...), but actually stores and retrieves data from the cluster in our data centre.
11
12 ## RBD acquisition
13
14 An RBD is a **storage device** you can use in your servers to store data in our Ceph cluster. It either uses **HDD** or **SSD** storage (cheaper vs faster).
15
16 For evaluation purposes, you can get small amounts of storage directly.
17 Otherwise, you can get as much space as you are entitled to.
18
19 Each RBD is stored in a "namespace", which **restricts access** to it. You can have multiple RBDs in the same namespace.
20
21 The name of an RBD is `ORG-name/namespacename/rbdname.`
22
23 To request the creation (or extension) of an RBD, write to [[support@ito.cit.tum.de|mailto:support@ito.cit.tum.de]] specifying **name**, **size**, **namespace** and **HDD/SSD**.
24
25 You will get back a secret **keyring** to access the namespace.
26
27 ## RBD mapping
28
29 In order to "use" an RBD in your server, you need to "map" it.
30
31 You should have ready the name and keyring of the RBD.
32
33 * Please install `ceph-common`, at least in version 15.
34 * It contains a tool named `rbdmap`, which can (oh wonder) map your RBD.
35 * Edit /etc/ceph/rbdmap to add your RBD in a line
36 * it has the format: `rbdname name=keyringname,options=...`
37 * `ORG-name/namespacename/rbdname name=client.ORG.rbd.namespacename,options='queue_depth=1024'`
38 * Place the keyring file in /etc/ceph/
39 * Filename: `ceph.client.ORG.rbd.namespacename.keyring`
40 * Permissions: 700
41 * Owner: root
42 * Content: the client identifier and 28 byte key in base64 encoding.
43 * [client.ORG.rbd.namespacename]
44 key = ASD+OdlsdoTQJxFFljfCDEf/ASDFlYIbEbZatg==
45
46 ## RBD formatting
47
48 Now that you have mapped your RBD, we can create file system structures on it.