Object storage comes from cloud environments, where the need to scale out storage is typically higher than in other...
environments. Ceph object storage is one of the most popular products currently in use for configuring the backing storage for a KVM VM.
In Ceph, many nodes work together in a cluster to offer access to commodity storage and provide distributed storage. Different types of clients can connect to these storage nodes by accessing the metadata information provided by the ceph-mon node.
Object storage was developed to offer storage in a new way: Applications can get to the storage through a direct Application Programming Interface (API), which means that applications can provide access to storage devices without an OS. Some object storage products offer API access only and, for that reason, are not that useful since they cannot be used in generic OS environments. On the contrary, Ceph supplies different methods for client access, including the RADOS Block Device, which can natively connect to the management layer in KVM environments (libvirt).
Which type of environment?
Ceph object storage works best in certain environments. The offering was developed with cloud in mind, as an affordable product that can easily scale up into the petabyte storage range. Setting up Ceph isn't easy though, which means that staff will need to invest in acquiring knowledge about the product. By itself, Ceph can be drastically more affordable than the more traditional SAN offerings currently in use in most data centers. This makes Ceph an ideal storage product for bigger environments, as opposed to companies that just want to host a few VMs.
In a Ceph-based offering, the Ceph client writes binary objects. These serve as the data blocks at the Ceph level and they are automatically replicated at least three times, which is configurable. An even more important feature in Ceph is its distributed nature. Typically, when an administrator creates a VM, this VM is written as distributed replicated binary objects over servers -- in some cases, dozens of them.
The Ceph object storage offering works quickly to accommodate that many servers. The client no longer needs to access just one storage interface where the interface becomes the bottleneck. The request is, instead, handled by dozens of servers simultaneously, which means the file can be presented to the client as fast as the network speed will allow.
An affordable option
Perhaps the best news about Ceph is that it can be run on commodity hardware rather than expensive, high-end storage hardware. The result is that a typical Ceph object storage offering can be much cheaper than the traditional SAN offering. Users can set up Ceph using simple rack-mounted servers with big Serial Advanced Technology Attachment disks.
Although Ceph's storage hardware is cheaper, it requires a higher investment in networking hardware. Since every binary object is replicated three times, the amount of data sent over the network triples. You might be able to get away with using 1 Gb in a test setup, but you'll need at least 10 Gb for networking when using Ceph in a production environment.
Ceph is available as both a free and open source offering, and the official Ceph documentation can show you how to set it up in an affordable way. Linux vendors Red Hat and SUSE also provide a supported Ceph offering with an easier to use setup interface.
SUSE sets its sights on open source storage with Ceph
Red Hat makes changes to Ceph pricing model
Exploring the different use cases for Ceph
Integrate Ceph into a VMware vSphere environment