rookie NFS share ceph?

You don't...

Ceph does not provide a filesystem the same way NFS does - at least not directly. Ceph provides a storage model based on "objects". An "object" is basically a blob of bits that you can access using a unique id or handle.

Ceph provides a mechanism called RBD to simulate a block device using objects. Think of a block device like a raw disk. In Ceph, a "Rados Block Device" (RBD) is made up of a collection of objects that all happen to be the same size - 4MB. But this still does not give you a filesystem that you can share over NFS. RBD is a bit like sharing from a SAN using iSCSI.

Ceph also provides a meachanism to build a POSIX filesystem out of "objects". This is called CepfFS and has just reached supportable maturity for the first time with the Ceph Jewel release. Note that Proxmox does not support or expose CephFS, at least in part because Proxmox Ceph integration is still based on the Ceph Hammer release and cephfs is considered experimental in Hammer.

The primary use case for Ceph in Proxmox - and the only method directly supported by Proxmox's integration of Ceph - is RBD for the purpose of providing a shared storage model for VM Images.

IF cephfs were supported on Proxmox you could mount a cephfs filesystem onto a server and re-share it with NFS. But that would actually be a bit silly since most current Linux distros could just be set up to "mount" the cephfs directly. I suppose it might make sense if you were sharing with non-Linux devices that could not mount the cephfs directly. But doing the "mount/re-share" does create a single point of failure and a bottleneck that is a bit at odds with overall objectives of Ceph's distributed storage model.
 
Last edited:
Thank you very much, so how would it work if I have 3 nodes running storage and x other nodes for compute only - how can they talk to the ceph system on the other storage nodes?
 
  • Like
Reactions: mdream
Thank you very much, so how would it work if I have 3 nodes running storage and x other nodes for compute only - how can they talk to the ceph system on the other storage nodes?

for rados block devices accessed using librbd or mapped using the rbd kernel module, this is no problem - the ceph cluster nodes and the clients need not be the same machines, they just need to be connected.

for PVE this means that Qemu (which has librbd support) can just access the disk images stored on a ceph cluster, for containers we map the images as local block devices using the rbd kernel module and mount them for container usage.

you only need an explicit export mechanism if you need to access the same image from multiple clients at the same time or if you cannot use either librbd or rbd mapping to access your data.
 
... In Ceph, a "Rados Block Device" (RBD) is made up of a collection of objects that all happen to be the same size - 4k - which is a common size for physical disk blocks...
Hi,
sorry - but the object-size in ceph is 4MB (default) and has nothing to do with physical block sizes.
Code:
ceph --admin-daemon /var/run/ceph/ceph-osd.1.asok config show | grep rbd_default_stripe_unit
  "rbd_default_stripe_unit": "4194304",
Udo
 
Hi,
sorry - but the object-size in ceph is 4MB (default) and has nothing to do with physical block sizes.
Code:
ceph --admin-daemon /var/run/ceph/ceph-osd.1.asok config show | grep rbd_default_stripe_unit
  "rbd_default_stripe_unit": "4194304",
Udo
Thanks for pointing out my misunderstanding. Edited/corrected my post so the it doesn't mislead readers who come later.
 

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!