Что такое hba адаптер

Что такое современный HBA?

В современном мире подсистема хранения сервера или другой системы решения вплоть до персональных компьютеров является очень важной составляющей всей системы. Еще бы, ведь она выполняет роль внешней и основной, относительно RAM и других устройств временного хранения информации, энергонезависимой памяти (слово «внешняя» используется образно, если взять, например, человека, то роль внешней памяти может выполнять тетрадь, куда заносятся различные записи). В большинстве случаев, особенно для корпоративных серверных систем и серверных проектов ЦОДов, цена хранимой информации заметно выше всего остального: хранимая информация имеет высокую ценность, что накладывает определенные требования к подсистеме хранения. Построить такую подсистему можно или на основе HBA, или на основе RAID-контроллера. О первом типе устройств мы и поговорим в данной статье.

Что же такое современный HBA?

Попробуем разобраться в том, что стоит за загадочными латинскими буквами HBA. Предлагаю не особо углубляться в смысл английских слов, составляющих это название, и тем более не пытаться перевести эти слова оптимальным образом на русский язык, поскольку практической работе это не поможет. К слову, линейка микросхем, на которой базируются Microchip Adaptec HBA, называется Input/Output Controller. Этот термин тоже можно использовать без перевода («микросхемы для линейки SAS HBA 12G Input/Output Controller»).

Host Bus Adapter, или HBA — это устройство, которое предоставляет пользователю порты для подключения дисковой или не дисковой аппаратуры. Будучи физически подключенными, такие аппараты напрямую попадают в операционную систему. При подключении дисков к HBA и установке драйвера этого устройства диски будут видны в device manager OS семейства Windows (devmgmt.msc) как блочные устройства, готовые к дальнейшей работе.

Еще раз отмечу, что мы, команда Microchip Adaptec, в своей работе стараемся не переводить термин HBA. Возьмем для примера ряд системных компонентов: процессор (ЦПУ), память (оперативная память) и HBA («Хабэа») как основное устройство, дающее порты для подключения дисковых и не дисковых устройств в систему для создания подсистемы хранения информации.

Подход к термину HBA за последние годы трансформировался, и данный термин больше опирается на режим предоставления доступа к носителям «ячеек», или «контейнеров» памяти (как правило, это сектора SSD- или HDD-дисков) в OS нежели на внутреннюю архитектуру отдельного устройства.

Чтобы изучить эту тему, рассмотрим подробнее следующие вопросы:

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

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

Поговорим об этих пунктах подробнее.

Многие люди, используя материнскую плату для ПК или сервера, и не догадываются, что на плату интегрирован HBA. Они просто рассматривают порты для подключения дисков как отдельные, не объединяя их в какое-то устройство. Обычно настройки таких HBA делаются через BIOS-настройки материнской платы, при этом самих настроек очень немного. Интегрированные HBA обычно строятся на технологии SATA различных поколений, в последнее время приходит технология NVMe, особенно в области десктопных плат. Крайне редко можно встретить серверные материнские платы, где используются интегрированные SAS HBA.

Интегрированные HBA имеют ограничения по типу поддерживаемых операционных систем. Обычно поддерживаются Linux и Windows. Традиционно для таких устройств нельзя говорить о широкой или полной поддержке операционных систем.

Еще один важный пункт: к таким HBA крайне сложно подключить внешние устройства (JBOD-, EBOD-, RBOD-стойки, ленточные библиотеки и т. п.), здесь внешние порты традиционно не используются. Лично я таких решений не встречал, но допускаю, что они могут быть, например, как eSATA-порты.

Идея со скобами-переходниками «внутренний порт — внешний порт» кажется привлекательной, для SATA это в какой-то степени возможно, но для SAS 12G должны быть устройства очень высокого качества, чтобы не нарушать режимы физического уровня, и, как мы уже отметили, SAS-порты редко используются на материнских платах.

HBA в виде отдельных устройств образуют линейки продуктов с разным количеством внутренних и внешних портов и на сегодняшний день базируются на технологии SAS 12G (или SAS3), которая со стороны дисков официально поддерживает режимы SATA I, II, III и SAS-1 SAS-2, SAS-3.

