digital file cabinets in dark room with one cabinet open Alamy

Why and How to Set Up Ceph Storage for Your Data Center

We break down why you should (or shouldn't) use the free, open source storage platform Ceph inside a data center – as well as offer a quick start guide for deploying it today.

If you're looking for a storage solution to deploy inside a data center, Ceph is a great option. As a free and open source storage platform that can scale to support virtually any volume of storage requirements, Ceph offers cost-effective and flexible storage for a variety of data center storage use cases.

This article breaks down why you should (or shouldn't) use Ceph storage inside a data center – as well as how to get started.

What is Ceph?

Ceph is a software-defined storage system available primarily under an LGPL open source license. Using Ceph, you can configure a set of servers and disks to function as a storage cluster that can serve data to applications over the network.

For data center storage needs, Ceph provides several attractive benefits:

  • Zero cost: Ceph is free to download, install and use.
  • Flexible storage: Ceph lets you configure object, block and file storage – so no matter how you want to store data, Ceph can probably support your needs.
  • Compatibility with commodity hardware: Ceph works with most commodity hardware, which means you don't need to purchase new servers or disks to create Ceph storage clusters.
  • Reliability: Ceph is designed to ensure high availability and to replicate data, mitigating the risk of data loss.

Ceph Alternatives

Ceph is not the only software-defined storage solution available today. Popular alternatives to Ceph include Minio, ZFS and Longhorn.

A detailed comparison of Ceph and alternative storage platforms is beyond the scope of this article. But in general, Ceph is considered the most flexible option because it supports more storage mode configurations. The fact that it's open source and not tied to any particular vendor or platform also differentiates it from some other options. (Red Hat has had a lot of influence over Ceph development because it acquired the company that originally developed Ceph, but today, Ceph is managed by a nonprofit foundation whose members include, but are not limited to, Red Hat.)

Cephceph information stack

A visualization of Ceph's architecture

Ceph is also comparable in some ways to more traditional storage systems, like NFS and RAID arrays. Unlike these solutions, however, Ceph is designed to create storage clusters, not just serve data over the network (as NFS does) or replicate data across disks (a primary use case for RAID).

Who Should (and Shouldn't) Use Ceph?

Ceph is a great storage solution for data centers if:

  • You already own storage hardware and want a scale-out storage system that works with it
  • You need to support different types of storage (like object and block storage) at the same time
  • You have staff capable of managing Ceph clusters on their own, with limited external support

On the other hand, Ceph may not be for you if:

  • Your workloads already reside on a specific platform (like Oracle) that provides its own scale-out storage solution (ZFS, in Oracle's case)
  • You only have a handful of servers or disks that you want to turn into a storage cluster. In that case, a simpler solution, like RAID or NFS, may be a better option than Ceph, which is not trivial to manage

Getting Started with Ceph

While Ceph can be complex to administer at scale, getting a Ceph cluster up and running is actually simple enough. The exact process will vary depending on how large you want your cluster to be and which operating system (or systems) are running on the servers you'll include in the cluster. But here's the basic process.

Step 1: Set up servers to function as Ceph nodes

Before installing Ceph, you'll need a collection of servers that will operate as nodes within your cluster. Ceph supports Linux and Windows, so you can use either OS. (Note, however, that for admin nodes, which manage the cluster, the underlying servers have to run Linux; Windows nodes can only operate as Ceph clients.)

Step 2: Install Ceph on admin node

To begin the process of setting up Ceph, log into the server that you want to use as your admin node and install Ceph. The installation command varies depending on which Linux distribution you're using. On Ubuntu and other Debian-based distributions, you can install Ceph with:

sudo apt install ceph-deploy

Step 3: Create a Ceph cluster

With Ceph installed on your admin node, you can begin setting up a cluster.

First, create a directory and cd into it:

mkdir ceph-cluster1

cd ceph-cluster1

Then, run a command like the following to tell Ceph to create a cluster based on nodes whose names you specify (this case, our nodes are named node1, node2 and node3):

ceph-deploy new node1 node2 node3

And finally, run the following to install Ceph on the nodes:

ceph-deploy install node1 node2 node3

There's a lot more that you can do once your Ceph cluster is up and running – as well as several options you can configure when setting up Ceph that we haven't covered here. The goal here is just to show the basic process of getting started with Ceph – and demonstrate how easy it is. For full details, check out the Ceph documentation

TAGS: Storage
Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish