Storage pool type: rbd
Ceph is a distributed object store and file system designed to provide excellent performance, reliability and scalability. RADOS block devices implement a feature rich block level storage, and you get the following advantages:
thin provisioning
resizable volumes
distributed and redundant (striped over multiple OSDs)
full snapshot and clone capabilities
self healing
no single point of failure
scalable to the exabyte level
kernel and user space implementation available
|
|
For smaller deployments, it is also possible to run Ceph services directly on your Proxmox VE nodes. Recent hardware has plenty of CPU power and RAM, so running storage services and VMs on same node is possible. |
This backend supports the common storage properties nodes, disable, content, and the following rbd specific properties:
List of monitor daemon IPs. Optional, only needed if Ceph is not running on the Proxmox VE cluster.
Ceph pool name.
Ceph client ID. Optional, defaults to admin. Use only the ID without the client. prefix.
Enforce access to rados block devices through the krbd kernel module. Optional.
|
|
Containers will use krbd independent of the option value. |
rbd: ceph-external
monhost 10.1.1.20 10.1.1.21 10.1.1.22
pool ceph-external
content images
username pve-rbd
|
|
You can use the rbd utility to do low-level management tasks. |
|
|
If Ceph is installed locally on the Proxmox VE cluster, the following is done automatically when adding the storage. |
If you use cephx authentication, which is enabled by default, provide a keyring from the external Ceph cluster. Use a dedicated identity with only the capabilities required for this storage. The example below uses client.pve-rbd; do not copy client.admin to a storage client.
Copy the keyring to one Proxmox VE node:
# scp <external-ceph-server>:/etc/ceph/ceph.client.pve-rbd.keyring /root/rbd.keyring
Then pass that file and the identity without its client. prefix to pvesm:
# pvesm add rbd <name> --monhost "10.1.1.20 10.1.1.21 10.1.1.22" \
--pool ceph-external --content images --username pve-rbd \
--keyring /root/rbd.keyring
After pvesm succeeds, remove /root/rbd.keyring because it contains the key in plain text.
When configuring an external RBD storage via the GUI, you can copy and paste the keyring into the appropriate field.
The keyring will be stored at
# /etc/pve/priv/ceph/<STORAGE_ID>.keyring
If the external cluster rotates this identity, replace the stored keyring before refreshing its consumers. The local cephx migration helper never rotates keys of external clusters.
For information about creating the identity and limiting its capabilities, see
Ceph User Management.
[Ceph User Management]
Connecting to an external Ceph storage doesn’t always allow setting client-specific options in the config DB on the external cluster. You can add a ceph.conf beside the Ceph keyring to change the Ceph client configuration for the storage.
The ceph.conf needs to have the same name as the storage.
# /etc/pve/priv/ceph/<STORAGE_ID>.conf
See the RBD configuration reference
[RBD configuration reference
https://docs.ceph.com/en/tentacle/rbd/rbd-config-ref/]
for possible settings.
|
|
Do not change these settings lightly. Proxmox VE is merging the <STORAGE_ID>.conf with the storage configuration. |
The rbd backend is a block level storage, and implements full snapshot and clone functionality.
| Content types | Image formats | Shared | Snapshots | Clones |
|---|---|---|---|---|
images rootdir |
raw |
yes |
yes |
yes |