, Полное руководство Ceph, 2е изд.

Полное руководство Ceph, 2е изд.

Ник Фиск

 

Первая публикация на английском языке: Май 2017

Второе издание на английском языке: Февраль 2019

Ссылка на продукт: 1010319

Все права защищены. Никакая часть этой книги не может быть воспроизведена, сохранена в поисковой системе или передана в любой форме или любыми средствами без предварительного письменного разрешения издателя, за исключением случаев кратких цитат, встроенных в критические статьи и обзоры.

При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации. Тем не менее, информация, содержащаяся в этой книге, продаётся без гарантии в явном или неявном виде. Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки, вызванные или предположительно вызванные прямо или косвенно этой книгой.

Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов, упомянутых в данной книге для надлежащего использования капиталов. Тем не менее, Packt Publishing не может гарантировать точность этой информации.

Опубликовано Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK

ISBN-13 978-1-78961-070-3

www.packtpub.com

2019-03-16

 Состав исполнителей

Авторы
Ник Фиск
Рецензент
Редактор выпуска
Пэйвэн Памчандэйни
Редактор приобретения
Мита Рэёджэёни
Редактор разработки содержания
РНитхин Джордж Варгиз
Технический редактор
Рутуджа Пэйтэйд
Литературный редактор
Safis Editing
Координатор проекта
Драшти Панчал
Корректор
Safis editing
Составитель указателя
Тихал Дэйрувэйл Соуни
Графика
Том Скэйрия
Координатор производства
Апрна Бхагат

 Об авторах

Ник Фиск .

 Рецензент

.

 www.PacktPub.com

 Предисловие

Ceph является унифицированной, высоко надёжной, распределённой системой хранения, которая предоставляет доступ на уровне блоков, объектов и файлов, причём пользуется всплеском популярности за последние несколько лет. Благодаря своему построению на открытом коде, Ceph быстро завоевала популярность как у разработчиков, так и у конечных пользователей, поскольку в данный проект был вовлечён ряд широко известных корпораций. С каждым новым выпуском имеющийся масштаб её производительности и набор функций продолжают расти, что ещё больше повышает статус Ceph.

При текущих запросах для всё возрастающего хранения данных, а также при тех вызовах, с которыми сталкиваются наследуемые системы на основе RAID, Ceph оказалась в удачном месте для предложения ответа на данные проблемы. По мере того как наш мир движется в сторону приспособления к новым облачным технологиям и хранения на основе объектов, Ceph уже готова и ждёт своего места в качестве основной движущей силы новой эры технологий хранения.

В данной книге мы охватим широкое разнообразие тем, начиная с установки и управления неким кластером Ceph, через то как выполнять восстановление при сбоях, если вы вдруг окажетесь в таком положении. Для тех кто заинтересован в получении своих приложений напрямую работающими с Ceph, данная книга также покажет как разрабатывать приложения которые применяют библиотеки Ceph и даже как осуществлять распределённые вычисления путём вставки вашего собственного кода в Ceph. К окончанию данной книги вы твёрдо встанете на путь освоения Ceph.

Вторая редакция Mastering Ceph теперь содержит обновления относительно новой технологии BlueStore, введённой в выпуске Luminous с руководствами, призванными помочь вам понять BlueStore и обновить свой существующий кластер для получения её преимуществ.

 Для кого эта книга

Если вы профессионал систем хранения, системный администратор или инженер облачных решений, который ищет решения для построения мощных систем хранения для своей облачной и локальной инфраструктуры, тогда эта книга для вас.

 Что охватывает эта книга

Глава 1. Планирование Ceph Охватывает основы того как работает Ceph, его базовую архитектуру и изучает некоторые приемлемые варианты использования. Она также обсуждает те шаги планирования, которые вам следует предпринять прежде чем реализовывать Ceph, в том числе постановку целей проектирования, доказательство работоспособности концепции и работу над проектированием инфраструктуры.

