One of the 50+ available cloud providers Storage Made Easy supports is Ceph, a distributed object storage based software storage platform. A number of our customers currently use Storage Made Easy to provide file share and sync capabilities to their end users with Ceph as their backend storage.
When integrating with Ceph, SME currently uses its S3 compatible interface through its Rados Gateway (RADOSGW) (see the picture below), which was a perfect fit, since we support a number of clouds that present such interfaces. However, recently, we have begun to evaluate building a connector using Ceph’s lower level APIs through Librados.
Ceph is typically deployed with a cluster of object storage nodes, and so we wanted to create an environment that mimicked how our customers are using it. Deploying a number of VMs and configuring each one can be a time-consuming process, and so we looked for ways to spin up these machines without much effort.
Thankfully, other members of the community have also encountered such challenges, and we came across Chris Armstrong’s, multi node Ceph cluster, that makes creating a multi node Ceph cluster extremely effortless using Vagrant.
Setting up the Ceph cluster
Before installing the cluster, you need to ensure that you have the following installed on your system:
- Vagrant (https://www.vagrantup.com/downloads.html)
- Vagrant Cachier plugin (https://github.com/fgrehm/vagrant-cachier)
- Vagrant Host-Manager plugin (https://github.com/devopsgroup-io/vagrant-hostmanager)
- VirtualBox (https://www.virtualbox.org/)
Once you have these, you can clone the repository.
git clone firstname.lastname@example.org:carmstrong/multinode-ceph-vagrant.git
Move yourself into the directory.
Once you have done this, you can follow the steps listed on the main repository here:
Once you have followed those instructions, you should now have a fully operational multi-node Ceph cluster that you can connect to.