Ceph is highly regarded within the hosting industry and is supported by many common programs. We cover the basics, advantages, disadvantages and the recommended way to set up a Ceph cluster.
What is a Ceph Cluster?
A Ceph cluster is a distributed object-oriented storage solution. In short, it’s a cluster of drives used for storage with high availability and network-attached storage (NAS) capabilities. A Ceph cluster can replicate data across many drives and servers, breaking data into “objects” and storing copies of it across a cluster of drives. As a result, you don’t lose data if a single drive dies or even if a whole storage node dies. A Ceph cluster is open source and can easily be built into a number of solutions.
Who Uses a Ceph Cluster?
A Ceph cluster is perfect for anyone looking to keep their data online and virtual machines up 24/7. It is excellent for cloud environments hosting virtual machines or containerized environments. There are also other features Ceph has, like an object storage API called Rados Gateway (RGW) to upload individual files and a network sharable filesystem (CephFS).
Advantages vs Disadvantages of Using a Ceph Cluster
|Highly available storage |
Free to use
No single copy of your data
Customizable to suit a number of needs
Allows for quick failover for VM’s, since all hypervisors have access to the same network drives
Can upload and share files via URLs
Easy to expand
Easy to rebuild a downed node, or replace drives
Highly used, lots of information online for troubleshooting/setup
|I/O issues if the network is slow |
I/O issues if you have slow drives in the cluster
I/O issues when rebuilding drives or a node
An ideal setup can take some time, testing is required to make sure you have the right configuration
Additional upkeep needed to keep the cluster running smooth and “healthy”
Testing needed for any upgrades between your hosting environment and the Ceph cluster
Why Should You Choose Ceph over any Other Alternatives?
Ceph is open source and highly regarded. It has been around for a long time and has a lot of trust in the hosting industry. Ceph is also relatively easy to set up and get started. Many hosting environments like OpenStack, Proxmox, and container solutions like Kubernetes support Ceph. Ultimately it is widely supported and reputable within the hosting industry.
How to Set Up A Ceph Cluster?
Currently, the recommended solution is to use Cephadm:
The script is supported by the Ceph team and can be used to deploy your whole cluster from an initial deployment node and uses SSH to install and configure Ceph services on the rest of your nodes.
You will need a server to run the Cephadm commands and can install Cephadm on most Linux distributions. Once you add the Cephadm script, you can run a bootstrap command on one of your nodes, which will make it a Ceph monitor, and set up initial SSH keys and a Ceph configuration for you. After which, you can add additional monitor nodes and start adding your storage nodes (known as OSD). You generally want 3 Monitor servers for an HA Ceph setup and 3 OSD nodes for storage, with multiple drives.
A Ceph cluster is a great tool for keeping your data online and VMs up 24/7. With the reputation that Ceph has built, it is a great storage solution to have. Though setting it up and testing your cluster may seem time-consuming, the support within the community makes it easy to find information online.
If you found this article helpful, you may want to look at learning how to set up and install an Ubuntu server.