Глава 2. Развёртывание Ceph в контейнерах это пошаговая инструкция без дураков относительно того как установить некий кластер Ceph. Эта глава рассматривает ceph-deploy в качестве проверки и переходит к обсуждению Ansible. Наконец, мы взглянем на проект Rook для развёртывания кластеров Ceph, запускаемых поверх кластера Kubernetes. Также содержится раздел по изменению управления и даются пояснения насколько это существенно для стабильности больших кластеров Ceph. Данная глава также служит целям предоставления читателю общей платформы в рамках которой вы сможете строить те примеры, которые мы будем позднее применять в данной книге.

Глава 3. BlueStore поясняет что Ceph должен иметь возможность предоставлять атомарные операции над данными и метаданными и как строился FileStore для предоставления таких гарантий поверх стандартных файловых систем. Мы также рассмотрим те проблемы, которые появляются при подобном подходе.

Затем эта глава представляет BlueStore и поясняет как он работает и те проблемы которые он разрешает. Это охватывает сами компоненты и то как они взаимодействуют с различными типами устройств хранения. Мы рассмотрим обзор хранилищ ключ- значение, в том числе RocksDB, который применяется в BlueStore. Будут обсуждены некоторые настройки BlueStore, а также их взаимодействие с различными аппаратными конфигурациями.

Данная глава завершается обсуждением тех методов, которые доступны для обновления некого кластера на BlueStore и проводит читателя по некому примеру обновления.

Глава 4. Ceph и инородные протоколы Обсуждает возможности того хранения, которые предоставляет Ceph естественным клиентам Ceph, а затем высвечивает те проблемы, в большем числе унаследованных систем хранения, где они в настоящее время пока не получили широкого распространения. Данная глава продолжается рассмотрением тех путей, которыми Ceph может быть экспортирован через NFS и iSCSI в клиенты, которые естественным путём не общаются с Ceph и предоставляет примеры для демонстрации конфигураций.

Глава 5. Пулы RADOS и доступ клиента рассматривает как Ceph предоставляет хранилище через свои три основных протокола блоков, файлов и объектов. Эта глава обсуждает варианты применения каждого из них и те компоненты Ceph, которые применяются для предоставления каждого протокола. Данная глава также охватывает основные различия между пулами репликаций и удаляющего кодирования и более пристально рассматривает работу пулов удаляющего кодирования.

Глава 6. Разработка при помощи librados объясняет как librados применяется для построения приложений которые напрямую могут взаимодействовать с неким кластером Ceph. Затем она переходит к ряду различных примеров использования librados в различных чзыках программирования чтобы представить самому читателю некую идею как может применяться librados, включая атомарные транзакции.

Глава 7. Распределённые вычисления при помощи классов RADOS Ceph обсуждает те преимущества переноса обработки непосредственно в OSD для действенного исполнения распределённых вычислений. Она затем обсуждает как приступить к работе с классами RADOS путём построения такого примера с помощью Lua. Затем она исследует как собирать ваш собственный класс RADOC C++ в вашем дереве исходного кода Ceph и проводить эталонное тестирование относительно производительности обработки в самих клиентах в сопоставлении с обработкой в OSD.

Глава 8. Мониторинг Ceph Начинает с описания того почему важен мониторинг и обсуждает различия между оповещениями и мониторингом. Данная глава затем обсуждает как получать счётчики производительности ото всех компонентов Ceph, объясняет что означают ключевые счётчики и как преобразовывать их в доступные к использованию значения.

Некий пример применения graphite покажет особую ценность способности манипуляции перехватываемыми данными для предоставления более выразительного вывода в графическом виде. рассматривается некий обзор новой Инструментальной панели Ceph, введённой в выпуске Mimic совместно с пошаговым примером его включения в исполняемый кластер Ceph.

Глава 9. Тонкая настройка Ceph начинается с краткого обзора того как настраивать Ceph и его операционную систему. Она также охватывает основные понятия обхода попыток настройки чего- то что не является узким местом. Она также рассматривает те области, которые вы можете пожелать настроить и устанавливает как замерять успешность попыток настройки. Затем она показывает как осуществлять эталонное тестирование Ceph и получать замеры базового уровня с тем, чтобы все достигаемые значения были существенными. Наконец, она обсуждает различные инструменты и как эталонное тестирование может соотноситься с производительностью в реальной жизни.

