Wiki source code of Ceph
Version 2.1 by Jonas Jelten on 2024/08/23 13:48
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 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. |