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

Типы RAID-томов

Основные типы RAID-томов и области их использования сведены в таблицу. Есть ряд тенденций, на которые хотелось бы обратить особое внимание.

Уменьшение роли RAID5 в области использования жестких дисков HDD. Полагаю, причины этого явления вполне понятны при использовании технологии SAS. Кратко напомним: речь о поддержке всех видов дисков, включая диски для настольных компьютеров, поскольку SAS-контроллеры поддерживают диски SAТA, а они относятся к разных классам в плане надежности. Это также значительное увеличение количества дисков как на контроллере (до 256 дисков на контроллере для RAID-контроллеров Adaptec серии 2, 5, 6, 7), так и в составе тома (до 32 дисков в составе RAID5, до 128 дисков в составе RAID50), особенно если сравнить с временами, когда в серверах господствовала технология SCSI. Кроме того, это значительное увеличение емкости дисков. На сегодняшний день в листах совместимости Adaptec RAID контроллеров серии 6 и 7 есть поддержка дисков 4 Тбайт.

Поскольку использование RAID5-решений в проектах уменьшается (а в ряде случаев оно просто запрещено), стеки RAID-контроллеров предлагают новые решения, такие как 5EE, 6, 1E и др., для создания базовых пользовательских томов взамен традиционного RAID5. Отметим, что не только новые уровни RAID помогают сделать отказ от использования RAID5 безболезненным – в этой области можно найти и другие решения. Например, поддержка функции bad stripe позволяет сохранять доступ к данным RAID-тома при возникновении критических ситуаций, которые раньше приводили к прямой потере доступа.

Ограничения на использование жестких дисков desktop и nearline. Появление таких ограничений не должно вызывать особого удивления. Поддержка всех классов дисков во всевозможных томах затруднена, поскольку в некоторых состояниях (например degraded RAID5 из desktop-дисков) тома обладают крайне плохими свойствами, связанными с надежностью. В нашем случае такой RAID5 будет в несколько раз менее надежным, чем обычный отдельный desktop-диск. Нарушение ограничений приводит к ситуации, когда использование RAID-контроллера не только бессмысленно, но и связано с серьезными рисками для доступа к данным и целостности данных.

Рост популярности гибридных томов. В широком смысле гибридный том – это любой том, где одновременно используются и традиционные жесткие диски (HDD), и твердотельные SSD. В силу этого такое решение, как SSD-кэширование, тоже является одним из вариантов реализации гибридного тома. В RAID-контроллерах Adaptec функция «гибридный том» (Hybrid Volume) подразумевает специальный режим для томов RAID1, 10, где используются как HDD-, так и SSD-диски.

Сам рост популярности гибридных томов объясняется довольно просто. SSD-диски в чистом виде не находят широкого применения, поскольку ряд их серверных свойств пока находится в разработке. Цена SSD-дисков довольно высока. Но в то же время SSD-решения обладают уникальной производительностью. Гибридные тома позволяют добавить надежности и емкости со стороны HDD-дисков, производительности со стороны SSD-дисков и оптимизировать цену такого решения.

Возможность использовать RAID-тома SSD. Хорошим примером уже имеющегося на рынке контроллера, который разработан с учетом широкого использования SSD-дисков, является 7 серия контроллеров Adaptec. Ядро контроллера имеет показатель на уровне больше 500 тыс. IOPS для случайного трафика (рис. 1) и около 6 Гбайт/с для последовательных шаблонов трафика. Такие показатели позволяют использовать SSD-диски средней категории производительности (наиболее популярных моделей) в количестве, по крайней мере равном количеству портов на контроллере (8–16 SSD).

Внутренняя архитектура, 24 порта в системе RAID-контроллера, поддержка PCI-E v.3 и т.д. создают некий задел для роста популярности поддержки «чистых» SSD-томов на RAID-контроллерах.

Вполне очевидно, что следующим шагом к поддержке SSD-томов будет использование технологии SAS3 – 12 Гбит/с.

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

Основные типы RAID-томов и области их использования