Глава 10. Множество уровней в Ceph объясняет как множество уровней RADOS работает в Ceph, где его следует применять и его ловушки. Данная глава служит для предоставления читателю пошагового руководства по настройке множественности уровней в неком кластере Ceph и в конце концов обсуждает возможности настроек для того чтобы иметь возможность извлекать наилучшую производительность от множественности уровней.

Глава 11. Поиск неисправностей описывает как в ряде случаев требуется вмешательство персонала, несмотря на то что хотя Ceph в значительной степени автономен в отношении заботы о себе и восстановлений после ситуаций отказа. Данная глава рассмотрит распространённые ошибки и ситуации отказов, а также способы восстановления работоспособности Ceph путём устранения неполадок.

Глава 12. Восстановление после сбоев подробно описывает как возобновить доступ к вашему кластеру и, как мы надеемся, восстановить данные, в случае, когда Ceph пребывает в таком состоянии, когда произошла полная утрата службы или произошла потеря данных и требуются менее известные техники восстановления. Данная глава вооружит вас знаниями для попытки восстановления при подобных ситуациях.

 Что вам нужно для этой книги

Эта книга предполагает средний уровень профессионализма в операционной системе Linux и базовых знаний технологий хранения и сетевых сред. Хотя данная книга пройдёт некий пример установки кластера со множеством узлов, было бы желательно чтобы у читателя имелся бы некий предварительный опыт применения Ceph. Хотя сама книга и применяет Virtual Box, не стесняйтесь использовать и любую иную лабораторную среду, например, VMware Workstation или прочие инструментальные средства.

Данная книга предполагает что вы имеете достаточные ресурсы для лабораторной среды Ceph целиком. Минимальные аппаратные или виртуальные требования перечисляются следующим образом:

  • ЦПУ: 2 ядра

  • Память: 8 ГБ ОЗУ (рекомендуется 16 ГБ)

  • Дисковое пространство: 40 ГБ

Следуя по этой книге вам потребуется такое программное обеспечение:

  • VirtualBox

  • vagrant

Для установки необходимых пакетов, как части имеющихся в каждой из глав примеров, требуется связь с Интернетом.

 Загрузка примеров кода

Вы можете загрузить файлы примеров кода по адресу из своей учётной записи: http://www.packtpub.com. Если вы приобрели книгу где- либо ещё, вы можете посетить http://www.packtpub.com/support и зарегистрироваться для получения этих файлов по электронной почте непосредственно на свой адрес.

Вы можете загрузить эти файлы с кодом выполнив следующие шаги:

  1. Зарегистрируйтесь на нашем вебсайте при помощи своего адреса электронной почты и пароля.

  2. Переместите указатель мыши на закладку SUPPORT в верхней части.

  3. Кликните по Code Downloads & Errata.

  4. Введите название книги в блок Search.

  5. Выберите книгу для которой вы ищете для загрузки файлы исходного кода.

  6. В ниспадающем меню выберите где вы приобрели эту книгу.

  7. Кликните по Code Download.

Вы также можете загрузить фалы кодов кликнув по кнопке Code Files вебстраницы на вебсайте Packt Publishing. Доступ к данной странице может быть получен путём ввода названия книги в блоке Search. Отметим, что вы должны быть зарегистрированы со своеЙ учётной записью Packt.

После загрузки убедитесь, пожалуйста, что вы раззиповали или раскрыли эту папку при помощи самой последней версии:

  1. WinRAR / 7-Zip для Windows

  2. Zipeg / iZip / UnRarX для Mac

  3. 7-Zip / PeaZip для Linux

Пакет с кодом для данной книги также размещён на GitHub по адресу https://github.com/PacktPublishing/Mastering-Ceph-Second-Edition. У нас также имеются прочие наборы из нашего богатого каталога книг и видео доступные на https://github.com/PacktPublishing/. Следите за ними!

 Загрузка цветных изображений данной книги

Также мы снабжаем вас неким PDF файлом, который имеет цветные изображения применяемых в данной книге снимков экрана/ схем. Эти цветные изображения помогут вам лучше понять все изменения в имеющемся выводе. Вы можете загрузить этот файл с https://www.packtpub.com/sites/default/files/downloads/9781789610703_ColorImages.pdf.

 Соглашения