Технология SAS позволяет вам превратить данные устройства исключительно в SATA и использовать их в чистом виде как SATA-устройства, если это нужно. Для этого достаточно подключить SATA-устройства (например, диски) к такому HBA напрямую. По этой причине в линейках Microchip Adaptec уже давно нет SATA RAID-контроллеров и HBA, их легко можно получить из SAS-продуктов.

Но в последнее время необходимость, скажем прямо, «превращать» SAS HBA в SATA HBA встречается все реже и реже по причине того, что индустрия выпускает много моделей дисков для серверного использования парами: с SATA- и с SAS-интерфейсами. (Это точно такие же диски 7200 rpm, но с SAS-интерфейсом). Для SAS HBA при большом количестве дисков использование дисков SAS более предпочтительно.

Что такое hba адаптер. Смотреть фото Что такое hba адаптер. Смотреть картинку Что такое hba адаптер. Картинка про Что такое hba адаптер. Фото Что такое hba адаптер

Современные HBA-устройства обладают разъемом 8x PCI-e V3 для установки в материнские платы. Такой разъем можно назвать современным «серверным» разъемом. Вся текущая линейка RAID-контроллеров/HBA от Microchip Adaptec использует данный слот.

Что такое hba адаптер. Смотреть фото Что такое hba адаптер. Смотреть картинку Что такое hba адаптер. Картинка про Что такое hba адаптер. Фото Что такое hba адаптер

Количество портов на SAS HBA, даже в максимальной реализации (для линейки Microchip/Adaptec 1100/1200 — 24i означает 24 внутренних порта по технологии SAS) не является пределом для проектировщика. С помощью SAS-экспандеров (внешних или внутренних, в виде плат, устройств или микросхем на дисковых корзинах) количество портов на HBA можно увеличить. При серьезном проектировании это требует расчета. При таком подходе HBA виртуализируется с экспандером, и при подключении SATA дисков уже к экспандеру (экспандерам) вы можете получить, например, SATA HBA».

Что такое hba адаптер. Смотреть фото Что такое hba адаптер. Смотреть картинку Что такое hba адаптер. Картинка про Что такое hba адаптер. Фото Что такое hba адаптер

Для интегрированных на плату SATA HBA SAS-экспандеры не применимы. Для них существуют другие устройства, работающие похожим образом, — SATA малтиплайеры (SATA multiplier), но они не распространены и проигрывают SAS-технологии по ряду очевидных причин в корпоративных проектах и проектах ЦОДов.

Следующий момент может показаться сложным для людей, не работающих в области систем хранения данных, он касается моделей HBA и RAID-контроллера.

НBA можно представить как RAID-контроллер без уровня RAID виртуализации дисков: HBA = RAID-контроллер — RAID-уровень. Или, наоборот, RAID-контроллер можно представить как HBA, к которому добавлен дополнительный уровень виртуализации дисков: RAID-контроллер = HBA + RAID-уровень. В свете того, что вся текущая линейка RAID-контроллеров Microsemi Adaptec поддерживает режим HBA, да и у других производителей используется такой же подход, вторая модель представления RAID-контроллера через HBA является предпочтительной. Даже если вы подключаете диски к RAID-контроллеру через SAS-экспандеры, любой отдельный диск независимо олт того, подключен ли он к экспандеру или к контроллеру напрямую, можно «подать» в систему через режим HBA, т. е. диск как диск, используя всю его доступную емкость. Этот же режим с некоторыми дополнениями позволит вам подключить к RAID-контроллеру и не дисковые устройства, например, ленточную библиотеку или внешнюю RAID-стойку (RBOD).

Вот и получается, что если использовать эту модель, то HBA нужен всегда и везде. В том или ином виде его можно найти и выделить практически в любой системе. И без него так же сложно жить, как и без ЦПУ.