Тип тома RAIDHDDSSDГибридный Область использованияУсловия применимости
RAID1 HDDxСлужебные тома типа: том для ОС, том для операций виртуальной памяти (SWAP), том для журналов баз данных (LOG)Допустимы все типы дисков (desktop, nearline, server); нормой проектирования считается класс nearline и выше, до полноценных серверных SAS HDD
RAID1/RAID10/RAID1E/RAID0 SSDxИспользуются мало в силу высокой стоимости решения. Исключение – SSD-кэш на запись, здесь широко применяются RAID1/1E/10
Гибридный RAID1xxxДля типов гибридных томов на RAID-контроллерах Adaptec: чтение происходит всегда с SSD-дисков, а запись на оба диска. Наиболее применимы для систем, работающих на чтение, например front-end web-сервера Применяется, если операций чтения значительно больше, чем операций записи
RAID 1E HDDXЗамена RAID1 для нечетного числа дисков. Используется максимум для 3 дисков. Применяется в 1U-серверах, где дисковая корзина допускает установку 3 дисковДопустимы все типы дисков (desktop, nearline, server); нормой проектирования считается класс nearline и выше, до полноценных серверных SAS HDD
RAID10 HDDxДля создания высоконадежных пользовательских томов, в проектах, которые не оптимизируются по цене и для четного числа дисков. Возможно использование Hot Spare-дисков для увеличения показателей надежности таких томовДопустимы все типы дисков (desktop, nearline, server); нормой проектирования считается класс nearline и выше, до полноценных серверных SAS HDD
Гибридный RAID10 xxxДля типов гибридных томов на RAID-контроллерах Adaptec: чтение всегда с SSD-дисков из RAID1-подтомов в составе RAID10, а запись на оба диска в зеркальном подтоме. Наиболее применимы для систем, работающих на чтение, с высокими требованиями к производительности (например, корпоративные/Интернет-БД). Применяется, если операций чтения значительно больше, чем операций записи
RAID5 HDDxПрименяется в служебных томах типа BACKUP (без ограничений) и в бюджетных пользовательских томах, как правило, с использованием SAS-дисков серверного класса. Добавление Hot Spare автоматически означает переход на RAID5EE или 6 как более качественную замену решения RAID5 + Hot SpareДля контроллеров Adaptec запрещается использовать диски класса desktop для создания пользовательских томов емкостью больше 200 Гбайт в случае RAID5 без дисков Hot Spare. Запрещается использовать диски класса nearline емкостью больше 1 Гбайт для RAID5 без дисков Hot Spare. Ограничения в стеке Adaptec – не больше 32 дисков в одном томе RAID5
RAID5 SSDxВозможно применение для высокопроизводительных систем, особенно БД или виртуальных систем с приложениями типа БД
RAID 5EEИспользуется для замены RAID5 + Hot Spare, поскольку дает ту же емкость и цену проекта, но более высокую надежность и производительностьДопустимы все типы дисков. Ограничения в стеке Adaptec – не больше 16 дисков в одном томе RAID5EE (контроллеры серии 7 не поддерживают RAID5EE)
RAID6 HDDxНорма проектирования для пользовательских томов при количестве дисков от 5 до 16; в ряде случаев служит прямой заменой RAID5 + Hot Spare. Для служебных томов практически не используетсяДопустимы все типы дисков. Ограничения в стеке Adaptec – не больше 32 дисков в одном томе RAID6
RAID6/RAID10 SSDxВозможно применение для высокопроизводительных систем, особенно БД или виртуальных систем с приложениями типа БД, при повышенных требованиях к надежности
RAID6 + Hot SparexНорма проектирования для пользовательских томов при количестве дисков от 5 до 16, если к тому предъявляются максимальные требования по надежностиДопустимы все типы дисков
RAID 50xНеобходим при большом количестве дисков (больше 12), для уменьшения количества дисков, входящих в подтома RAID5 в составе тома RAID50Те же ограничения, что и для RAID5
RAID 60xСнимает ограничения для RAID5/50; наравне с RAID10 используется для создания томов с большим количеством дисков (больше 12) и высокими требованиями к производительности и надежностиДопустимы все типы дисков
RAID 50 + Hot SparexДобавление Hot Spare к томам RAID50 является нормой проектирования и ослабляет ограничения на использование дисковНежелательно использование дисков desktop емкостью больше 200 Гбайт (но для данных типов томов это требование не является обязательным)
RAID 60 + Hot SparexИспользуется для создания томов с большим количеством дисков (больше 12) и максимально высокими требованиями к надежностиДопустимы все типы дисков
Любой том c SSD-кэширо¬ванием на чтениеxxxПрименяется в высокопроизводительных серверах, с большим количеством пользователей, где чтение доминирует над записью (пример – web серверы, файловые серверы, серверы БД в Интернет-компаниях)Только для случайного чтения; только при наличии шаблона горячих данных
Любой том с SSD-кэшированием на чтение и на записьxxxПрименяется в высокопроизводительных серверах, с большим количеством пользователей, где одновременно используются и чтение и запись (пример – корпоративный сервер БД)Чтение: только для случайного чтения; только при наличии шаблона горячих данных. Запись: защищенный кэш, защита обеспечивается SSD-кэш-пулом, использующим том с избыточностью (RAID 1/1E/5). Применение RAID5 оправданно, так как при потере одного диска кэш на запись выключается (включается, когда тому возвращена избыточность)