В данной книге вы найдёте ряд текстовых стилей, которые делают разницу между различными видами информации. Здесь мы приводим некоторые примеры этих стилей и объяснение их назначения.

как CodeInText: Кодовые слова в тексте, имена таблиц базы данных, имена папок, имена файлов, расширения файлов, имена путей, модели URL-адресов, ввод пользователя, и регулировки Twitter представлены следующим образом: "Установите набор инструментов corosync, pacemaker и cmrsh с помощью следующего кода:"

Блок кода записываются следующим образом:


Vagrant.configure("2") do |config|
nodes.each do |node|
config.vm.define node[:hostname] do |nodeconfig|
nodeconfig.vm.box = "bento/ubuntu-16.04"
 	   

Когда мы хотим привлечь ваше внимание к некоторой определённой части блока кода, соответствующие строки и элементы выделяются жирным шрифтом:


Vagrant.configure("2") do |config|
nodes.each do |node|
config.vm.define node[:hostname] do |nodeconfig|
nodeconfig.vm.box = "bento/ubuntu-16.04"
 	   

Любой ввод и вывод командной строки записываются так:


yum install *.rpm
 	   

Новые термины и важные слова отображаются жирным шрифтом. Слова, которые вы видите на экране, например, в меню или блоках диалогов появляются в тексте следующим образом: "Кликните по ссылке Repo URL, которая переместит вас в соответствующее дерево каталога репозитория."

[Замечание]Замечание

Предостережения или важные замечания появляются в блоках подобных этому.

[Предостережение]Предостережение

.

[Совет]Совет

Советы и ловкие приёмы возникают таким образом.

 Обратная связь с читателями

Обращения наших читателей всегда приветствуются. Дайте нам знать что вы думаете об этой книге - что вам нравится или не нравится. Обратная связь с читателями важна нам, так как помогает нам разрабатывать издания, от которых вы на самом деле получите максимальную пользу.

Для отправки обычного отклика просто пошлите электронное письмо на адрес feedback@packtpub.com с упоминанием заголовка книги в теме вашего сообщения.

Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.

 Поддержка пользователей

Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам в получении максимальной выгоды от вашей покупки.

 Опечатки

Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны. Если вы обнаружили ошибку в нашей книге - возможно, ошибку в тексте или в коде - мы будем признательны если вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив www.packtpub.com/submit-errata, выбрав вашу книгу, кликнув на ссылку Errata Submission Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень существующих ошибок с заголовком раздела Errata.

Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support и введите название нужной книги в поле поиска. Необходимая информация появится в разделе Errata.

 Вопросы

Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу questions@packtpub.com и мы предпримем все меры в отношении ваших проблем.

 Содержание

