Контроллер массива дисков
Контроллер массива дисков — это специализированное устройство, осуществляющее управление физическими накопителями и представляющее их компьютеру в виде логических единиц хранения (LUN). Данный компонент часто реализует функции аппаратного RAID-контроллера, что обуславливает его альтернативное название — RAID-контроллер. Кроме того, он обычно оснащается дополнительной кэш-памятью для ускорения операций с дисками.
Термин «контроллер дискового массива» иногда сокращают до «контроллер диска», что может вызывать путаницу, поскольку последний также относится к схеме, управляющей внутренними операциями самого дискового накопителя.
- Внешний и внутренний интерфейс
Контроллер массива дисков обеспечивает два типа интерфейсов: внешний и внутренний. - Внутренний интерфейс предназначен для взаимодействия с подключенными дисками и обычно поддерживает протоколы ATA (PATA), SATA, SCSI, Fibre Channel или Serial Attached SCSI. - Внешний интерфейс связывает контроллер с адаптером шины хоста (HBA) компьютера и может использовать:
- распространенные протоколы, такие как ATA, SATA, SCSI или FC, что позволяет контроллеру эмулировать диск для прозрачной работы с компьютером; - менее распространенные специализированные протоколы, включая FICON/ESCON, iSCSI, ATA over Ethernet или InfiniBand, предназначенные для конкретных решений.
Один контроллер может применять различные протоколы для внешнего и внутреннего интерфейсов. Например, многие корпоративные модели используют Fibre Channel для внешнего подключения и SATA для внутреннего.
- Контроллер уровня предприятия
В современных корпоративных архитектурах контроллеры дисковых массивов (также известные как процессоры хранения) являются частью физически независимых систем, таких как дисковые массивы, размещенные в сетях хранения данных (SAN) или серверах NAS.
Эти внешние дисковые массивы обычно поставляются как интегрированные подсистемы, включающие RAID-контроллеры, накопители, блоки питания и программное обеспечение для управления. Контроллеры обеспечивают расширенные функции, которые различные производители называют по-своему: - Автоматическое аварийное переключение между контроллерами (незаметное для компьютеров, передающих данные). - Долгосрочные операции, выполняемые без прерывания работы:
- Создание нового RAID-массива. - Восстановление поврежденного массива после сбоя диска. - Добавление диска в RAID-массив в режиме онлайн. - Удаление диска из массива (редко реализуемая функция). - Разделение RAID-массива на отдельные тома или LUN.
- Мгновенные снимки данных. - Резервное копирование при постоянной доступности (BCV). - Репликация данных через удаленный контроллер.
- Простые контроллеры
Простой контроллер массива дисков может быть установлен внутри компьютера в виде карты расширения PCI/PCI Express или интегрирован непосредственно в материнскую плату. Такой контроллер обычно совмещает функции HBA для экономии физического пространства, поэтому его часто называют RAID-адаптером.
В феврале 2007 года Intel начала встраивать свои контроллеры в более дорогие материнские платы, обеспечивая управление четырьмя устройствами и два дополнительных разъема SATA, что в сумме дает шесть разъемов SATA (каждый со скоростью 3 Гбит/с). Для обратной совместимости также предусмотрен один IDE-разъем, поддерживающий подключение двух ATA-устройств со скоростью 100 Мбит/с.
- История
Хотя аппаратные RAID-контроллеры существуют давно, изначально они требовали дорогих жестких дисков и предназначались для серверов и высокопроизводительных вычислений. Преимущества технологии SCSI включали возможность подключения до 15 устройств на одной шине, независимую передачу данных, горячую замену и значительно более высокую наработку на отказ.
Примерно в 1997 году с появлением стандарта ATAPI и режима UDMA, обеспечившего быструю передачу данных при меньшей нагрузке на центральный процессор, были представлены первые ATA RAID-контроллеры в виде PCI-карт расширения. Эти системы нашли применение на потребительском рынке, предлагая отказоустойчивость RAID без необходимости приобретения дорогих SCSI-накопителей.
Благодаря доступным потребительским накопителям стало возможным создавать RAID-системы дешевле, чем на базе SCSI. Однако большинство ATA RAID-контроллеров не имеют выделенного буфера или высокопроизводительного оборудования для расчета четности (XOR), что приводит к значительно более низкой производительности по сравнению с SCSI RAID-контроллерами. Кроме того, безопасность данных снижается при отсутствии резервного питания от батареи, которое могло бы завершить запись в случае внезапного отключения электроэнергии.
- Поддержка операционной системы
Поскольку аппаратные 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.
- Примечания
Категория: Носители информации на вращающихся дисках Категория: Компьютерные устройства хранения данных Категория: ATA Категория: Отказоустойчивые системы Категория: Интегральные схемы Категория: RAID Категория: SCSI
Ссылки[править | править код]
- Storage Basics: Choosing a RAID Controller
- http://vmtoday.com/2010/03/storage-basics-part-v-controllers-cache-and-coalescing/
- http://bxr.su/f/share/man/man4/aac.4
- http://mdoc.su/f/aac.4
- http://bxr.su/f/usr.sbin/mfiutil/
- https://www.freebsd.org/cgi/man.cgi?query=mfiutil&sektion=8
- http://bxr.su/f/usr.sbin/mpsutil/
- https://www.freebsd.org/cgi/man.cgi?query=mpsutil&sektion=8
- http://bxr.su/f/usr.sbin/mptutil/
- https://www.freebsd.org/cgi/man.cgi?query=mptutil&sektion=8
- http://www.openbsd.org/lyrics.html#38
- http://cnst.su/MMathCS