Дополнительные функции RAID-томов

Рассмотрим функции RAID-томов, влияющие на их производительность или надежность.

Copy Back Hot Spare

В таблице описаны наиболее популярные решения RAID на сегодняшний день. Отметим, что между решениями типа «том RAID без Hot Spare диска» и «том RAID с Hot Spare диском» лежит случай назначения Hot Spare-диска нескольким томам. Оно добавляет надежности по сравнению с первым случаем и дает некоторую экономию по сравнению со вторым. Еще больше экономии приносят решения Copy Back Hot Spare, реализованные, например, на RAID-контроллерах Adaptec серий 5, 6, 7.

При использовании этой функции есть возможность закрывать тома на SAТA-дисках c помощью диска SATA Hot Spare с функцией Copy Back и тома на SAS-дисках – c помощью диска SAS Hot Spare с функцией Copy Back. Но максимальный эффект надежности и экономии дает случай, когда есть несколько, скажем пять, томов RAID5, построенных на SAS-дисках, и всем пяти томам в режиме Copy Back назначается SATA Hot Spare диск большой емкости – такой, чтобы ее хватило на замену вышедшего из строя диска во всех пяти рабочих томах.

В случае выхода из строя одного из дисков в рабочем томе на его место мгновенно начнет встраиваться (через операцию build) часть диска SATA. Безусловно, это не слишком хорошо, когда в состав тома входят и SAS-, и SATA-диски, но в данном случае контроллер выбирает меньшее из зол. Вместо того чтобы держать в крайне опасном состоянии (особенно для нашего случая, поскольку выход одного диска переведет том RAID5 в состояние degrade), контроллер начинает встраивать в том часть SATA-диска. И это за минимально возможный промежуток времени возвращает тома в исходное состояние в плане надежности. При этом производительность тома падает (теперь в нем работает SATA-диск). Администратору остается только заказать и получить новый SAS-диск, и если вставить новый диск в тот же слот, где находился вышедший из строя, то все нужные блоки будут рассчитаны и записаны на этот диск, и только после этого от тома отключится часть SATA-диска. Эта часть снова готова обслуживать тома.

Защита кэширования через оперативную память с помощью модуля AFM

Известно, что почти для всех видов трафика кэширование через оперативную память дает существенные преимущества в производительности. Для использования этой функции достаточно включить кэш на чтение и на запись, однако такая схема требует обязательной защиты. Важно отметить, что ИБП не решает эту задачу полностью. Например, потеря PDB (power distribution board) – платы логики управления блоками питания с избыточностью или отдельного блока питания сервера, если избыточность по питанию не используется – неизбежно приведет к потере данных в кэше даже при наличии ИБП.

Раньше в RAID-контроллерах использовалась специальная батарея (battery backup unit, BBU), задачей которой было подпитывать оперативную память в течение некоторого времени, чтобы не дать обнулиться содержимому кэша, что могло бы привести к потере данных на томе. У батареи имелся ряд недостатков: на ее зарядку и тестирование требуются примерно сутки, время поддержки кэша 24 часа в теории (8 часов среднее значение), срок жизни порядка 2 лет, гарантия 1 год, крайне негативное влияние температуры на срок жизни, требуемая остановка сервера при замене батареи и т.п.

С учетом этих недостатков современные контроллеры Adaptec предлагают для защиты кэша через оперативную память так называемые флэш-модули (Adaptec Flash module, AFM). Принцип работы такого модуля крайне прост: плата с логикой получает питание от суперконденсатора, который успевает полностью зарядиться за время загрузки сервера и загрузки ОС, и в случае потери питания этого хватает, чтобы скопировать содержимое кэша на флэш-память, что позволяет безболезненно хранить содержимое кэша при потере питания хоть несколько лет. На сегодняшний день такие модули имеют 3 года гарантии; по сравнению с BBU в них улучшена зависимость срока жизни от температуры. Данная технология постоянно совершенствуется: размеры уменьшаются, логика встраивается в микросхему контроллера, зависимость от температуры улучшается, что, возможно, в ближайшие годы позволит увеличить срок гарантии.

SSD-кэширование

SSD кэширование призвано усилить работу с теми шаблонами трафика, где кэширование через оперативную память не дает значимого эффекта прироста производительности; в первую очередь это случайное чтение. Поскольку размер кэша на SSD на порядки превосходит размер оперативной памяти, механизм кэширования работает следующим образом. Специальный алгоритм помечает блоки данных RAID-тома, например тома RAID5, как «горячие», если обращение к ним превысило некий порог запросов в единицу времени. Когда блок становится «горячим», он копируется на SSD-кэш (последний представляет собой либо SIMPLE VOLUME, либо – в последних реализациях – какой-то RAID–том). Следующие запросы уже обслуживаются с SSD-тома, что в разы увеличивает производительность чтения. На практике это не только дает значительное увеличение производительности, но и влияет на стоимость проекта.