Наверняка многим из вас приходилось участвовать в спорах, что лучше — HARDWARE RAID или SOFTWARE RAID. Лично мне, в силу специфики работы, данная тема стала очень близкой. Хочу сразу сказать, что при объективном и профессиональном рассмотрении вопроса и то и другое решение имеет право на жизнь, оба они обладают примерно равной пропорцией достоинств и недостатков и использование того или иного подхода зависит от условий, предъявляемых к системе. Это так же, как с транспортом: в каких-то ситуациях лучше использовать велосипед, а под другие задачи нужен тяжелый самосвал. Этот спор практически нивелирован в линейке продуктов Microchip Adaptec (см. таблицу). Вы можете легко найти модель под то или иное решение или под оба сразу. Исключение составляет HBA в чистом виде (1100 HBA), им никак не «приделать» Hardware RAID-часть (далее HW), и единственная возможность использовать диски на таком устройстве для создания RAID-тома — применить Software-решения (далее SW). В индустрии есть примеры опционального добавления HW RAID к установленному HBA. Например, в прошлом это концепция ROMB-карты от Intel, которая превращала в HW RAID-контроллер интегрированные на плату HBA. Это решение требовало специального слота PCI на плате, который поддерживал это решение. Но ROMB-карта — это большей частью исключение. Обычно на плату можно интегрировать полноценный HW RAID-контроллер. В базовом варианте он работает как HBA; если нужна его RAID—часть, покупается ключ, HW- или SW-типа, и с его помощью RAID-часть и активируется (табл. 1).

Таблица 1.

SW RAID через режим HBA

Линейка 1200 SMART HBA

И RAID-контроллеры серии

Современная техника с каждым годом становится сложнее — хотелось бы обратить внимание на название линейки 1200. Несмотря на то, что с точки зрения классического определения это HW RAID-контроллер, поддерживающий HW RAID 0, 1, 10 и 5, называется он «SMART HBA». Слова «RAID» в названии нет. Все достаточно просто: серия 1200 в основной массе проектов подразумевает использование служебных HW RAID-томов, например, для установки OS. Остальные диски идут в SW RAID-тома или в SDS.

Если объединить 1100 и 1200 в одну линейку, что было бы достаточно справедливо, то в табл. 1 будут только «Есть». Это дает несколько другой подход к опциональному «добавлению» hardware RAID-части для HBA. Вы можете не покупать ее совсем или купить в минимальной реализации, цена при этом не сильно увеличится, и если она потребуется, то активировать ее и использовать для всех дисков или для некоторой их части.

Мы разобрали очень небольшую часть того, что можно называть «виртуализацией» HBA. На самом деле объединение отдельных физических HBA-устройств в виртуальные HBA, или «нарезка» одного устройства на несколько виртуальных HBA, или то и другое вместе — вполне реализуемая задача, но, к сожалению, в данной статье мы не сможем остановиться на этом детально. Вы можете установить несколько HBA SAS и SATA разных поколений от разных производителей и «объединить» их в одно устройство с интегрированным HBA на вашей плате, по крайней мере большинство SW RAID-приложений из состава OS позволят вам работать с дисками, принадлежащими разным устройствам. К этой теме будет относиться и резервирование одного HBA в системе с помощью другого в режиме active — active или active — passive, HBA в разных узлах кластера, позволяет подключить общую для всех узлов систему хранения и прочие решения.

Теперь давайте обратим внимание на порты современного HBA.

Как правило, те, что интегрируются на плату, имеют стандартные порты SATA или, намного реже, SAS (они часто различаются и по цвету) в виде неизменного пока для SAS3 и SATAIII типового1x SATA-разъема. В последнее время можно встретить и порты PCI-e для подключения дисков, формата M.2 (NGFF) и U.2 (SFF-8639), и здесь концепция HBA-устройства, интегрированного на плату, становится совсем призрачной и дает просто удобное обобщение для портов, использующих транспорт PCI-e для «общения» с дисками.

Отдельные HBA- и RAID-контроллеры используют счетверенные порты — SAS 4х. Все современные HBA имеют формат Mini SAS-HD SFF8643 для внутренних подключений и SFF-8644 для внешних.

Как мы уже отметили, 8x PCI ver. 3 предназначается для установки в материнскую плату. Такую реализацию портов в линейке продуктов RAID/HBA Microchip Adaptec используют все без исключения модели из текущего каталога. Слот 8x PCI-e не является проблемой для большинства материнских плат ПК и рабочих станций. В старых продуктах и у других производителей могут встречаться решения 4х и 1х для HBA.

Какие же устройства можно подключить к современному HBA?

