A blog to share security, networking and cloud related technology information as @vCloudernBeer picked up on his search for his destiny in the cloud. (LinkedIn: https://www.linkedin.com/in/chowanthony)

Sunday, November 16, 2014

OpenStack Series: Part 16 – Ceph in OpenStack

In the Ceph home page, Ceph is described as a unified, distributed storage system designed
for excellent performance, reliability and scalability.

Ceph
is a unified, distributed storage system designed for excellent
performance, reliability and scalability. - See more at:
http://ceph.com/#sthash.eFgRE0CM.dpuf

Ceph
is a unified, distributed storage system designed for excellent
performance, reliability and scalability. - See more at:
http://ceph.com/#sthash.eFgRE0CM.dpuf

Ceph
is a unified, distributed storage system designed for excellent
performance, reliability and scalability. - See more at:
http://ceph.com/#sthash.eFgRE0CM.dpuf

Ceph
is a unified, distributed storage system designed for excellent
performance, reliability and scalability. - See more at:
http://ceph.com/#sthash.eFgRE0CM.dpuf

It is easy to understand distributed but what about unified?

Unified means Ceph is able to deliver object, block and file storage in one system using commodity hardware. These commodity hardware is usually defined as Node and a cluster is Cluster is a collection of node.

Ceph is an open source Software Defined Storage. Inktank is the commercial company that delivers enterprise ready Ceph. Inktank was bought by Red Hat in May 2014. Dreamhost is also a major contributor to the Ceph open source software.

As a side not Ceph comes from the "cephalopod". Inktank is kind of related to because cephalopod can squirt ink. Also the management and monitoring system for Ceph is called Calamari.

The attraction of Ceph is its ability to scale with commodity hardware and there is also build-in resiliency/High Availability.

Ceph is deployed as Storage Clusters in which there is the RADOS (Reliable Autonomic Distributed Object Store) and Ceph software uses CRUSH (Controlled Replication Under Scalable Hashing) to determine how and where to store the data within the storage cluster.

A Ceph Monitor maintains a master copy of the cluster map. A cluster of Ceph
monitors ensures high availability should a monitor daemon fail. Storage cluster
clients retrieve a copy of the
cluster map from the Ceph Monitor.

A Ceph OSD Daemon checks its own state and the state of other OSDs and reports
back to monitors.

Ceph
Object Gateway (RGW)provides complete compatibility with the Swift API, integrates
into Keystone for authentication and can be used as a backend to Glance.

Full compatibility with the Amazon S3 API, a more scalable and easier to manage
architecture, and the ability to run a single system for object and block,

Ceph at CERNCERN is a huge nuclear research institute in Europe. CERN deploy OpenStack in its production environment. CERN received the "OpenStack Superuser Award" at the OpenStack summit in Paris. Checkout their cloud infrastructure here. Being a research institute, storage is important. Ceph is being used by CERN for image processing, storing and archiving research data as well as quick data retrieval. It has a 3 PB (petabyte) Ceph Cluster in production.

Note: 1 PB = 1000000000000000B = 1015bytes = 1000terabytes.

image source: https://pbs.twimg.com/media/B0a6e1CCAAED1Pq.png:large

Not exactly a reference architecture of Ceph but with this example we can see that Ceph has a lots of potential to be used along with OpenStack.

Ceph use cases
Ceph runs on the same Linux cluster that KVM is running on. With OpenStack Heat to autoscale, it has all the right ingredients to be made into a hyperconvergence unit. Recently Nutanix and Simplivity are gaining momentum in this hyperconvergence space. One application of hyperconvergence is on VDI (Virtual Desktop Infrastructure) and big data market.

According to Mirantis, OpenStack Sahara is planing to have native Ceph support in the Kilo release.

It seems to me that due the nature of Ceph being able to support object, block and file system storage, it has huge potentials for different application and use cases.