Отметим, что если на томе нет «горячих данных», т.е. количество запросов в единицу времени ко всем блокам данных примерно одинаково, или если шаблон горячих данных очень быстро меняется, быстрее, чем алгоритм SSD-кэширования копирует их в SSD-кэш, или если горячих данных очень мало, то использование SSD-кэширования на чтение не даст желаемого прироста в производительности.

Допустим, нагрузка на серверы 1U в дата-центре выросла, и производительности такого сервера не хватает. Простое добавление диска в сервер решает проблему лишь частично, поскольку скоро не останется свободного места. Тогда увеличение производительности потребует либо добавления еще одного сервера, или установки внешней дисковой стойки. Новый такой же сервер увеличит производительность в два раза, внешняя стойка, если ее высота 1U, от силы в 3 раза. Но установка одного SSD и активация SSD-кэширования может увеличить производительность в 5–8 раз! При этом не потребуется ни пространство в шкафах, ни дополнительные внешние устройства.

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

SSD-кэш на запись, как было отмечено в таблице, требует защиты кэша (рис. 2). Для этого создается SSD-кэш-пул в виде RAID-тома с избыточностью (для RAID-контроллеров Adaptec используются RAID1, 1E, 10, 5).

В линейке продуктов Adaptec функцию SSD-кэширования поддерживают только контроллеры с индексом Q.

Хотелось бы отметить, что настройка SSD кэширования настраивается в два этапа. На первом SSD-диски или RAID-тома на SSD-дисках переводятся в кэш пул, после этого SSD перестают быть доступными как обычные диски, и в системе управления они получают специальное обозначение cache. Исключение среди продуктов Adaptec составляет серия 7Q. От SSD-дисков «отрезается том нужной емкости и переводится в SSD-кэш; остаток емкости, если таковой имеется, можно использовать для создания тома данных. На втором этапе каждому тому (SSD-кэширование индивидуально настраивается для каждого тома, как и кэширование через оперативную память), которому нужно активизировать SSD-кэширование, включаются кэш на запись и кэш на чтение. Настройки тома можно поменять динамически в любой момент времени, когда в этом появится необходимость.

Функция Power Management

Это крайне простая по своей природе функция с очень простыми настройками. Суть решения в возможности сначала уменьшить количество оборотов жесткого диска примерно в два раза, если система не получает запросы ввода-вывода в течение указанного периода (такой этап отрабатывается жесткими дисками, которые поддерживают режим standby), а после следующего указанного периода при отсутствии команд в систему ввода-вывода и вовсе выключить диски.

Это дает прямую экономию по питанию и косвенную экономию на питании для охлаждения работающих жестких дисков, при этом износ жестких дисков может заметно уменьшаться. Например, если раз в месяц делается бэкап с рабочего тома RAID5 на том RAID0, идея активизировать функцию Power Management на томе RAID0 выглядит крайне заманчивой. Целый месяц, кроме одного-двух дней, когда идет копирование, диски данного тома будут выключены.

Такую схему можно применять и к системным томам, отдельные операции ввода-вывода ложатся в кэш (ОС даже в неактивном состоянии использует запросы к томам) и только после превышения некоторого порога заставят диски данного тома раскрутиться и войти в режим Full Power.

Отметим, что все контроллеры Adaptec серий 2, 5, 6, 7 поддерживают функцию Power Management.

Управление

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

Утилита управления для контроллеров Adaptec называется ASM (Adaptec Storage Manager) в последних версиях Max View ASM. Распространяется она бесплатно (доступна на сайте производителя). Утилита позволяет управлять всеми томами и всеми контроллерами во всех серверах в локальной сети с одной администраторской машины, а в последних реализациях – с любого устройства, оборудованного сетевой картой и браузером.

Для проактивного отслеживания состояния тома (крайне важно не пропустить моменты пропадания диска или дисков в составе тома RAID, срабатывания Hot Spare-дисков и т.п.) имеется возможность отправки единичных или групповых сообщений по электронной почте. Таким образом, администратор в любое время дня и ночи может получить сообщение от RAID-контроллера об изменении состояния томов или любых других критических событиях. Утилита позволяет легко настроить отправку почтовых сообщений, имеет возможность отправки тестовых сообщений для отладки работ и степени детализации, есть возможность отправки всех сообщений из журнала ОС RAID-контроллера и других журналов, например Java или журнала агента ASM.

* * *

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