Главное

  • Weil разработал Ceph в рамках коллективной исследовательской программы в UC Santa Cruz и защитил докторскую диссертацию в 2007 году, опубликовав базовые статьи о Ceph и CRUSH в 2006 году.
  • CRUSH вычисляет размещение по картам, весам, топологии и правилам; RADOS распределяет объекты и реплики, обнаруживает сбои и восстанавливает данные между monitors и OSD.
  • Ceph предоставляет блочный доступ через RBD, объектный — через RGW и файловую систему в стиле POSIX через CephFS поверх одной основы, но с разными операционными путями.
  • Weil стал сооснователем Inktank в 2012 году, а 30 апреля 2014 года Red Hat объявила о приобретении компании примерно за 175 миллионов долларов.
  • Weil отошёл от повседневной работы в Ceph и возглавляет Civic Media. Текущая власть — у мейнтейнеров и современных структур управления, а не у исторического основателя.

Массив хранения, ставший алгоритмом

Ceph убрал центральную таблицу размещения из обычного пути данных. CRUSH вычисляет устройства по карте и правилам, а OSD хранят данные в RADOS, обмениваются состоянием, реплицируют и восстанавливаются под надёжными картами, которые поддерживают monitors. Работа распределяется, но власть не исчезает.

Результат зависит от весов, иерархии и реальных доменов отказов. Устаревшая карта точно воспроизводит плохое размещение. Алгоритм сокращает лишние операции поиска и перемещения, но оператор должен правильно отражать физический мир.

Исследовательская группа, а не одиночный изобретатель

Ceph родился в Исследовательском центре систем хранения (Storage Systems Research Center) при UC Santa Cruz. Weil был ключевым проектировщиком и строителем, но проект формировали научные руководители, соавторы, студенты, финансирование и тестовые среды. Статьи 2006 года несут несколько имён — в зависимости от статьи среди них Scott Brandt, Ethan Miller, Carlos Maltzahn и Darrell Long.

Коллективное авторство не умаляет роли Weil; оно объясняет, как диссертация стала инфраструктурой. Чтобы система жила после своего создателя, другие должны были понять её, критиковать и поддерживать.

CRUSH: вычисление места, где должны жить данные

CRUSH использует иерархические buckets, веса и правила, чтобы выбрать упорядоченный список устройств. Правило может требовать реплики в разных стойках или выбирать класс носителей. Когда кластер меняется, часть объектов переназначается — вместо центральной таблицы для каждого объекта.

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

RADOS и распределённое решение о восстановлении

RADOS превращает множество OSD в единую основу. Monitors поддерживают кворум и карты, OSD хранят объекты, сверяют состояние, реплицируют и исправляют. Восстановление происходит рядом с компонентами, которые знают данные, а не через единый контроллер для каждой операции.

Масштабный сбой может породить шторм перестроения, когда клиенты конкурируют за сеть и диски. Доступность зависит от резерва, троттлинга, исправности устройств и времени вывода OSD из эксплуатации. Распределённость не означает бесплатность или автоматичность.

Единое объектное хранилище и три интерфейса хранения

RBD предоставляет тома для блочного доступа, RGW — API для объектов, а CephFS строит файловую систему в стиле POSIX с серверами метаданных. Интерфейсы используют общую основу RADOS и общие механизмы размещения и восстановления.

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

Placement groups, восстановление и цена сбоя

Placement groups группируют объекты, чтобы размещение, peering и восстановление стали управляемыми. Их распределение определяет баланс и объём работы после сбоя. При потере OSD кластер переназначает и перестраивает данные по политике.

Нехватка свободного места или ошибка топологии затягивают деградацию. Нужно следить за unclean Субъекты, backfill, задержками, пропускной способностью и временем восстановления. Репликация не заменяет резервное копирование от логического удаления или повреждения.

От докторской диссертации к инфраструктуре Linux

Переход от диссертации к Linux и OpenStack потребовал лет работы над упаковкой, совместимостью, документацией, тестированием обновлений и исправлением сбоев. Интеграция с ядром и дистрибутивами принесла Ceph в облака и продукты. Мало заметная операционная работа была не менее важна, чем научные статьи.

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

Inktank, Red Hat и коммерческая ответственность

Inktank была основана в 2012 году, продавала поддержку и собрала инженерную команду. 30 апреля 2014 года Red Hat объявила о приобретении примерно за 175 миллионов долларов, введя Ceph в крупную open source-компанию и облачный бизнес.

Финансирование помогло поддержке и развитию, но сконцентрировало найм. Лицензия и сообщество ограничили исключительный контроль. Клиентам приходилось различать публичный проект, продукт Red Hat и конкретный дистрибутив — у каждого свои roadmap и границы поддержки.

Проект учится жить без основателя

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

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