Book Image

Ceph Cookbook - Second Edition

By : Vikhyat Umrao, Karan Singh, Michael Hackett
Book Image

Ceph Cookbook - Second Edition

By: Vikhyat Umrao, Karan Singh, Michael Hackett

Overview of this book

Ceph is a unified distributed storage system designed for reliability and scalability. This technology has been transforming the software-defined storage industry and is evolving rapidly as a leader with its wide range of support for popular cloud platforms such as OpenStack, and CloudStack, and also for virtualized platforms. Ceph is backed by Red Hat and has been developed by community of developers which has gained immense traction in recent years. This book will guide you right from the basics of Ceph , such as creating blocks, object storage, and filesystem access, to advanced concepts such as cloud integration solutions. The book will also cover practical and easy to implement recipes on CephFS, RGW, and RBD with respect to the major stable release of Ceph Jewel. Towards the end of the book, recipes based on troubleshooting and best practices will help you get to grips with managing Ceph storage in a production environment. By the end of this book, you will have practical, hands-on experience of using Ceph efficiently for your storage requirements.
Table of Contents (15 chapters)

I/O path from a Ceph client to a Ceph cluster

Let's have a quick recap of how clients access the Ceph cluster. To perform a write operation with the Ceph cluster, the client gets the latest copy of the cluster map from the Ceph monitor (if they do not have it already). The cluster map provides information about the Ceph cluster layout. Then the client writes/reads the object, which is stored on a Ceph pool. The pool selects OSDs based on the CRUSH ruleset for that pool. The following diagram illustrates this entire process:

Now, let's understand the process of data storage inside the Ceph cluster. Ceph stores data in logical partitions known as pools. These pools hold multiple PGs, which in turn hold objects. Ceph is a true distributed storage system in which each object is replicated and stored across different OSDs each time. This mechanism has been explained with...