RBD

What is RBD

RBD (RADOS Block Device) is the way to go when you need a block device on a Linux machine. This includes QEMU hypervisors like Proxmox and OpenShift. There is also an experimental Windows driver.

Creating an RBD

To create an RBD, we need to create a RBD pool first.

  1. Navigate to Pools.
  2. Click Create.
  3. For now go with replicated and set Application to RBD.
  4. Navigate to RBD.
  5. Click Create.

Erasure Coding (EC)

If you want to store RBDs on an EC pool, create a EC RBD pool. Then during the RBD creation:

  1. Select the replicated RBD pool as your Pool.
  2. Selected the EC RBD pool as your Data Pool.

Mounting the RBD

There are multiple ways to mount the RBD.

The Native Way

To mount your RBD on a Linux system you need to:

  1. Setup Ceph Keys.
  2. Download and move both ceph.conf and key to /etc/ceph/ on the system.
  3. Ensure the system has an up-to-date kernel, to prevent client bugs.
  4. Ensure the system has access to your MONs.
  5. Ensure the system has Ceph packages installed.
rbd device map $pool_name/$rbd_name --id $ceph_key_name
rbd device list
# Format the listed RBD
mkfs.xfs /dev/rbd0
mkdir /mnt/my-rbd
mount /dev/rbd0 /mnt/my-rbd

NVMe over Fabrics

Hypervisors

RBDs can be directly utilized by QEMU-based hypervisors like: