Читать полный материал
Нужна помощь с подбором или внедрением? Получите консультацию инженера ANDPRO.
Программно-определяемое хранилище (SDS, software-defined storage) — подход, при котором программный слой управляет хранением и доступом к данным на выбранном оборудовании. Ceph — один из вариантов такой архитектуры: он объединяет накопители серверов в распределённую систему. Но покупка нескольких серверов с дисками ещё не даёт готовую замену СХД. Сначала нужны профиль нагрузки, политика защиты и план сопровождения.
SDS и классическая СХД: что меняется для заказчика
Главный вопрос — где проходит граница ответственности. При выборе готовой СХД проверяют возможности конкретной системы, её контроллеров, полок, поддержки и совместимости. В проекте SDS приходится согласовать программную платформу, серверы, накопители, сеть и эксплуатационные процедуры. Сравнивать нужно законченные конфигурации с одинаковыми требованиями к доступности.
Не следует выбирать SDS только потому, что отдельный сервер дешевле массива. В смету включают резерв оборудования, коммутаторы, обслуживание, мониторинг, обновления и работу команды. Это критерии проектного сравнения, а не утверждение, что одна архитектура всегда дешевле другой. Начать сбор требований поможет руководство по выбору СХД.
Ceph: блочный, файловый и объектный доступ
Основа Ceph — распределённое объектное хранилище RADOS. Над ним работают разные интерфейсы: RBD для блочного доступа, CephFS для файлового, RADOS Gateway (RGW) для объектного. Это позволяет рассматривать Ceph для разных задач, но не делает их требования одинаковыми.
Виртуальные диски, множество небольших файлов и объектный архив дают разную нагрузку. В заявке указывают интерфейс приложения, размеры операций, соотношение чтения и записи, задержку и рост данных. Если эти понятия пока смешаны, сначала прочитайте сравнение блочного, файлового и объектного хранения.
Роли служб тоже различаются: OSD обслуживает данные на накопителях, MON хранит карты кластера, MDS управляет метаданными CephFS. CRUSH используется для определения размещения данных. Поэтому серверы подбирают под роли и нагрузку, а не по одному шаблону «столько-то дисков на узел».
Узлы, реплики и кворум: три отдельных проверки
Кворум MON требует большинства голосов: например, двух из трёх или трёх из пяти мониторов. Три MON позволяют сохранить большинство при потере одного. Однако число мониторов не равно числу обязательных серверов хранения и само по себе ничего не говорит о наличии копий пользовательских данных.
Для replicated pool параметр size задаёт общее число копий, включая первичную, а min_size — минимальное число копий, требуемое для I/O. Нельзя обещать доступность только по фразе «три узла». Проверяют параметры пула, правила размещения и домены отказа: диск, сервер, стойку. Несколько копий в одном домене не защищают от его полной потери.
При трёх копиях предварительная оценка полезного объёма — сырой объём, делённый на три. Например, 120 ТБ дают около 40 ТБ до служебных расходов и эксплуатационного резерва. Это арифметический пример, а не обещание доступной ёмкости конкретного кластера.
Erasure coding меняет соотношение ёмкости и затрат на обработку. Для профиля k=4, m=2 коэффициент расхода сырого пространства составляет (4+2)/4=1,5: около 80 ТБ из тех же 120 ТБ до накладных расходов. Этот пример не означает, что профиль можно разместить на любых трёх серверах: отдельно проверяют топологию и домены отказа. Восстановление и производительность также отличаются от репликации.
В проекте разберите потерю диска, узла, коммутатора и плановое обслуживание. На оставшемся оборудовании должны выполняться требования приложения. Общие принципы разобраны в статье о минимальном отказоустойчивом кластере. Копии внутри кластера не заменяют отдельный план резервного копирования и восстановления.
Диски, CPU и память: считать под нагрузку
Выбор HDD, SSD или NVMe связывают с объёмом и профилем операций. При проверке конфигурации измеряют не только спокойный режим, но и восстановление после отказа. Процессор обслуживает операции хранения и репликацию; универсальная норма ядер на OSD не заменяет измерение нагрузки. Память считают суммарно для служб, ОС и пиковых режимов.
BlueStore может использовать основной block, а также отдельные устройства block.db и block.wal. DB хранит внутренние метаданные, WAL — журнал. Вынос на отдельный накопитель полезен, когда он быстрее основного; это не универсальное требование ставить «кэширующий SSD» в любой сервер. Если несколько OSD зависят от одного быстрого устройства, его отказ нужно включить в модель проекта.
Согласуйте модель диска, интерфейс, ресурс записи, прошивку, охлаждение и способ подключения. Не переносите схему аппаратного RAID на Ceph автоматически: режим контроллера и доступ к устройствам должны соответствовать выбранному развёртыванию. Для предварительного подбора есть серверные SSD и руководство по NVMe для сервера; наличие товара не подтверждает совместимость с проектом.
Сеть: когда рассматривать 25 GbE и выше
Сеть переносит клиентские операции, репликацию и восстановление. Поэтому выбор скорости только по обычному клиентскому трафику может дать неверный результат. Сравнивайте время восстановления и задержки приложения при одновременной нагрузке.
25 GbE — вариант для рассмотрения, а не единый минимальный порог Ceph. Для конкретного проекта могут потребоваться другие скорости. Важно проверить не только порты сервера, но и коммутаторы, межкоммутаторные соединения и поведение при отказе одного пути.
Ceph может работать с одной public network. Отдельная cluster network возможна, но усложняет конфигурацию и не гарантирует ускорения. Разделение выбирают по измеренной нагрузке и требованиям проекта. Если используется объединение интерфейсов, проверяют распределение потоков и отказоустойчивость всей схемы; сумма скоростей портов не является обещанной скоростью одного соединения. См. разбор LACP и сетевые адаптеры 25 GbE.
Ceph, vSAN и MinIO: сначала интерфейс и платформа
Эти названия не стоит помещать в один список как полностью взаимозаменяемые СХД. Ceph предоставляет несколько интерфейсов хранения. VMware vSAN — программное хранилище, интегрированное с экосистемой VMware. MinIO здесь рассматривается как объектное S3-совместимое решение; актуальные редакцию, поддержку и условия использования проверяют отдельно.
Сначала выясните, что требуется приложению: виртуальные диски, файловый доступ или объектный API. Затем проверяйте поддерживаемую платформу, оборудование и эксплуатационную модель. Из сравнения интерфейсов не следует вывод о превосходстве по скорости или стоимости: для него нужен отдельный замер.
Если вычисления и хранение совмещают на узлах, возникает отдельная задача планирования ресурсов HCI. Её разбирает статья о серверах для гиперконвергентного кластера. Здесь предмет другой — устройство и выбор распределённого хранилища.
Когда классическая СХД проще и что отправить для подбора
Сравните оба маршрута на одном техническом задании. Если важны готовая поддерживаемая конфигурация и ограниченный объём собственных эксплуатационных работ, проверьте подходящую СХД. Если рассматриваете распределённое масштабирование, заранее подтвердите, кто будет сопровождать кластер, обновлять его и разбирать отказы. Ни число узлов, ни открытость исходного кода не доказывают готовность системы к эксплуатации.
Передайте инженеру используемые приложения и протоколы, объём и прирост данных, требования к задержкам, политику защиты, допустимые простои, сценарии отказа, существующую сеть и ограничения по питанию и стойке. Попросите сравнить нормальный режим с восстановлением и показать, какие допущения подтверждены тестом.
Исходные варианты оборудования — серверы, в том числе модели с корзиной 2,5 дюйма, и системы хранения данных. Это направления подбора, не готовая спецификация Ceph.
Частые вопросы
Достаточно трёх серверов для Ceph?
Само число не подтверждает готовность. Проверяют MON-кворум, размещение копий, параметры пула и ресурсы при отказе и обслуживании.
Обязательна сеть 25 GbE?
Нет универсального требования для любого кластера. Скорость выбирают по нагрузке, репликации и времени восстановления с проверкой отказа пути.
Нужно ли ставить быстрый диск под журнал?
BlueStore допускает разные схемы. Отдельные DB/WAL оценивают по скорости основных устройств, нагрузке и последствиям отказа общего быстрого накопителя.
Можно ли считать ёмкость суммой дисков?
Нет. Учитывают репликацию или erasure coding, служебные данные и резерв; расчёт проверяют для конкретного размещения.
Ceph всегда выгоднее классической СХД?
Это нельзя установить без сравнения законченных проектов. В расчёт входят сеть, резерв, поддержка и работа команды.