Практикум по выбору хранилища кластера

Хранилище Ceph: копии, области отказа и доступ к диску

Разберите путь от RBD-образа до мест хранения копий. Проверьте size, min_size, карту CRUSH и передачу права записи. Примеры опираются на документацию Ceph Squid и не заменяют испытание конкретного кластера.

База → пресейл и приёмка40 минут4 модуля8 вопросов
После курса

Что вы сможете сделать

  1. Разделять блочный доступ, число копий и их физическое размещение.
  2. Проверять доступность и возможность восстановления после отказа сервера или стойки.
  3. Отличать блокировку RBD от согласованности данных приложения.
Модуль 1 из 4

Что получает приложение

Способ доступа и размещение данных отвечают на разные вопросы.

  • RBD предоставляет блочное устройство, а его данные распределяются между OSD — службами хранения Ceph. Клиент использует модуль ядра или librbd. Блочный доступ и распределённое хранение совместимы: одно описывает интерфейс, другое — размещение данных.

  • Пул объединяет объекты логически. Для реплицируемого пула size=3 означает три копии каждого объекта вместе с первичной, а не исходник и три дополнительные копии.

Модуль 2 из 4

Когда данные сохраняются, но ввод-вывод недоступен

Порог обслуживания запросов не равен желаемому числу копий.

  • При size=3 и min_size=2 штатная цель — три копии. С двумя копиями порог min_size выполнен, с одной — нет. Даже выполненный порог не подтверждает готовность PG и отсутствие других препятствий для доступа.

  • PG — группа размещения объектов. Active означает, что её данные в общем случае доступны для чтения и записи; clean — что требуемое число копий восстановлено. Active+degraded может допускать операции, но это ещё не восстановленная избыточность.

  • Снижение min_size до 1 не создаёт новую копию. Документация предупреждает о риске потери данных и рассматривает такой режим лишь как временную меру для отдельных аварий. В учебной проверке настройки защиты не меняем.

Модуль 3 из 4

Сколько подходящих серверов осталось

Считайте не все диски вообще, а устройства, которые допускает правило.

  • Карта CRUSH задаёт иерархию оборудования. Уровень host разделяет копии по серверам, rack — по стойкам. Три сервера в одной стойке не переживут её полную потерю только благодаря разделению host.

  • Правило может ограничить размещение частью иерархии root и классом ssd. Если SSD есть лишь на двух подходящих серверах, другие серверы с HDD не дают третьего места для копии в этом правиле.

  • В учебной схеме три допустимых сервера, size=3 и разделение по host. После отказа одного остаются два. Порог min_size=2 может выполняться, но три копии на разных host здесь не восстановить. Нужен возврат сервера или другой допустимый сервер с достаточным ресурсом.

Модуль 4 из 4

Кто имеет право писать после отказа

Проверка доступа должна доходить до работающего приложения.

  • Exclusive-lock по умолчанию автоматически передаётся между клиентами RBD. Поэтому несколько клиентов могут по очереди писать в один образ. Нельзя принимать этот флаг за доказательство, что второй клиент не откроет диск на запись.

  • При нештатной потере владельца новый клиент согласует его блокировку на уровне хранения. После обновления карты OSD он получает возможность снять прежнюю блокировку и взять свою. Потеря связи не оправдывает несогласованное возобновление записи.

  • В плане приёмки разделите три результата: клиент снова выполняет согласованную операцию, порог числа копий соблюдён, все копии восстановлены. Состояние active+clean описывает PG; проверку чтения и записи самим приложением проводят отдельно.

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01Проект использует RBD-образ для виртуального диска. Как правильно описать интерфейс и размещение данных?
02В реплицируемом пуле задано size=3. Сколько полных копий одного объекта должно быть при штатном размещении?
03У объекта осталась одна доступная копия, min_size=2. Настройки не меняли. Что означает этот факт для ввода-вывода?
04Все три копии объекта лежат на разных серверах в одной стойке. Стойка целиком теряет питание. Как оценить разделение по host?
05В выбранной области CRUSH четыре сервера. SSD есть на двух, остальные имеют только HDD. Правило использует класс ssd, разные host и size=3. Чего не хватает для полного размещения?
06В пуле size=3, min_size=2, копии разделены по host. Из трёх подходящих серверов один отказал; других нет. Две копии доступны, PG active. Что верно о восстановлении третьей копии?
07Владелец блокировки RBD потерял связь. Новый клиент не смог получить образ обычной передачей блокировки. Какой порядок описан для этого случая?
08Два клиента могут открыть один RBD-образ; exclusive-lock работает по умолчанию. Доказывает ли это, что приложение одного клиента изолировано от записей другого?

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить состав проекта

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Проверяемая база

Источники курса

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

  • Официальная документация

    Ceph Block Device

    Ceph Foundation · Ceph Squid documentation, branch squid

    Повторная сверка 20.09.2026. Проверены вводное описание RBD и способы доступа. Ветка squid, не фиксация отдельного patch-релиза; совместимость с Proxmox этим не установлена.

    Открыть первоисточник
  • Официальная документация

    Pools

    Ceph Foundation · Ceph Squid documentation, branch squid

    Повторная сверка 20.09.2026. Проверены определения пула, size/min_size и Setting the Number of RADOS Object Replicas. Общая фраза введения про число переживаемых отказов не использована как универсальное правило.

    Открыть первоисточник
  • Официальная документация

    Monitoring OSDs and PGs

    Ceph Foundation · Ceph Squid documentation, branch squid

    Повторная сверка 20.09.2026. Проверены Peering, Active, Clean, Degraded и условия восстановления. Не переносим состояние одной PG на готовность всего приложения.

    Открыть первоисточник
  • Официальная документация

    CRUSH Maps

    Ceph Foundation · Ceph Squid documentation, branch squid

    Повторная сверка 20.09.2026. Проверены CRUSH structure, Devices и Creating a rule for a replicated pool: root, host/rack, device class. Отказоустойчивость проверяется по реальной топологии.

    Открыть первоисточник
  • Официальная документация

    RBD Exclusive Locks

    Ceph Foundation · Ceph Squid documentation, branch squid

    Повторная сверка 20.09.2026. Проверены Warning об автоматической передаче exclusive-lock и раздел Blocklisting. Блокировка образа не приравнена к координации файловой системы.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие