Перейти к содержанию

Контроллер массива дисков

Статья из Авикипедии. Энциклопедии

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

Термин «контроллер дискового массива» иногда сокращают до «контроллер диска», что может вызывать путаницу, поскольку последний также относится к схеме, управляющей внутренними операциями самого дискового накопителя.

    1. Внешний и внутренний интерфейс

Контроллер массива дисков обеспечивает два типа интерфейсов: внешний и внутренний. - Внутренний интерфейс предназначен для взаимодействия с подключенными дисками и обычно поддерживает протоколы ATA (PATA), SATA, SCSI, Fibre Channel или Serial Attached SCSI. - Внешний интерфейс связывает контроллер с адаптером шины хоста (HBA) компьютера и может использовать:

 - распространенные протоколы, такие как ATA, SATA, SCSI или FC, что позволяет контроллеру эмулировать диск для прозрачной работы с компьютером;
 - менее распространенные специализированные протоколы, включая FICON/ESCON, iSCSI, ATA over Ethernet или InfiniBand, предназначенные для конкретных решений.

Один контроллер может применять различные протоколы для внешнего и внутреннего интерфейсов. Например, многие корпоративные модели используют Fibre Channel для внешнего подключения и SATA для внутреннего.

    1. Контроллер уровня предприятия

В современных корпоративных архитектурах контроллеры дисковых массивов (также известные как процессоры хранения) являются частью физически независимых систем, таких как дисковые массивы, размещенные в сетях хранения данных (SAN) или серверах NAS.

Эти внешние дисковые массивы обычно поставляются как интегрированные подсистемы, включающие RAID-контроллеры, накопители, блоки питания и программное обеспечение для управления. Контроллеры обеспечивают расширенные функции, которые различные производители называют по-своему: - Автоматическое аварийное переключение между контроллерами (незаметное для компьютеров, передающих данные). - Долгосрочные операции, выполняемые без прерывания работы:

 - Создание нового RAID-массива.
 - Восстановление поврежденного массива после сбоя диска.
 - Добавление диска в RAID-массив в режиме онлайн.
 - Удаление диска из массива (редко реализуемая функция).
 - Разделение RAID-массива на отдельные тома или LUN.

- Мгновенные снимки данных. - Резервное копирование при постоянной доступности (BCV). - Репликация данных через удаленный контроллер.

    1. Простые контроллеры

Простой контроллер массива дисков может быть установлен внутри компьютера в виде карты расширения PCI/PCI Express или интегрирован непосредственно в материнскую плату. Такой контроллер обычно совмещает функции HBA для экономии физического пространства, поэтому его часто называют RAID-адаптером.

В феврале 2007 года Intel начала встраивать свои контроллеры в более дорогие материнские платы, обеспечивая управление четырьмя устройствами и два дополнительных разъема SATA, что в сумме дает шесть разъемов SATA (каждый со скоростью 3 Гбит/с). Для обратной совместимости также предусмотрен один IDE-разъем, поддерживающий подключение двух ATA-устройств со скоростью 100 Мбит/с.

      1. История

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

Примерно в 1997 году с появлением стандарта ATAPI и режима UDMA, обеспечившего быструю передачу данных при меньшей нагрузке на центральный процессор, были представлены первые ATA RAID-контроллеры в виде PCI-карт расширения. Эти системы нашли применение на потребительском рынке, предлагая отказоустойчивость RAID без необходимости приобретения дорогих SCSI-накопителей.

Благодаря доступным потребительским накопителям стало возможным создавать RAID-системы дешевле, чем на базе SCSI. Однако большинство ATA RAID-контроллеров не имеют выделенного буфера или высокопроизводительного оборудования для расчета четности (XOR), что приводит к значительно более низкой производительности по сравнению с SCSI RAID-контроллерами. Кроме того, безопасность данных снижается при отсутствии резервного питания от батареи, которое могло бы завершить запись в случае внезапного отключения электроэнергии.

    1. Поддержка операционной системы

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

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

В отличие от сетевых плат Ethernet, которые обычно настраиваются с помощью стандартных средств операционной системы (например, ifconfig в Unix), каждый производитель RAID-контроллера, как правило, предоставляет собственное проприетарное программное обеспечение для поддерживаемых операционных систем. Это создает привязку к поставщику и может вызывать проблемы с надежностью.

Например, в FreeBSD для доступа к конфигурации RAID-контроллеров Adaptec пользователям необходимо включить совместимость с Linux и использовать инструменты Adaptec для Linux, что потенциально может повлиять на стабильность, надежность и безопасность системы в долгосрочной перспективе. Однако это во многом зависит от самого контроллера и наличия документации для написания драйвера. Некоторые контроллеры имеют утилиты конфигурации с открытым исходным кодом. Так, для FreeBSD с версии 8.0 (2009 г.) доступны утилиты mfiutil и mptutil, а с 2015 года — mpsutil/mprutil, которые поддерживают только соответствующие драйверы устройств.

Некоторые операционные системы внедрили универсальные фреймворки для взаимодействия с любыми RAID-контроллерами. Они предоставляют инструменты для мониторинга состояния RAID-томов, идентификации дисков с помощью мигания светодиодов, управления сигнализацией, назначения горячих резервных дисков и очистки данных RAID непосредственно из операционной системы без перезагрузки в BIOS. Например, такой подход был реализован в OpenBSD в 2005 году с использованием специальных файлов устройств и утилиты bioctl, которая обеспечивает отображение статуса томов, управление светодиодами, сигнализацией, горячими запасными дисками и датчиками для мониторинга состояния. В 2007 году этот подход был принят и расширен NetBSD.

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

    1. Примечания

Категория: Носители информации на вращающихся дисках Категория: Компьютерные устройства хранения данных Категория: ATA Категория: Отказоустойчивые системы Категория: Интегральные схемы Категория: RAID Категория: SCSI

Ссылки[править | править код]