Разумеется, диски. Требования, которые предъявляются к современным HBA, — умение работать со всеми типами дисков: SAS/SATA, SSD/HDD, размер сектора 512/4K, SMR/CMR и т. д. Не только передать их в OS, но и поддерживать максимальную производительность, максимальную емкость и другие параметры.

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

Что еще? Не дисковые устройства типа DVDROM или ленточный накопитель.

Если остановиться на ленточных накопителях, то важно убедиться, какой стандарт LTO поддерживается со стороны HBA; есть и более профессиональные характеристики, с которыми можно встретиться в практической работе.

Широким классом устройств, которым может потребоваться подключение к HBA, являются внешние стойки JBOD, EBOD (с SAS-экспандерами внутри), RBOВ (с RAID-контроллерами) и ленточные библиотеки. Два последних семейства требуют портов с HBA-режимом, которые при этом поддерживают функцию под названием MultiLUN. Для этого класса устройств тоже возникает очень много нюансов, и можно говорить о большом количестве функций/режимов, которые могут потребоваться как со стороны HBA, так и со стороны внешней стойки.

Перенос дисков с устройства на устройство для HBA носит глобальный характер и не зависит от производителя. На практике это может понадобиться для замены или модификации вашей системы. Например, любой SATA-диск (или другое SATA-устройство) можно легко перенести на любой другой HBA, скажем, интегрировать на материнскую плату или на отдельный SATA либо SAS HBA любого производителя или на SAS/SATA RAID-контроллер с HBA-режимом. Данные, в частности в виде файлов, если они есть на диске, будут доступны. С внешними или SAS-устройствами будет сложнее, но информация тоже должна быть доступна на любом HBA, имеющем соответствующий порт. К сожалению, с RAID-контроллерами это не так. Если переносится RAID-том (все составляющие его диски) на другое устройство, то информация будет видна только на RAID-контроллерах, имеющих такой же RAID-стек. Например, для продукции Microchip Adaptec не получится напрямую перенести том с RAID-контроллера серии (стек ARC) на RAID-контроллер SMART RAID 3100 (стек SMART RAID), а вот диски в режимах HBA вы перенесете без проблем.

Старые RAID-контроллеры обладали «псевдо режимами» HBA: simple volume (есть и на многих современных RAID-контроллерах, иногда реализуется как RAID0 на одном диске), JBOD-режим и т. п.; при таком режиме диски передавались в OS как отдельные, но на них создавались специальные служебные области — метаданные, особого proprietary-формата, и формат этот мог быть прочитан только на RAID-контроллерах и только такого же стека. Таблица 2 немного объясняет различия между таким режимом и HBA, например, при использовании SW RAID.

Что такое hba адаптер. Смотреть фото Что такое hba адаптер. Смотреть картинку Что такое hba адаптер. Картинка про Что такое hba адаптер. Фото Что такое hba адаптер

Таблица 2.

(небольшое уменьшение доступной емкости диска)

Использование кэша контроллера

К современным HBA предъявляются серьезные требования. Одно из основных — надежность. Если для дисков надежностью можно легко управлять в каких-то пределах через функцию RAID, то у самого HBA этот показатель должен быть максимально высоким. Отдельные HBA-устройства в виде плат обычно являются серверными продуктами. Если взять линейку HBA 1100/1200 Microchip Adaptec, то у всех продуктов официальное значение качества, выраженное через MTBF, составит от 1,36 до 2,73 миллиона часов (при соблюдении температурного режима работы) в зависимости от модели с серверной гарантией на 3 года.

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

Помимо качества HW и SW (называется Firmware = FW = прошивка) в части HBA важной характеристикой является производительность. К примеру, линейка 1100/1200 обладает производительностью 1 700 000 iops, что позволяет полноценно использовать самые современные SAS/SATA SSD-диски в количествах, как минимум поддерживаемых внутренними корзинами современных серверных корпусов.

Кратко рассмотрим основные функции HBA, которые могут быть реализованы в настройках. Для HBA, интегрированных на материнскую плату, их совсем немного. Например, поддержка NCQ.

