JBOD и масштабирование хранения
Будущее хранения данных – в отделении устройств постоянной памяти от серверов-вычислителей, в составе компонуемой инфраструктуры. Уже сегодня так устроены программно-определяемые модульные системы хранения: контроллеры (хосты) отдельно, дисковые контейнеры (JBOD) – отдельно. Контроллеры управляют данными и обмениваются ими с окружением. JBOD обеспечивают максимальный комфорт накопителям и надежный доступ к ним по широкополосным соединениям с низкими задержками.
JBOD как устройства не имеют отношения к управлению трафиком данных и вычислительной мощности серверов-контроллеров. Это автономный класс серверного оборудования, инварианты систем хранения.
Их предлагают производители аппаратных систем хранения в качестве опций расширения. Они есть в ассортименте поставщиков серверных корпусов и платформ (Supermicro, Tyan, AIC, Chenbro). Много для продвижения JBOD как концепта сделала HGST (вошедшая с командой разработчиков и продуктами в Western Digital). Все логично: производишь HDD и SSD под корпоративные приложения – предложи рынку их агрегаты, универсальные общности.
За три года WD представила три поколения JBOD. Непрерывный поиск оптимального дизайна подчинен основной цели: дать владельцам объемных данных типовые строительные блоки. Надежные, подходящие под любую программную модель, не зависящие от изменяемого ландшафта.
Хотя инженерные решения и компоновка менялись, суть осталась прежней. Увеличился размах возможностей, в первую очередь, масштабирования. Как управлять емкостью системы хранения и перераспределять ее, покажем на примере WD Ultrastar Data60. Это 60-дисковый JBOD, который производитель называет гибридной платформой под программно-определяемое хранение. Гибридной – потому что внутрь можно ставить не только HDD, но и SSD.
Апология SAS
Протокол SAS позволяет создавать многообразие сочетаний инициаторов, таргетов и экспандеров (расширителей). Контроллеры управляющих хостов (инициаторы) обращаются к таргетам и их совокупностям (доменам SAS) через подсистему доставки данных, построенную на экспандерах - благодаря им контроллеры могут обслуживать до 1000 дисков в полках.
JBOD всех производителей подключаются к хостам или основным массивам по SAS. Один широкий порт стандарта 12Gbit/s SAS (4 линии) пропускает поток 4800 MB/s. Таких портов в JBOD несколько. У WD Ultrastar Data60 их 12, по 6 на каждый модуль ввода-вывода IOM. Два модуля IOMA-IOMB дублируют топологию доменов SAS (пути к дискам):
Внутри JBOD пути SAS к дискам проложены через цепочки экспандеров:
Зонирование
SAS поддерживает зонирование – логическое разбиение топологии домена на группы, для безопасности и распределения трафика. По умолчанию все диски JBOD видны всем инициаторам, подключенным к любому из внешних портов. Используя уникальные идентификаторы, можно сгруппировать диски в зоны, а зоны приписать определенным портам. Каждый диск зоны будет виден только этот порт, и только хосту, подключенному к нему. Таблица разрешений правится через интерфейс командной строки CLI.
Пример разбиения на шесть зон:
Подключение JBOD к одному хосту и частичное заполнение дисками (scale-in)
Подключая JBOD c дисками SAS к двум внешним портам SAS HBA или контроллера SAS RAID хоста, получим топологию двухдоменного SAS:
Два независимых пути к дискам страхуют от потери физического соединения порт HBA – кабель – экспандер модуля IOM ввода-вывода JBOD.
Пустой JBOD – нулевая точка отсчета емкости хранения. WD Ultrastar Data60 поставляются как в полной комплектности, так и частично заполненными, с 24 дисками из 60. В дисковой корзине 5 рядов по 12 посадочных мест. Диски добавляются в нее дюжинами, целыми рядами – чтобы не нарушить схему обдува.
Каскадирование JBOD (scale-up)
Двухдоменная топология позволяет безопасно каскадировать JBOD – подключать их цепочки к одному и тому же хосту. Используя два IOM каждого из JBOD, можно добиться дублирования путей ко всем дискам, построив схему без единой точки отказа.
Подключение JBOD к нескольким хостам
JBOD можно подключить к нескольким хостам – портов у него достаточно. В зависимости от модели работы с данными можно разрешить всем хостам одновременный доступ ко всем дискам. А можно настроить таблицу зонирования и приписать группы дисков определенным внешним портам. Разные хосты будут видеть разные диски. Что-то вроде коммунальной квартиры, где разные жильцы делят одну жилплощадь, с набором общих сервисов.
Кластер двух хостов с общими дисками в JBOD (или в цепочке из нескольких таких), он же кластер высокой доступности (HA), отвечает классической схеме компоновки двухконтроллерных аппаратных СХД. Здесь роль контроллеров играют серверы, диски вынесены в подключенные по SAS автономные контейнеры, а управляет всем ПО хранения, развернутое на узлах. Конфигурация active/active дает одновременный доступ к дискам через оба контроллера, в конфигурации active/passive один из контроллеров находится в состоянии ожидания (standby).
Горизонтальное масштабирование (scale-out)
При горизонтальном масштабировании в систему хранения добавляются хосты, управляющее ПО распределяет между ними запросы и обеспечивает сохранность данных методом кратного дублирования или c помощью кодов избыточности (erasure code): данные разбиваются на фрагменты, кодируются и распределяются по носителям. Привлекается сложный математический аппарат, вычислительно затратный. Зато метод erasure coding дает устойчивость к множественным отказам накопителей, помогает экономно расходовать дисковое пространство и быстро восстанавливать потерянные данные. Системы хранения с ним хорошо масштабируются, не привязаны к отдельным устройствам и даже площадкам размещения.
При больших объемах хранения данные неизбежно выносятся в JBOD – серверами с внутренними дисками не обойтись. JBOD подключаются к хостам по SAS и при необходимости каскадируются. Облачные провайдеры, накапливающие петабайты активных архивов, рано или поздно приходят к объектному хранению c кодом избыточности и развитыми средствами быстрого поиска по метаданным.
Пример такой системы – промышленные решения Western Digital ActiveScale, масштабируемые целыми стойками (совокупностями серверов и JBOD).