Deep dive into the unified, distributed storage system in order to provide excellent performance
About This Book
- Leverage Ceph's advanced features such as erasure coding, tiering, and Bluestore
- Solve large-scale problems with Ceph as a tool by understanding its strengths and weaknesses to develop the best solutions
- A practical guide that covers engaging use cases to help you use advanced features of Ceph effectively
Who This Book Is For
If you are a developer and an administrator who has deployed a Ceph cluster before and are curious about some of the most advanced features in order to improve performance then this book is for you
What You Will Learn
- Know when and how to use some of Ceph's advanced new features
- Set up a test cluster with Ansible and some virtual machines using VirtualBox and Vagrant
- Develop novel solutions to massive problems with librados and shared object classes.
- Choose intelligent parameters for an erasure coded pool and set it up.
- Configure the Bluestore settings and see how they interact with different hardware configurations.
- Keep Ceph running through thick and thin with tuning, monitoring and disaster recovery advice.
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.
Style and Approach
A practical guide which has each chapter explaining the concept, sharing tips and tricks and a use case to implement the most powerful features of Ceph
Table of Contents
Planning for Ceph
- What is Ceph?
- How Ceph works?
- Ceph use cases
- Specific use cases
- Infrastructure design
- Network design
How to plan a successful Ceph implementation
- Understanding your requirements and how it relates to Ceph
- Defining goals so that you can gauge if the project is a success
- Choosing your hardware
- Training yourself and your team to use Ceph
- Running PoC to determine if Ceph has met the requirements
- Following best practices to deploy your cluster
- Defininga change management process
- Creating a backup and recovery plan
- Preparing your environment with Vagrant and VirtualBox
- A very simple playbook
- Adding the Ceph Ansible modules
- Change and configuration management
Erasure Coding for Better Storage Efficiency
- What is erasurecoding?
- How does erasure coding work in Ceph?
- Algorithms and profiles
- Where can I use erasure coding?
- Creating an erasure-coded pool
- Developing with Librados
Distributed Computation with Ceph RADOS Classes
- Example applications and the benefits of using RADOS classes
- Writing a simple RADOS class in Lua
- Writing a RADOS class that simulates distributed computing
- RADOS class caveats
- Why it is important to monitor Ceph
- What should be monitored
- PG states -the good, the bad, and the ugly
- Monitoring Ceph with collectd
Tiering with Ceph
- Tiering versus caching
- What is a bloom filter
- Tiering modes
- Uses cases
- Creating tiers in Ceph
- Tuning tiering
- Promotion throttling
- OP priorities
- The Network
- General system tuning
- Kernel RBD
- PG distributions
- Repairing inconsistent objects
- Full OSDs
- Ceph logging
- Slow performance
- Extremely slow performance or no IO
- Investigating PGs in a down state
- Large monitor databases
- What is a disaster?
- Avoiding data loss
- What can cause an outage or data loss?
- RBD mirroring
- RBD recovery
- Lost objects and inactive PGs
- Recovering from a complete monitor failure
- Using the Cephs object store tool
- Investigating asserts
- Title: Mastering Ceph
- Release date: May 2017
- Publisher(s): Packt Publishing
- ISBN: 9781785888786