Отдельные SAS HBA серверного типа обладают достаточно широким функционалом, невозможно перечислить всё, но назовем самые основные моменты, о которых проектировщик должен знать: поддержка legacy- и uEFI-режимов, умение показать (даже при загрузке) основные параметры, характеристики и режимы работы диска, поддержка SMART, т. е. способность показать SMART-таблицы диска и передать в систему управления SMART error/warning, интеграция в систему управления — возможность удаленного управления через графическую утилиту сразу всеми серверами, где установлены RAID-контроллеры или HBA, поддержка CLI, поддержка функции шифрования со стороны HBA. Как это ни удивительно, существует очень много функций, которые могут быть реализованы на современном HBA. Некоторые очень сложно представить. Назову такую интересную способность: современный HBA, например, Microchip Adaptec 1100, может «видеть» «осколки RAID-томов стека SMART RAID» (естественно, не читать информацию, а информировать администратора, что диск был вынут из RAID-тома), и пока вы не удалите служебную область данного стека, этот диск не будет передаваться в OS.

Если говорить о будущем для HBA, то оно наступает весьма стремительно.

Мы видим, что технология SATA по сути заменяется NVMe.

И на материнских платах мы будем встречать все больше интегрированных решений для дисков и других устройств, использующих PCI-e как транспортный протокол.

Что касается серверных HBA и RAID-контроллеров с режимом HBA как отдельное устройство, то они тоже будут поддерживать NVMe. Это будет высокая степень универсальности: одновременная поддержка NVMe, SAS- и SATA-устройств. Скорее всего — уже через формат порта u.3.

Сюда же добавится SAS-4 24G, расширение адресного пространства при подключении через экспандеры до пятисот или до тысячи устройств (сегодня — около 256), возможно, расширение концепции серверного слота до 16х (требуется для поддержки SSD-дисков) и использование PCI-e v.4. Ожидается также переход кабелей на оптику — появление опции подключения дисков через оптические кабели и т. д. Будущее, как известно, обладает некоторой долей непредсказуемости.

Если говорить о проектах, где можно использовать HBA, то их спектр просто огромен. Практически все типы проектов могут быть реализованы с использованием HBA. Помещаю ниже небольшой рисунок в виде инфографики, чтобы визуализировать сказанное. SAS HBA начинают выполнять роль своего рода «устройства с универсальными портами для подключения всех возможных типов дисков, и не только», что удобно, начиная с домашнего компьютера и заканчивая проектами ЦОДов. В будущем такую роль начнут выполнять 3-mode (trimode) HBA (поддержка SAS/SAT/NVMe-устройств).

Но ожидаемая линейка с крайне высокой производительностью уже, наверное, не будет обладать такой широтой поддержки проектов. Если текущие линейки не будут объявлены как EOL (end of life), то в проектах ПК, рабочих станций и серверов начального уровня и выше могут использоваться NVMe-порты материнской платы + HBA SAS 12G/24G при условии, что необходима возможность работы с любыми типами дисков; но это всего лишь предположение — посмотрим. В любом случае текущие линейки продуктов обладают потрясающим проектным охватом.

В данной статье хотелось бы поговорить и о подходах к проектированию с использованием HBA. Но на самом деле даже в одной только области ЦОДов возможных типов проектов так много, что для этого потребовалась бы отдельная статья, хорошо если не книга — учебник.

Что такое hba адаптер. Смотреть фото Что такое hba адаптер. Смотреть картинку Что такое hba адаптер. Картинка про Что такое hba адаптер. Фото Что такое hba адаптер

Надо отметить, что полнофункциональный SAS HBA может оказаться неплохим помощником даже дома или на работе (например, в качестве системы для администратора, с целью обслуживания различных дисков, которые используются на предприятии или в ЦОДе: тестирование дисков, смена прошивки, подготовка к работе, снятие с рабочего режима, измерение производительности и т. д.). Без такого решения не обойтись и в том случае, если вам нужно работать дома со всеми без исключения типами дисков (SAS/SATA, SSD/HDD, 512/4K, SMR/CMR), а также с SW RAID-томами на их основе. Особенно если при этом надо использовать большой набор различных OS. К слову, по сравнению с процессорами или графическими платами для энтузиастов это не такие уж большие затраты.

Что такое hba адаптер. Смотреть фото Что такое hba адаптер. Смотреть картинку Что такое hba адаптер. Картинка про Что такое hba адаптер. Фото Что такое hba адаптер

