Copy your ceph keyring from /etc/ceph/ceph.client.admin.keyring to /etc/pve/priv/ceph/croit-cluster.keyring:
# /etc/pve/priv/ceph/croit-cluster.keyring [client.admin] key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX== caps mds = "allow *" caps mon = "allow *" caps osd = "allow *"
# /etc/pve/storage.cfg rbd: croit-cluster content images # Don't use kernel RBD client for better feature compatibility krbd 0 # Your MON IPs monhost 10.0.0.100,10.0.0.101,10.0.0.102 # Your RBD pool name pool rbd # Keyring username username admin
Now you should be able to use Rados Block Devices inside Proxmox.
Unfortunately, since the Proxmox developers have made no effort to support modern EC pools, it is not possible to configure Ceph EC pools easily. If you want to consume modern EC pools in proxmox, edit /etc/pve/storage.cfg again
# /etc/pve/storage.cfg rbd: croit-cluster_ec content images # Don't use kernel RBD client for better feature compatibility krbd 0 # Your MON IPs monhost 10.0.0.100,10.0.0.101,10.0.0.102 # Your RBD REPLICA pool name # EC datapool configured in /etc/ceph/ceph.conf pool rbd # Keyring username used to access EC pool username admin_ec
and setup a valid /etc/ceph/ceph.conf
# /etc/ceph/ceph.conf [global] # your cluster configuration [client.admin_ec] rbd default data pool = croit-cluster_ec
So the trick is that we assign a data pool to the username via ceph.conf. This way we circumvent the limitations of Proxmox and get cost-optimized high performance storage.
Please note that the replica pool is mandatory, but hardly receives any data.
Learn more: https://pve.proxmox.com/wiki/Storage:_RBD