Ceph is capable of block, object, and file storage and it is scale-out, meaning multiple Ceph storage nodes (servers) cooperate to present a single storage system that easily handles many petabytes (1PB = 1,000 TB = 1,000,000 GB). It is also able to increase both performance and capacity at the same time, leveraging the underlying commodity hardware components that serve as it’s foundation.
Ceph has many basic enterprise storage features including replication, erasure coding, snapshots, thin provisioning, tiering (ability to shift data between flash and hard drives – i.e. caching), and self-healing capabilities. In order to do that, Ceph leverages several components that we’ll delve into below.
As of Ceph Nautilus (v14.2.0) there are now five primary daemons, or services, that integrate to provide the base set of Ceph services. These are:
- ceph-mon. The Monitor provides for exactly what the name implies – monitoring cluster health. The monitor also tells OSD’s where to place data during replication and holds the master CRUSH map – more on that later.
- ceph-osd. The OSD is the underlying data storage platform for Ceph, leveraging the XFS filesystem and a physical disk to store block data presented to it from clients.
- ceph-mds. The MDS daemon provides for converting Ceph block data into a POSIX compliant mount point for storage files as you would a traditional filesystem.
- ceph-mgr. The MGR daemon presents monitoring and management information about the status of the cluster.
- ceph-rgw. The RGW daemon is an HTTP API daemon that presents the underlying clusters as buckets of storage in a way that it remains compatible with Amazon’s S3 or Openstack’s Swift API tools.
From a terminology standpoint, there are a few important ones to know with Ceph;
Ceph is built around the CRUSH Algorithm and supports multiple access methods (file, block, object). The CRUSH algorithm determines where objects go on what OSD’s, and can be reversed to pull those same blocks out for access requests.
Ceph leverages Reliable, Autonomic, Distributed, Object Store (or RADOS) comprised of self-healing, self-managing storage nodes. OSD Daemons discussed earlier form part of the RADOS cluster.
A placement group (PG) is a CRUSH map determined identifier for where data should go in the cluster. The number of PG’s in a cluster determine it’s size, and several calculators exist for right-sizing your cluster. PG’s can be set by the administrator or can be auto scaled depending on cluster usage.
RBD stands for RADOS block device and can be used within Ceph to create image blocks for virtualization like KVM and Xen. By leveraging librados, a RADOS compatible API, VM access is facilitated not by iSCSI or NFS, aging IP based tech, but rather through a storage API.
Potential Deployment Scenarios
Ceph is an extraordinarily flexible and coherent storage solution, as we’ve already described. Access to Ceph-stored objects can be accomplished in multiple ways, and as a result Ceph has a surprising number of use-cases which its predecessors generally lack.
Ceph can be deployed as a drop-in S3/Swift object storage replacement. Through it’s RADOS Gateway, objects stored in Ceph can be accessed using http GET requests as well as the plethora of Amazon S3 API toolkits available.
Ceph can also be leveraged in virtualization environments, including VMWare and other proprietary virtualization platforms, either via the librados API or via iSCSI/NFS.
CephFS can be deployed to provide POSIX compliant mountpoints for operating systems that need access to large scale file systems.
All of this leads to organizational consolidation, as a single storage platform can be leveraged to suit a wide variety of computing and storage needs.
Throughout this series, we will dig deeper into the technology that powers Ceph, and expand on the specific use cases and why they are so unique. Ceph is an extremely powerful technology that continues to improve with each iteration, and we’re excited to help you leverage it in your business.
Learn more about our consulting services. Our experts are available to speak with you and are always ready to assist.