RAID. Между Одеттой и Одиллией

2 март, 2018 - 17:22Андрій Тищенко

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

Тогда не то, что ныне

Ранние реализации RAID представляли собой дорогущие контроллеры на специализированной логике и поставлялись как опции в старшие серверы. Сегодня RAID можно встретить везде — благодаря демократизации технологий и включению центральных процессоров в обслуживание нагрузки ввода-вывода. С приходом SSD роль RAID пошла на убыль, еще один удар нанес поворот к программно-определяемым системам. Свои виды у Intel. Но, кажется, покуда живы серверы с механическими дисками, RAID останется с нами.

Со времен доминирования HDD сохранилась сводная таблица достоинств и слабостей популярных уровней RAID.

RAID. Между Одеттой и Одиллией

Сегодня RAID перестал рассматриваться как инструмент достижения производительности в большинстве серверных приложений, но остается важным средством защиты данных. Многообразие его реализаций — от копеечных до все еще дорогих — определяется целями и приоритетами пользователей.

Программный RAID

Программный RAID — тот, что перекладывает работу на CPU сервера. Некоторые его реализации содержат аппаратные компоненты, не меняющие сути: код программного RAID разделяет вычислительные ресурсы центрального процессора с ОС и другими приложениями. Полностью программный RAID исполняется как приложение на хосте, без привлечения дополнительных устройств. Привязан к ОС и драйверу.

RAID. Между Одеттой и Одиллией

Полу-программный (hardware-assisted) RAID загружается и управляется из BIOS материнской платы или HBA. Это повышает устойчивость к сбоям при загрузке и снижает риски порчи данных из-за ошибок чтения. Обычно поставляется с набором драйверов под наиболее популярные ОС — что облегчает переносимость массивов.

RAID. Между Одеттой и Одиллией

Аппаратный RAID

Аппаратный RAID-контроллер может быть дискретной картой PCIe, поставляться интегрированным в материнскую плату или в формате карты-мезонина. У него есть свой процессор и память. Он реализует функциональность RAID без обращения к общим ресурсам сервера. Во времена механических дисков особо ценилось кэширование с отложенной записью (write-back), позволяющее управлять производительностью ввода-вывода. Это программные RAID, не имея своей памяти, записывают данные напрямую на диски (write-through). Аппаратные контроллеры щеголяли алгоритмами write-back, в защищенном батареей режиме. Пришли SSD и обесценили нажитое в трудах.

RAID. Между Одеттой и Одиллией

Какой RAID: аппаратный, полу- или полностью программный?

В пору HDD однозначного ответа тоже не было.

Полностью программный RAID (0, 1, 10) прижился в рабочих станциях и серверах без повышенных требований к хранению. Его действие не распространяется на загрузочные диски — ведь функциональность RAID недоступна, пока не загружена ОС и драйверы.

Гибридный (полу-программный) RAID (как правило, тоже 0, 1, 10) столь же недорог, но хотя бы защищен при загрузке, с переносимостью массива между серверами с различными ОС.

Аппаратный RAID — наиболее производительное и функционально насыщенное решение, с разнообразием уровней RAID, встроенных служб и средств достижения производительности ввода-вывода.

В целом, чем сложнее используемые алгоритмы RAID — тем оправданнее применение аппаратных контроллеров. Реализация на программном уровне RAID 6 или шифрования дисков отвлекала бы значительные системные ресурсы. Таблица ниже — тоже эхо эпохи диско(в).

RAID. Между Одеттой и Одиллией

Черные лебеди RAID

По терминологии Насима Талеба, «черный лебедь» — это событие или явление, которое ломает привычный ход вещей, не имея на то предпосылок в прошлом. «Представим себе индейку, которую усердно кормят каждый день, и которая убеждена в дружественном отношении к ней людей. Уверенность индейки в безопасности достигает максимума, когда риск — самый высокий. В канун Дня благодарения с индейкой произойдет нечто непредвиденное, она поймет что ошибалась».

SSD на флэш-памяти вытеснили наборы механических HDD под управлением дорогих аппаратных RAID из приложений с относительно небольшими объемами данных, критичных к скорости отклика накопителей и продуктивности I/O.

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

Не откажешь в логике Intel, последовательно устраняющей посредников между мозговым центром серверов, CPU, и устройствами хранения на шине общего пользования PCIe: отказываемся от стека SAS (и контроллеров на нем), переходим на NVMe, стягиваем данные в энергонезависимую память с низкими задержками, наделяем сами CPU функциональностью RAID.

Даже если перечисленных «лебедей» считать «серыми» (технологии же не падают на голову внезапно), черных дней производителям RAID они прибавили.

Кто такие эти потерпевшие, куда они пошли?

Если не считать нишевых производителей как Areca и малых разработчиков вроде Marvell, основные локомотивы RAID (соответственно, наиболее пострадавшие) — это ветераны рынка: LSI и Adaptec. Оба прошли через двойные поглощения (LSI -> Avago -> Broadcom, Adaptec -> PMC-Sierra -> Microsemi) и сейчас являются подразделениями многопрофильных полупроводниковых концернов. Оба не собираются сворачивать бизнес.

Размышления Broadcom (LSI) о единой логике управления вводом-выводом породили семейство продуктов Broadcom Tri-mode. Новые контроллеры на чипе SAS3516 умеют обращаться с накопителями NVMe на шине PCie помимо традиционных SAS/SATA дисков в традиционном стеке MegaRAID.

RAID. Между Одеттой и Одиллией

Контроллеры пропускают команды NVMe от CPU к накопителям (pass-through), не объединяя их в аппаратный RAID. Этого и не подразумевалось. Речь о совмещении в одном контроллере обслуживания традиционных дисков на стеке SAS (SCSI) с транзитом обращений к нетрадиционным, PCIe SSD.

Разработчики Microsemi (Adaptec) не стали утруждать себя контролем над накопителями вне стека SAS. Их можно понять: жильцы вершин хранения, все эти NVMe SSD на флэш-памяти NAND (а теперь и на памяти 3D XPoint) составляют тонкую прослойку серверного спроса (в ПК для NVMe все куда оптимистичнее). Мощную подошву хранения по-прежнему формируют дисковые контейнеры, подключаемые к управляющим серверам по SAS. Программная определяемость меняет структуру хранения, но не обходится без средств доступа к дискам, и все так же нуждается в безопасной загрузке систем.

Microsemi отшлифовала платформу Smart Storage и снабдила новое поколение продуктов способностью одновременной работы в смешанном режиме HBA/RAID. Оба семейства, SmartHBA 2100 (HBA, «обученные» простым уровням RAID) и SmartRAID 3100 (богато оснащенные RAID, умеющие «притворяться» HBA) снабжены аппаратным загрузчиком, позволяют часть дисков объединить в RAID, а часть — отдать транзитом под стороннее управление. Глубокий реверанс в сторону программно-определяемых очевидно подсказан инстинктом самосохранения.

RAID. Между Одеттой и Одиллией

Плач над озером

И Broadcom и Microsemi махнули рукой на канальный сбыт контроллеров, но по-прежнему рассчитывают на производителей серверов A-brand. Понятно, что Dell (с контроллерами PERC на LSI) и HPE (c контроллерами Smart Array на PMC) не дадут умереть бизнесу RAID в обозримой перспективе. Но хранение как область приложения технологий остается местом, над которым в любой момент может разбушеваться стихия. У озера неспокойно.

Стимулировано раскопками архивов Adaptec.