Design, implement, and deploy massively scalable storage solutions with Ceph's latest advanced features
About This Book
- Know when and how to use Ceph's advanced new features such as erasure coding, tiering, and Calamari
- Solve large-scale problems with Ceph as a tool by understanding its strengths and weaknesses to develop the best solution
- Get a guided learning experience that will later double as a reference guide, and go from realistic use cases and the underlying theory to practical deployment steps
Who This Book Is For
This book is for developers who have deployed a Ceph cluster before and are curious about some of the most advanced features. If you would like to know whether these features solve any problems you have, and if so, how you can get this solution into production, then this is the book for you.
This book will also be great for those who are looking for advice on developing novel solutions with Ceph's low-level librados interface, or simply want to peruse a few example solutions.
What You Will Learn
- Quickly and easily deploy a reproducible test cluster with Vagrant, Ansible, and VirtualBox
- Configure cache tiering to economically increase performance
- Configure an erasure coded pool to make space savings
- Distribute code to your OSDs with shared object classes
- Tune Ceph for performance from the ground up
- Troubleshoot your cluster quickly and effectively
- Develop applications directly on Ceph with librados, exploiting the extra functionality at this layer
- Explore the theories behind Ceph, including erasure coding, CRUSH, CAP, and Paxos
Ceph is an open source, distributed, and replicated storage system that is scalable to the exabyte level. Serving data at the object, block, and file level, you have a highly flexible and powerful tool at your fingertips. With recent development, Ceph has introduced various new powerful features that leverage the already solid platform to serve far more of your data, far quicker than ever. Unfortunately, this power and flexibility come at a price; Ceph does little to hide complexity from the user, especially when it comes to newer features. By taking a step back and understanding what these features solve and how they go about it, you'll have the confidence to roll out even the most complex setup without feeling lost.
We'll take a stroll through Ceph's latest and most flexible features, detailing precisely what problem they solve, how they work, and how you can use them. We'll cover the fundamentals in detail, from the ins and outs of cache misses to what "coding" means in erasure coding. When you understand the pre-packaged solutions, we will walk through the development of a novel solution to a non-trivial problem with Ceph's low-level API-librados. Finally, we'll tune Ceph for performance and leave you with some tips and reference material for troubleshooting and disaster recovery.