В наше время не очень сложно найти корзину SAS3 12G на четыре диска 2,5″ для типичного отсека 5,25″, которых в десктопном корпусе при желании может быть достаточно много. В такой же отсек можно установить корзину zero-effort hot swap SATA для дисков 2,5″ и 3,5″. Она будет выполнять две важные функции — быструю загрузку и смену любых других OS, которые нужны в работе, и подключение к SAS HBA дисков SATA 3,5″. Единственный недостаток — невозможность подключения SAS-дисков 3,5«: их производится мало, но работа с ними может потребоваться. Здесь проблема решится кабелем, который поможет подключить их к SAS HBA напрямую, без Hot Swap-корзины. Для SAS-дисков (или SAS + SATA) кабель должен обладать особым разъемом. И вам потребуется, например, Microchip Adaptec HBA 1100 или 1200, которые «заберет» один слот 8х или 16х в вашей системе.

Источник

Выбор контроллера SAS

Контроллеры

Конечно, сложные IT-проекты могут быть выполнены силами наших инженеров «под ключ» — от планирования до внедрения и поддержки. Но среди наших клиентов есть большое число маленьких компаний с небольшим парком серверов, где периодически требуется сделать выбор на уровне отдельных компонентов. Надеемся, что данная статья поможет нашим клиентам самостоятельно выбрать SAS HBA или RAID-контроллер, соответствующий решаемым задачам и бюджету.

В данной статье рассматривается продукция только двух производителей SAS-контроллеров — Avago (до поглощения — LSI) и Adaptec (торговая марка принадлежит компании PMC-Sierra). Есть ещё несколько производителей SAS RAID и HBA контроллеров: ATTO, Areca, HighPoint — но они почти не представлены на российском рынке. Intel использует продукты Avago (LSI) в качестве основы для своих RAID-контроллеров.

HBA или RAID?

SAS HBA (Host Bus Adapter) — простой контроллер SAS, обеспечивающий лишь передачу команд от хоста к дискам или другим таргетам. Никакого кэширования, оптимизации команд, размещения метаданных на дисках.

Контроллер SAS RAID отличается от HBA архитектурой. Микрокод RAID-контроллера обеспечивает широкий функционал: организация массивов из подключённых дисков, оптимизация обработки команд (переупорядочивание, объединение команд, кэширование). Для всего этого требуется более производительный процессор, желательно с аппаратной поддержкой рассчёта контрольных сумм для RAID-5 и RAID-6. По сути получается небольшой встраиваемый компьютер с процессором, памятью, достаточно сложной операционной системой. Хост не получает прямого доступа к дискам, а работает только с виртуальными дисками, массивами (массив может состоять из даже из одного диска), которые презентует ему RAID-контроллер

Традиционное утверждение о том, что аппаратные RAID-контроллеры всегда обеспечивают существенно более высокий уровень производительности системы в целом за счёт отсутствия нагрузки процессор и наличия аппаратных блоков расчёта контрольных сумм, является излишне категоричным. Для современных процессоров даже нагрузка, связанная с обработкой записи на RAID-6 не является сколь-нибудь значительной. MDRAID в Linux может обеспечить приемлемый уровень производительности, а Microsoft Storage Spaces при добавлении SSD в качестве кэша и/или быстрого яруса может масштабироваться нескольких сотен тысяч IOPS. Ещё один пример — системы хранения данных на базе ПО RAIDIX в своё время появились из-за необходимости обеспечить высокую производительность (несколько ГБ/с при последовательном доступе) для хранения и обработки медиаконтента, которую невозможно было получить с использованием аппаратных RAID-контроллеров.

В тоже время вычислительные возможности процессора RAID-контроллера не безграничны. Например, пределы для контроллеров на базе LSI 2108 (SAS2 первого поколения, на этом чипе до сих пор производятся контроллеры Avago 9250 и 9260) — 2,8 / 1,3 ГБ/с на чтение/запись при последовательном доступен в RAID-5 и 6, для доступа небольшими блоками 4КиБ — 130 тысяч IOPS. Даже один современный серверный SSD может обеспечить больше 100 тыс. IOPS на чтение, так что такой контроллер легко может стать узким местом для производительности дисковой подсистемы. В то же время SAS2 HBA того же поколения на чипе LSI 2008 обеспечивают предел уже в 320 тыс. IOPS. Лимиты современных RAID-контроллеров — более полумиллиона IOPS и 4-6ГБ/с, но HBA по-прежнему могут обеспечить более высокую производительность.

