Ceph pool vs rbd

cardax

New Member
Jul 22, 2024
8
0
1
Hi everyone. I have a question regarding the use of Ceph. Watching various tutorials, most of them use Ceph with a pool where VMs are then created.
But what is the difference with the RBD storage type that uses the Ceph pool for implementation?
 
Not sure if I understand your question.

You create a pool. A pool is like a logical partition with rules (for example number of replicas).
It will be accessed with RBD (librbd or the krbd kernel module). RBD will create block devices for the VM disks in that pool.

RBD is used for VM disks because it is a (RADOS) Block Device, so it doesn't have the overhead of an extra filesystem.

See also:
https://docs.ceph.com/en/reef/rbd/
https://docs.ceph.com/en/reef/rados/operations/pools/
 
VM disks can be created directly in the pool even without RBD storage. Hence, my question arises: what is the difference between a regular pool and RBD at the VM level?"
 
For PVE to use any storage type you need 2 things:

- A storage backend, which in this case is the Ceph Pool.
- A logical entity created at Datacenter, Storage that relates to a storage backend. In this case is the RBD type storage that is related to each Ceph pool.

So you need both the Ceph Pool and the RBD type storage in PVE to store your VMs in Ceph.
 
Sorry @VictorSTS , but it’s not like that. Once the pool is created without adding any type of storage, I can create VMs and disks directly in the pool. So my question again. What is the difference between a pool and an RBD storage?"
 
Sorry @VictorSTS , but it’s not like that. Once the pool is created without adding any type of storage, I can create VMs and disks directly in the pool. So my question again. What is the difference between a pool and an RBD storage?"
where you create the pool, they are an option to directly add it as storage with same name than the pool (in /etc/pve/storage.cfg).

It's just a shortcut, you can do it manually if you want. (create a rbd storage using the pool).
 
  • Like
Reactions: cardax
where you create the pool, they are an option to directly add it as storage with same name than the pool (in /etc/pve/storage.cfg).

It's just a shortcut, you can do it manually if you want. (create a rbd storage using the pool).
tks you are right.
easy exmplanation

Add during pool creation.

rbd: pool01
content images,rootdir
krbd 0
pool pool01

Add from storage task:

rbd: rbd01
content images
krbd 0
pool pool01
 
Maybe as a more general explanation: whatever you have in Datacenter -> Storage (/etc/pve/storage.cfg) are the storages Proxmox VE knows about. They don't have a direct result on the actual storage layer, but rather make sure the nodes can connect to that said storage.

As @spirit mentioned, when managing the storage layer through Proxmox VE, you usually have the "Add Storage" checkbox that will create a matching storage config for you. For example, in Ceph, but also if you create a local storage under {Node}->Disks->{LVM/ZFS/...}
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!