Book Image

Mastering Ceph

By : Nick Fisk
Book Image

Mastering Ceph

By: Nick Fisk

Overview of this book

Mastering Ceph covers all that you need to know to use Ceph effectively. Starting with design goals and planning steps that should be undertaken to ensure successful deployments, you will be guided through to setting up and deploying the Ceph cluster, with the help of orchestration tools. Key areas of Ceph including Bluestore, Erasure coding and cache tiering will be covered with help of examples. Development of applications which use Librados and Distributed computations with shared object classes are also covered. A section on tuning will take you through the process of optimisizing both Ceph and its supporting infrastructure. Finally, you will learn to troubleshoot issues and handle various scenarios where Ceph is likely not to recover on its own. By the end of the book, you will be able to successfully deploy and operate a resilient high performance Ceph cluster.
Table of Contents (12 chapters)

Repairing inconsistent objects

We will now see how we can correctly repair inconsistent objects.

  1. To be able to recreate an inconsistent scenario, create an RBD, and later we'll make a file system on it:
  1. Now, check to see which objects have been created by formatting the RBD with a file system:

  1. Pick one object at random and use the osd map command to find out which PG the object is stored in:

  1. Find this object on the disk on one of the OSD nodes; in this case, it is OSD.0 on OSD1:

  1. Corrupt it by echoing garbage over the top of it:

  1. Now, tell Ceph to do a scrub on the PG that contains the object that we corrupted:

  1. If you check the Ceph status, you will see that Ceph has detected the corrupted object and marked the PG as inconsistent. From this point onward, forget that we corrupted the object manually and work through the process as if it were for real:

By looking at the detailed health report...