Преимущество RAID-контроллера — во встроенных средствах управления, достаточно совершенных алгоритмах обработки отказов и наличии энергонезависимой (при наличии модуля защиты) памяти, использование которой для кэширования может существенно (в разы) увеличить производительность при некоторых типах нагрузки.

В настоящее время жёстких различий нет. Большая часть SAS HBA от Avago может использовать прошивку IR (Integrated RAID), которая обеспечивает базовый RAID-функционал: построение массивов 0, 1E и 10 из небольшого числа дисков вместе с базовыми сервисами (проверкой целостности, поддержкой hot-spare дисков, возможностью расширения объёма массива на лету). И наоборот — контроллеры Adaptec серий 7 и 8 могут предоставлять хосту прямой доступ к отдельным или всем дискам (HBA mode). Но в первом случае вы получите низкую производительность, во втором — высокую цену.

Что же выбрать? Всё зависит от конкретных задач. В случае подключения внешних СХД выбора, как правило, нет, нужен именно HBA. Для относительно бюджетных решений без использования СХД, связанных с хранением большого объёма данных и последовательной нагрузкой (резервное копирование, видеонаблюдение), лучше выбрать RAID-контроллер. Для тяжёлых нагрузок, связанных со случайным доступом (например, высоконагруженные СУБД), и при наличии большого числа подключаемых SSD стоит внимательно изучить ограничения выбранного контроллера.

Список SAS HBA

Все современные контроллеры LSI (Avago) имеют обозначение количества и типа портов (внутренние или внешние) в названии: цифра на конце обозначает количество портов (одиночных линий SAS, а не 4x разъёмов), i — internal (внутренние), e — external (внешние).

Наименование контроллеров Adaptec by PMC: первая цифра — поколение, вторая (или двузначное число для 16-портовых контроллеров) — количество внутренних портов, третья — количество внешних портов. Одна или две буквы на конце: H — HBA-контроллер, Z — наличие встроенного модуля защиты кэша, Q — поддержка технологии SSD-кэширования (Adaptec MaxCache).

Вендор

Модель

Порты

Поколение SAS

Форм-фактор

Хост-интерфейс

IOPS-лимит

Примечание
Avago

9211-4i

4i

SAS2 (6Гбит)

LP

PCI-E 2.0 x4

160k

IR: RAID 0, 1, 1E, 10
Avago

9211-8i

8i

SAS2 (6Гбит)

LP

PCI-E 2.0 x8

320k

IR: RAID 0, 1, 1E, 10
Avago

9201-16i

16i

SAS2 (6Гбит)

FH

PCI-E 2.0 x8

430k
Avago

9201-16e

16e

SAS2 (6Гбит)

FH

PCI-E 2.0 x8

430k
Avago

9212-4i4e

4i + 4e

SAS2 (6Гбит)

LP

PCI-E 2.0 x8

320k

IR: RAID 0, 1, 1E, 10. Внутренние порты — одиночные SATA-разъёмы
Avago

9207-8e

8e

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

650k
Avago

9207-8i

8i

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

650k

IR: RAID 0, 1, 1E, 10
Avago

9207-4i4e

4i + 4e

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

650k

IR: RAID 0, 1, 1E, 10
Avago

9206-16e

16e

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

1M

SFF8644
Avago

9300-4i

4i

SAS3 (12Гбит)

LP

PCI-E 3.0 x8

1M

IR: RAID 0, 1, 1E, 10
Avago

9300-4i4e

4i + 4e

SAS3 (12Гбит)

LP

PCI-E 3.0 x8

1M

IR: RAID 0, 1, 1E, 10
Avago

9300-8i

8i

SAS3 (12Гбит)

LP

PCI-E 3.0 x8

1M

IR: RAID 0, 1, 1E, 10
Avago

9300-8e

8e

SAS3 (12Гбит)

LP

PCI-E 3.0 x8

1M

IR: RAID 0, 1, 1E, 10
Avago

