Каталог
Что такое RAID-стек? RAID-стек последнего поколенияСобственно, в широком смысле стек – это операционная система RAID-контроллера. Не забывайте ЗОЛОТОЕ ПРАВИЛО: на момент сборки сервера (создания системы хранения) на RAID-контроллер надо загрузить самую последнюю версию его ОС или прошивки (Firmware). Для RAID-контроллеров Adaptec они предоставляются бесплатно на сайте www.adaptec.com/support В узком смысле стек – это виртуализатор контейнеров (для обывателя – виртуализатор дисков). Он создает контейнер нужного типа, распределяет его по нужному количеству дисков и из большого числа контейнеров «выпекает» виртуальный диск, который в стеке Adaptec называется “RAID-том”. ВАЖНО: как ни странно, но на сегодняшний день RAID-стеки – это частные решения, не подчиняющиеся стандартам. Вы можете снять все физические диски с созданными на них RAID-томами, например, с контроллера Adaptec 6805, и перенести их на контроллер Adaptec 8885 – и тома будут видны. Если Вы попробует перенести таким образом тома на контроллер другого производителя, то чуда не случится: не будет никакой возможности увидеть данные и эти RAID-тома. Почему так происходит? Потому что контроллер другого производителя поддерживает свой собственный стек, не совместимый со стеком Adaptec. Каждый RAID-том представляется Хост Операционной Системе как “SCSI-диск”, который и будет виден как отдельный объект в дисковых утилитах типа disk manager. Выглядит это так. Таким образом, в менеджере дисков вы увидите 4 виртуальных диска: RAID0, RAID1, RAID5 и еще один RAID5. При создании томов работает каждый уровень. Задача уровня физических дисков – создать специальную область на дисках, где будет храниться информация о создаваемых томах. Такая область называется областью метаданных и представляет из себя сложный контейнер хранения, где хранится служебная информация. В эту область имеет доступ только операционная система контроллера и больше никто. В стеке Adaptec этот процесс создания служебной области называется – Инициализация и выполняется через команду –initialize. В RAID-контроллерах, которые поддерживают режим HBA, есть и обратная команда – deinitialize (это контроллеры 7 и 8 серии). Эта команда полностью удаляет с физического диска такую структуру данных и переводит данный диск в режим HBA. Т.е. чтобы контроллер 7 или 8 серии начал работать как обычный HBA, на нем достаточно деинициализировать все диски. Тогда они все будут видны в утилите центральной операционной системы типа DISK MANAGER, и никакие другие операции не требуются. На физическом уровне выполняется и другая известная функция, называемая – coercion. В стеке Adaptec она производится одновременно с initialize. Эта функция искусственно немного ”подрезает” емкость жесткого диска. Дело в том, что диски одной и той же категории по емкости от разных производителей все же имеют неодинаковую емкость. Чтобы диск одного производителя можно было в будущем при необходимости заменить диском другого производителя, и выполняется функция coertion. Отрезанная емкость просто навсегда “теряется” и никак не используется. На физическом уровне возможно размещение различных сервисных функций – проверка диска деструктивным или недеструктивным методом, форматирование, полное стирание данных, заполнение диска нулями и т.д. Логический уровень необходим по двум причинам. Во-первых, он значительно уменьшает дискретность емкостей, которые Вы выбираете для создания томов. Это делается через возможность создавать несколько логических дисков (просто отрезая часть емкости) на одном физическом или создавать один логический диск с помощью двух или более физических. При этом емкости различных физических будут просто складываться. Сначала данными будет заполняться одна область одного физического диска, потом другая другого физического диска и т.д. Такой метод объединения дисков называется Chain (в некоторых других стеках используется слово Span). Во-вторых, при создании таких объектов информация о них попадает в метаданные и они перестают быть привязанными к физическим координатам. После этого диски можно переносить с одного порта контроллера на другой, переносить тома с одного контроллера на другой и это будет по-прежнему замечательно работать. В стеке могут существовать сервисные функции для логических дисков. Мы не будем касаться их в этой статье. Дальше наступает очередь уровня RAID. Как правило, современные стеки имеют два подуровня на этом уровне. На каждом подуровне располагаются элементарные RAID, такие как chain (это не совсем RAID, это просто “суммирование” емкостей с разных дисков), RAID0, RAID1, RAID1E, RAID5, RAID6 и т.д. Самый нижний подуровень принимает логические диски, например, LD1, LD2, LD3, как на рисунке, и “выпекает” из них том RAID5. То же самое происходит и с LD4, LD5, LD6. Из них получаем второй RAID5. Два RAID5-тома подаются на еще более высокий уровень, где к ним применяют функцию RAID0. На выходе мы получаем комплексный том, называемый RAID50 (где 5 означает тип RAID, используемый на нижнем подуровне, а 0 – тип функции RAID с верхнего уровня). Единственное, чего не хватает в определении – сколько RAID5 (в данном случае 2) было использовано для создания RAID50. В стеке Adaptec число 2 называется second level device. Этот параметр будет вам нужен, если Вы будете создавать сложные тома типа 50 или 60. И самый верхний уровень нужен для того, чтобы подать такой виртуальный объект на виденье центральной операционной системы. При передаче на этот уровень предлагается ряд сервисных функций. Самые важные в стеке Adaptec две – build и clear. Clear записывает на весь новый том, который передается ОС, нули. Build “пробилдивает” новый том. Например, если это RAID1, то все содержимое первого контейнера скопируется в содержимое второго. И так для всех контейнеров. Если у Вас новые диски, с фабрики, то в их секторах записаны нули. Поэтому результат действия обеих функций будет одинаковым. Отличие между SimpleVolume- и HBA-режимамиЭти два режима очень похожи друг на друга. Оба могут использоваться для создания Software RAID-решений. При работе диска в HBA-режиме на нем не создаются метаданные. И нет “подрезания“ емкости функцией coercion. Это может вызвать проблему при необходимости замены диска на диск другого производителя. Диск напрямую передаются на виденье OS. При этом кэш контроллера с ним работать не будет!!! В случае создания Simple Volume через конфигурацию томов, на диске создается область метаданных, “подрезается” емкость функцией coertion. Далее через утилиту конфигурации создается Simple Volume том с использованием всей свободной емкости диска. И после этого данный объект передается в работу центральной операционной системе.
Небольшое заключение Сегодня стеки RAID-контроллеров получают дальнейшее развитие. Компания Adaptec в своей функции maxcache plus устанавливала еще один уровень в стек, так называемый уровень tier, c подуровнями. Это позволяло взять один RAID5-том, созданный на SSD-дисках, и другой том, например, RAID60, созданный на SATA7200 rpm HDD-дисках, и собрать из них комплексный, виртуальный том, где наиболее востребованные данные хранились на RAID5, а наименее востребованные – на RAID60. При этом тома можно было брать с разных контроллеров. Сегодня эта функция не поддерживается в силу перехода таких возможностей под серверные операционные системы. Естественно, стек контроллеров как виртуализационный механизм не стоит на месте и постоянно совершенствуется как на уровне виртуализации, так и на уровне основных и сервисных функции. [N6-Модельный ряд современных SAS RAID-контроллеров] Изучение данной темы будет достаточно скучным занятием, если Вы не сможете выработать хотя бы базовые представления, для чего может использоваться отдельная конкретная модель RAID-контроллера. Ниже несколько таблиц для формирования такого представления.
*Cуществуют модели 6Q, 6-ой серии контроллеров с SSD-кэшированием, но ввиду сильно устаревших механизмов настройки режимов кэширования такие модели не включаются в современную линейку SAS RAID-контроллеров Adaptec и не рекомендуются к проектам. На сегодняшний день они сняты с производства и в данной статье, в силу этого, не рассматриваются. Можно попробовать представить усиление функций стека относительно класса проектов в этой таблице графически, чтобы придать таблице наглядность.
Таблица применения моделей с точки зрения поддержки SSD-дисков
Еще более мощную поддержку использования большого количества SSD-дисков на контроллере будут давать следующие поколения RAID-контроллеров и HBA. Количество дисков, указанное в таблице, имеет примерное значение. Более точные расчеты производительности в данной статье не указываются, они могут быть выполнены компаниями-интеграторами. Зависимость выбора модели RAID-контроллера от количества пользователей серверной системы приведена в таблице ниже (указаны активные пользователи). Цифры носят приблизительный характер, чтобы понять тенденцию в использовании определенных моделей. Все же проектирование - это сплав науки и искусства .
И еще один важный момент. Как настоятельно рекомендуют все учебники, посвященные проектированию – неважно, серверных систем или сетевого оборудования – проект должен учитывать будущие, а не только настоящие требования к системе. НАПРИМЕР: Вам нужен сервер для поддержки базы данных на 10 пользователей. Вы знаете, что и через 5 лет количество пользователей и работа приложения не изменятся. Для этой задачи Вам хватит 2 x SAS-дисков 7200 rpm емкостью 2 ТБ. На них Вы создадите RAID1-том емкостью 500 гб для ОС. И еще один том RAID1 1,5 ТБ под бэкап базы данных и другие файлы. 2 SAS 1500 емкостью 300 ГБ в RAID1 будут работать как том для базы данных. Для решения этой задачи вам подойдет контроллер Adaptec 6405 с AFM-600 модулем защиты кэша. Но если предположить, что начальные условия изменились, и с учетом развития бизнеса и структуры дочерних офисов у базы будет уже 2000 пользователей, то лучше остановить свой выбор на контроллере Adaptec 7805Q. В будущем Вы легко сможете модернизировать Ваши тома под поддержку 2000 пользователей не меняя контроллер. Существует зависимость и от приложения. Например, SSD-кэширование ускоряет работу приложений, ориентированных на чтение. См. ниже в разделе “Основные функции контроллеров – SSD-кэширование”. К счастью, это больше 90% Internet-приложений. Для операций записи тоже возможно кэширование, но это уже больше как приятное дополнение к чтению из-за природы самих приложений.
[N7-6-я серия RAID-контроллеров Adaptec] Общие характеристики RAID-контроллеров 6-ой серии:
Adaptec RAID 6805 с AFM-600 Flash Module. Контроллеры 6 серии на уровне стека поддерживают:
Производительность для последовательных шаблонов в таблице ниже. Таблица: Проектная производительность – потоковые операции
Семейство 6T Основная цель появления таких контроллеров семейства 6T - исключить ситуации, когда негибкая часть кабеля (часть, примерно, 2 см длиной после разъема) упирается в крышку или корпус сервера, в радиатор процессора или другие части сервера. Для этого на 6-ой серии контроллеров порты расположены так, чтобы негибкая часть кабеля не выходила за геометрические границы контроллера. Помечено зеленой стрелкой на рисунке. Синий прямоугольник – негибкая часть кабеля. Adaptec RAID 6805Т с AFM-600 Flash Module. Семейство 6E RAID-контроллеры для проектов начального класса. Уменьшена оперативная память, по сравнению с обычными контроллерами 6-ой серии, упрощен стек, нет поддержки защиты кэша и экспандеров. Имеют упрощенный стек, поддерживают только Simple Volume, JBOD, RAID 0,1, 10, 1E, т.е., нет поддержки RAID 5,5EE,6, 50, 60. Но поддерживают Hybrid RAID 1, 10 (см. раздел “Гибридные Тома” в главе “Основные фукнции RAID-контроллеров» ниже. Модель 6405E поддерживает максимально 4 диска. Модель 6805E – 8 дисков (поскольку нет поддержки SAS экспандеров). Модель 6405E имеет слот PCI-E 1x, модель 6805E – слот PCI-E 4x ver. 2. Разъемы портов контроллеров 6-ой серии: Все семейство RAID-контроллеров 6-ой серии поддерживает только порты Mini-SAS. Для внутренних портов используется разъем – SFF 8087 (internal mini-SAS), для внешних – SFF-8088 (external mini-SAS). Сводная таблица для контроллеров 6-ой серии
|