Предисловие
Для кого эта книга
Что охватывает эта книга
Что вам нужно для этой книги
Соглашения
Обратная связь с читателями
Поддержка пользователей
Загрузка кодов примеров
Опечатки
Вопросы
Часть 1. Планирование и развёртывание
Глава 1. Планирование Ceph
Что такое Ceph?
Как работает Ceph?
Варианты применения Ceph
Особые варианты использования
Виртуализация на основе OpenStack или KVM
Большая куча блочных хранилищ
Объектное хранилище
Объектное хранилище применяемое для индивидуальных приложений
Распределённая файловая система - веб ферма
Распределённая файловая система - NAS или замена файлового сервера
Бигдата
Проектирование инфраструктуры
SSD
SSD корпоративного уровня
Корпоративные - для интенсивного чтения
Корпоративные - для обычного применения
Корпоративные - для интенсивной записи
Оперативная память
ЦПУ
Диски
Сетевая среда
Необходимость сети 10G
Проектирование сетевой среды
Размеры узла OSD
Области отработки отказа
Стоимость
Энергоснабжение
Как спланировать успешную реализацию Ceph
Осознание ваших требований и того как они относятся к Ceph
Определение целей с тем, чтобы вы могли измерять его как успешный проект
Воссоединение с сообществом Ceph
Выбор вашего оборудования
Подготовка себя и своей команды к применению Ceph
Исполнение PoC для определения того, отвечает ли Ceph поставленным целям
Применение практического опыта для развёртывания вашего кластера
Определение процесса изменения управления
Создания плана резервного копирования и восстановления
Выводы
Вопросы
Глава 2. Развёртывание Ceph в контейнерах
Техничесике требования
Подготовка вашего окружения при помощи Vagrant и VirtualBox
Как установить VirtualBox
Как настроить Vagrant
Ceph-deploy
Оркестрация
Ansible
Установка Ansible
Создание вашего файла учёта ресурсов
Переменные
Тестирование
Очень простой плейбук
Добавление модулей Ansible Ceph
Развёртывание проверочного кластера при помощи Ansible
Изменение и настройка управления
Ceph в контейнерах
Контейнеры
Kubernetes
Развёртывание кластера Ceph при помощи Rook
Выводы
Вопросы
Глава 3. BlueStore
Что такое BlueStore?
Зачем оно?
Требования Ceph
Ограничения файлового хранения
Почему BlueStore является решением?
Как работает BlueStore
RocksDB
Сжатие
Контрольные суммы
Тюнинг кэширования BlueStore
Отложенные записи
BlueFS
ceph-volume
Как применять BlueStore
Стратегии обновления имеющегося кластера на BlueStore
Обновление OSD в вашем кластере
Выводы
Вопросы
Глава 4. Ceph и инородные протоколы
Блочные устройства
Файлы
Примеры
Экспорт Ceph RBD через iSCSI
Экспорт CephFS через Samba
Экспорт CephFS через NFS
Гипервизор ESXi
Кластеризация
Расщепление сознания
Выгораживание
Pacemaker и corosync
Создание совместно используемой NFS с высокой доступностью на основе CephFS
Выводы
Вопросы
Часть 2. Работа и настройка
Глава 5. Пулы RADOS и доступ клиента
Пулы
Пулы с репликацией
Пулы удаляющего кодирования
Что такое удаляющее кодирование?
K+M
Как работает удаляющее кодирование в Ceph?
Алгоритмы и профили
Jerasure
ISA
LRC
SHEC
Поддержка наложенной записи в пулах с удаляющим кодированием
Создание пула удаляющего кодирования
Поиск неисправностей для ошибки 2147483647
Воспроизводство данной проблемы
Очистка
Типы хранилища Ceph
RBD
Динамичное предоставление
Моментальные снимки и клоны
Соответствия объектов
Блокировка ограничения доступа
CephFS
MDS и их состояния
Создание файловой системы CephFS
Как данные хранятся в CephFS?
Схемы файлов
Моментальные снимки
Множественные MDS
RGW
Развёртывание RGW
Выводы
Вопросы
Глава 6. Разработка при помощи librados
Что такое librados?
Как применять librados?
Пример приложения librados
Пример приложения librados с атомарными операциями
Пример приложения librados, которое использует наблюдателей и уведомителей
Выводы
Вопросы
Глава 7. Распределённые вычисления при помощи классов RADOS Ceph
Примеры приложений и преимущества использования классов RADOS
Написание примера класса RADOS в Lua
Написание класса RADOS, который эмулирует распределённые вычисления
Подготовка к построению среды
Класс RADOS
Клиентские приложения librados
Вычисление MD5 в самом клиенте
Вычисление MD5 в OSD через класс RADOS
Проверка
Возражения против класса RADOS
Выводы
Вопросы
Глава 8. Мониторинг Ceph
В чём заключается важность мониторинга Ceph
Что подлежит мониторингу
Состояние Ceph
Операционная система и оборудование
Интеллектуальная статистика
Сетевая среда
Счётчики производительности
Инструментальная панель Ceph
Состояния PG - хорошо, плохо и опасно
Хорошо
Активное состояние
Чистое состояние
Очистка и глубокая чистка
Плохо
Несогласованное состояние
Состояния заполнения, ожидания заполнения, восстановления, ожидания восстановления
Состояние деградации
Обновление карты
Одноранговый обмен
Опасно
Незавершённое состояние
Состояние останова
Состояние чрезмерной заполненности и переполнения восстановления
Мониторинг Ceph при помощи collectd
Graphite
Grafana
collectd
Развёртывание collectd при помощи Ansible
Простые запросы Graphite для Ceph
Число OSD Up и In
Отображение наиболее отклоняющихся от нормы OSD
Общее число IOP по всем OSD
Общее значение MBps по всем OSD
Ёмкость и загруженность кластера
Среднее значение латентности
Индивидуальные подключаемые модули collectd Ceph
Выводы
Вопросы
Глава 9. Тонкая настройка Ceph
Латентность
От клиента к первичному OSD
От первичного OSD к OSD реплики
От первичного OSD к клиенту
Эталонное тестирование
Инструменты эталонного тестирования
Сетевое эталонное тестирование
Эталонное тестирование дисков
Эталонное тестирование RADOS
Эталонное тестирование RBD
Рекомендуемые регулировки
ЦПУ
BlueStore
Отложенные записи WAL
Файловое хранилище
Загруженность кэша VFS
WBThrottle и/или nr_requests
Дросселирование очереди файлового хранилища
filestore_queue_low_threshhold
filestore_queue_high_threshhold
filestore_expected_throughput_ops
filestore_queue_high_delay_multiple
filestore_queue_max_delay_multiple
Расщепление PG
Очистка
Приоритеты OP
Сетевая среда
Общая настройка системы
Ядро RBD
Глубина очереди
Упреждающее чтение
Настройка CephFS
RBD и пулы удаляющего кодирования
Распространение PG
Выводы
Вопросы
Глава 10. Множество уровней в Ceph
Сопоставление множества уровней и кэширования
Как работает многоуровневость Ceph
Что из себя представляет фильтр bloom
Режимы многоуровневости
Отложенная запись
Упреждение
Упреждающее чтение
Посредничество
Посредническое чтение
Варианты применения
Создание уровней в Ceph
Тонкая настройка уровней
Сброс и вытеснение
Представления
Дросселирование представлений
Наблюдаемые параметры
Альтернативные механизмы кэширования
Выводы
Вопросы
Часть 3. Устранение неисправностей и восстановление
Глава 11. Поиск неисправностей
Восстановление несогласованных объектов
Заполненные OSD
Ведение журналов OSD
Малая производительность
Причины
Возросшая рабочая нагрузка клиентов
Останов OSD
Восстановление и наполнение
Очистка
Подрезка снимков
Проблемы с оборудованием или драйверами
Наблюдение
iostat
htop
atop
Диагностика
Очень низкая производительность или отсутствие ввода/ вывода
Биения OSD
Кадры Jumbo
Начинающие отказывать диски
Медленные OSD
Выход за предел ёмкости
Расследование PG в состоянии down
Большие базы данных монитора
Выводы
Вопросы
Глава 12. Восстановление после сбоев
Что из себя представляет катастрофа?
Как избежать потери данных
Что может повлечь вывод из строя или утрату данных?
Зеркалирование RBD
Журнал
Демон rbd-mirror
Настройка зеркалирования RBD
Отработка восстановления RBD
Восстановление RBD
Файловое хранение
BlueStore
Сборка RBD - файловое хранение
Сборка RBD - BlueStore
Подтверждение восстановления
RGW со множеством площадок
Восстановление CephFS
Создание катастрофы
Восстановление метаданных CephFS
Утраченные объекты и неактивные PG
Восстановление при полном отказе монитора
Применение инструмента object-store Ceph
Внесение утверждений
Пример утверждения
Выводы
Вопросы
Приложение A: Аттестация
Глава 1. Планирование Ceph
Глава 2. Развёртывание Ceph в контейнерах
Глава 3. BlueStore
Глава 4. Ceph и инородные протоколы
Глава 5. Пулы RADOS и доступ клиента
Глава 6. Разработка при помощи librados
Глава 7. Распределённые вычисления при помощи классов RADOS Ceph
Глава 8. Мониторинг Ceph
Глава 9. Тонкая настройка Ceph
Глава 10. Множество уровней в Ceph
Глава 11. Поиск неисправностей
Глава 12. Восстановление после сбоев
Указатель