9300-16e

16e

SAS3 (12Гбит)

FH

PCI-E 3.0 x8

2M
Avago

9300-16i

16i

SAS3 (12Гбит)

FH

PCI-E 3.0 x8

2M
Avago

9302-16e

16e

SAS3 (12Гбит)

FH

PCI-E 3.0 x16

2.8M
Adaptec by PMC

6405H

4i

SAS2 (6Гбит)

LP

PCI-E 2.0 x4

280k
Adaptec by PMC

6805H

8i

SAS2 (6Гбит)

LP

PCI-E 2.0 x4

280k
Adaptec by PMC

7805H

8i

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

800k

SFF8643
Adaptec by PMC

71605H

16i

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

800k

SFF8643
Adaptec by PMC

7085H

8e

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

800k

SFF8644
Adaptec by PMC

70165H

16e

SAS2 (6Гбит)

LP

PCI-E 3.0 x8

800k

SFF8644

Возможности SSD-кэширования и отличия от Avago/LSI (Adaptec MaxCache 3.0): до 2ТБ кэша, поддержка RAID 10, 1E и RAID-5 для SSD в кэш пуле (т.е. можно получить защищённый кэш-пул на нечётном количестве дисков), возможность использования части объёма SSD для создания пользовательских томов.

Ещё одна особенность новых контроллеров — отсутствие фирменного RAID-5EE, что делает невозможным быструю миграцию таких томов переходе со старых контроллеров. RAID-5EE представлял собой обычный RAID-5 с распределённым hot-spare (пустыми страйпами), т.е. позволял немного увеличить производительность за счёт задействования дополнительного диска. С ростом объёма дисков RAID-5 уже давно перестал быть безопасным для надёжного хранения данных, но старые контроллеры недостаточно быстро работали с RAID-6. RAID-5EE был неким компромиссом, но сейчас необходимость в нём отпала.

Часто задаваемые вопросы

О: Метаданные с описанием конфигурации массива в современных контроллерах хранятся как в NVRAM самого контроллера, так и на дисках. Каждый производитель контроллеров использует свой формат метаданных, но, естественно, обеспечивается совместимость между контроллерами одной серии и обратная совместимость (контроллеры новой серии могут импортировать тома от старой или младшей серии). Следует обращать внимание на факторы, которые могут препятствовать импорту конфигурации: старый контроллер использует неподдерживаемый новым контроллером функционал (SSD-кэш, снапшоты через LSI Recovery, RAID-5EE), массивы в аварийном состоянии (просто в состоянии degrade, в процессе ребилда или расширения), более старая версия прошивки и т.п.

О: Для большинства нагрузок и конфигураций режим работы кэша Write-Back (когда контроллер сообщает хосту о завершении операции записи сразу после попадания данных в кэш) обеспечивает заметный прирост производительности. Особенно это заметно при случайном доступе к томам RAID-5 и 6 — без оптимизации (записи полного страйпа) производительность из-за необходимости перезаписи контрольных сумм будет снижена. Аварийное отключение питания приводит к потере данных, содержавшихся в кэше, но ещё не записанных на диски, что в свою очередь может привести к полной потере данных всего тома. ИБП не обеспечивает стопроцентную защиту, так как помимо простого отключения питания может произойти сбой материнской платы или контроллера.

Для конфигураций, состоящих исключительно из SSD, оптимальная производительность на контроллерах Avago (LSI) и Adaptec достигается без WriteBack кэша, следовательно защита кэша становится необязательной.

Что такое hba адаптер. Смотреть фото Что такое hba адаптер. Смотреть картинку Что такое hba адаптер. Картинка про Что такое hba адаптер. Фото Что такое hba адаптер

Второе применение — 2-узловые кластеры с использованием одного или нескольких общих дисковых полок. Примеры: Avago Syncro CS или Microsoft Storage Spaces.

О: Как правило нагрузка на системный том является сравнительно небольшой (в основном это запись логов), так что в большинстве случаев достаточно средствами контроллера создать небольшой том на той же группе дисков, которая будет использоваться для основной нагрузки.

О: Не поддерживают, но при использовании серверных SSD при типовых серверных нагрузках это мало влияет на производительность и ресурс. См. подробности в этой статье.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *