Когда нужен RAID? Если Вы заинтересовались этой статьей, то Вы, по-видимому, столкнулись или предполагаете вскоре столкнуться с одной из ниже перечисленных проблем на Вашем компьютере: - явно не хватает физического объема винчестера, как единого логического диска. Наиболее часто эта проблема возникает при работе с файлами большого объема (видео, графика, базы данных); - явно не хватает производительности винчестера. Наиболее часто эта проблема возникает при работе с системами нелинейного видео монтажа или при одновременном обращении к файлам на винчестере большого количества пользователей; - явно не хватает надежности винчестера. Наиболее часто эта проблема возникает при необходимости работать с данными, которые ни в коем случае нельзя потерять или которые должны быть всегда доступны для пользователя. Печальный опыт показывает, что даже самая надежная техника иногда ломается и, как правило, в самый не подходящий момент. Решить эти и некоторые другие проблемы может создание на Вашем компьютере RAID-системы. Что такое «RAID»? В 1987 году Паттерсон (Patterson), Гибсон (Gibson) и Катц (Katz) из калифорнийского университета Беркли опубликовали статью «Корпус для избыточных массивов из дешевых дисководов (RAID)» (A Case for Redundant Arrays of Inexpensive Disks (RAID)). В этой статье описывались разные типы дисковых массивов, обозначаемых сокращением RAID - Redundant Array of Independent (или Inexpensive) Disks (избыточный массив независимых (или недорогих) дисководов). В основу RAID положена следующая идея: объединяя в массив несколько небольших и/или дешевых дисководов, можно получить систему, превосходящую по объему, скорости работы и надежности самые дорогие дисководы. Вдобавок ко всему такая система с точки зрения компьютера выглядит как один единственный дисковод. Известно, что среднее время наработки на отказ массива дисководов равно среднему времени наработки на отказ одиночного дисковода, деленному на число дисководов в массиве. Вследствие этого среднее время наработки на отказ массива оказывается слишком малым для многих приложений. Однако дисковый массив можно несколькими способами сделать устойчивым к отказу одного дисковода. В вышеупомянутой статье было определено пять типов (уровней) дисковых массивов: RAID-1, RAID-2, ..., RAID-5. Каждый тип обеспечивал устойчивость на отказ, а также различные преимущества по сравнению с одиночным дисководом. Наряду с этими пятью типами популярность приобрел также дисковый массив RAID-0, НЕ обладающий избыточностью. Какие существуют уровни RAID и какой из них выбрать? RAID-0. Обычно определяется как НЕ избыточная группа дисководов без контроля четности. RAID-0 по способу размещения информации по дисководам, входящим в массив, иногда называется "Striping" ("полосатый" или "тельняшка"): Дисковод 0 Дисковод 1 Дисковод 2Блок 0 Блок 1 Блок 2 Блок 3 Блок 4 Блок 5 .... .... .... Блок N Блок N+1 Блок N+2Так как RAID-0 не обладает избыточностью, авария одного дисковода приводит к аварии всего массива. С другой стороны RAID-0 обеспечивает максимальную скорость обмена и эффективность использования объема дисководов. Поскольку для RAID-0 не требуются сложные математические или логические вычисления, затраты на его реализацию минимальны. Область применения: аудио- и видео приложения требующие высокой скорости непрерывной передачи данных, которую не может обеспечить одиночный дисковод. Например, исследования, проведенные фирмой Mylex, с целью определить оптимальную конфигурацию дисковой системы для станции нелинейного видео монтажа показывают, что, по сравнению с одним дисководом, массив RAID-0 из двух дисководов дает прирост скорости записи/чтения на 96%, из трех дисководов - на 143% (по данным теста Miro VIDEO EXPERT Benchmark). Минимальное количество дисководов в массиве "RAID-0" - 2шт. RAID-1. Более известен как "Mirroring" ("Зеркалирование") - это пара дисководов, содержащих одинаковую информацию и составляющих один логический диск: Дисковод 0 Дисковод 1 Блок 0 Блок0 Блок1 Блок 1 ... ... Блок N Блок N Запись производится на оба дисковода в каждой паре. Тем не менее, дисководы, входящие в пару, могут совершать одновременные операции чтения. Таким образом «зеркалирование» может удваивать скорость чтения, но скорость записи остается неизменной. RAID-1 обладает 100% избыточностью и авария одного дисковода не приводит к аварии всего массива - контроллер просто переключает операции чтения/записи на оставшийся дисковод. RAID-1 обеспечивает наивысшую скорость работы среди всех типов избыточных массивов (RAID-1 - RAID-5), особенно в многопользовательском окружении, но наихудшее использование дискового пространства. Поскольку для RAID-1 не требуются сложные математические или логические вычисления, затраты на его реализацию минимальны. Минимальное количество дисководов в массиве "RAID-1" - 2шт. Для увеличения скорости записи и обеспечения надежности хранения данных несколько массивов RAID-1 можно, в свою очередь, объединить в RAID-0. Такая конфигурация называется «двухуровневый» RAID или RAID-10 (RAID 0+1) Минимальное количество дисководов в массиве "RAID 0+1" - 4шт. Область применения: дешевые массивы, в которых главное - надежность хранения данных. RAID-2. Распределяет данные по страйпам размером в сектор по группе дисководов. Некоторые дисководы выделяются для хранения ECC (код коррекции ошибок). Так как большинство дисководов по умолчанию хранят коды с ECC для каждого сектора, RAID-2 не дает особых преимуществ по сравнению с RAID-3 и, поэтому, практически не применяется. RAID-3. Как и в случае с RAID-2 данные распределяются по страйпам размером в один сектор, а один из дисководов массива отводится для хранения информации о четности. RAID-3 полагается на коды с ECC, хранящиеся в каждом секторе для обнаружения ошибок. В случае отказа одного из дисководов восстановление хранившейся на нем информации возможно с помощью вычисления исключающего ИЛИ (XOR) по информации на оставшихся дисководах. Каждая запись обычно распределена по всем дисководам и поэтому этот тип массива хорош для работы в приложениях с интенсивным обменом с дисковой подсистемой. Так как каждая операция ввода-вывода обращается ко всем дисководам массива, RAID-3 не может одновременно выполнять несколько операций. Поэтому RAID-3 хорош для однопользовательского однозадачного окружения с длинными записями. Для работы с короткими записями требуется синхронизация вращения дисководов, так как иначе неизбежно уменьшение скорости обмена. Применяется редко, т.к. проигрывает RAID-5 по использованию дискового пространства. Реализация требует значительных затрат. Минимальное количество дисководов в массиве "RAID-3" - 3шт. RAID-4. RAID-4 идентичен RAID-3 за исключением того, что размер страйпов много больше одного сектора. В этом случае чтение осуществляется с одного дисковода (не считая дисковода, хранящего информацию о четности), поэтому возможно одновременное выполнение нескольких операций чтения. Тем не менее, так как каждая операция записи должна обновить содержимое дисковода четности, одновременное выполнение нескольких операций записи невозможно. Этот тип массива не имеет заметных преимуществ перед массивом типа RAID-5. RAID-5. Этот тип массива иногда называется «массив с вращающейся четностью». Данный тип массива успешно преодолевает присущий RAID-4 недостаток - невозможность одновременного выполнения нескольких операций записи. В этом массиве, как и в RAID-4, используются страйпы большого размера, но, в отличие от RAID-4, информация о четности хранится не на одном дисководе, а на всех дисководах по очереди. Операции записи обращаются к одному дисководу с данными и к другому дисководу с информацией о четности. Так как информация о четности для разных страйпов хранится на разных дисководах выполнение нескольких одновременных операций записи невозможно только в тех редких случаях, когда либо страйпы с данными, либо страйпы с информацией о четности находятся на одном и том же дисководе. Чем больше дисководов в массиве, тем реже совпадает местоположение страйпов информации и четности. Область применения: надежные массивы большого объема. Реализация требует значительных затрат. Минимальное количество дисководов в массиве "RAID-5" - 3шт. RAID-1 или RAID-5? RAID-5 по сравнению с RAID-1 более экономно использует дисковое пространство, так как в нем для избыточности хранится не «копия» информации, а контрольное число. В результате в RAID-5 можно объединить любое количество дисководов, из которых только один будет содержать избыточную информацию. Но более высокая эффективность использования дискового пространства достигается за счет более низкой скорости обмена информацией. Во время записи информации в RAID-5 надо каждый раз обновлять информацию о четности. Для этого надо определить, какие именно биты четности изменились. Сначала считывается подлежащая обновлению старая информация. Затем эта информация перемножается по XOR с новой информацией. Результат этой операции - битовая маска, в которой каждый бит =1 означает, что в информации о четности в соответствующей позиции надо заменить значение. Затем обновленная информация о четности записывается на соответствующее место. Следовательно, на каждое требование программы записать информацию, RAID-5 совершает два чтения, две записи и две операции XOR. За то, что более эффективно используется дисковое пространство (вместо копии данных хранится блок четности) приходится платить: на генерацию и запись информации о четности уходит добавочное время. Это означает, что скорость записи на RAID-5 ниже, чем на RAID-1 в соотношении 3:5 или даже 1:3 (т.е. скорость записи на RAID-5 составляет от 3/5 до 1/3 от скорости записи RAID-1). Из-за этого RAID-5 бессмысленно создавать в программном варианте. Их также нельзя рекомендовать в тех случаях, когда именно скорость записи имеет решающее значение. Какой выбрать способ реализации RAID - программный или аппаратный? Прочитав описание различных уровней RAID можно заметить, что нигде не упоминаются какие-либо специфические требования к аппаратуре, которая необходима для реализации RAID. Из чего можно сделать вывод, что все, что нужно для реализации RAID - подключить необходимое количество дисководов к имеющемуся в компьютере контроллеру и установить на компьютер специальное программное обеспечение. Это верно, но не совсем! Действительно, существует возможность программной реализации RAID. Примером может служить ОС Microsoft Windows NT 4.0 Server, в которой возможна программная реализация RAID-0, -1 и даже RAID-5 (Microsoft Windows NT 4.0 Workstation обеспечивает только RAID-0 и RAID-1). Однако данное решение следует рассматривать, как крайне упрощенное, не позволяющее полностью реализовать возможности RAID-массива. Достаточно отметить, что при программной реализации RAID вся нагрузка по размещению информации на дисководах, вычислению контрольных кодов и т.д. ложится на центральный процессор, что естественно, не увеличивает производительности и надежности системы. По тем же причинам, здесь практически отсутствуют какие-либо сервисные функции и все операции по замене неисправного дисковода, добавления нового дисковода, изменения уровня RAID и т. п. производятся с полной потерей данных и при полном запрете выполнения каких-либо других операций. Единственное достоинство программной реализации RAID - минимальная стоимость. Гораздо больше возможностей дает аппаратная реализация RAID при помощи специальных RAID-контроллеров: - специализированный контроллер освобождает центральный процессор от основных операций с RAID, причем эффективность контроллера тем более заметна, чем выше уровень сложности RAID; - контроллеры, как правило, снабжены драйверами, позволяющими создать RAID практически для любой популярной ОС; - встроенный BIOS контроллера и прилагаемые к нему программы управления позволяют администратору системы легко подключать, отключать или заменять дисководы, входящие в RAID, создавать несколько RAID-массивов, причем даже разных уровней, контролировать состояние дискового массива и т.д. У «продвинутых» контроллеров эти операции можно производить «на лету», т.е. не выключая системный блок. Многие операции могут быть выполнены в «фоновом режиме», т.е. не прерывая текущую работу и даже дистанционно, т.е. с любого (конечно при наличии доступа) рабочего места; - контроллеры могут оснащаться буферной памятью («кэш»), в которой запоминаются несколько последних блоков данных, что, при частом обращении к одним и тем же файлам, позволяет значительно увеличить быстродействие дисковой системы. Недостатком аппаратной реализации RAID является относительно высокая стоимость RAID-контроллеров. Однако, с одной стороны, за все (надежность, быстродействие, сервис) надо платить. С другой стороны, в последнее время, с развитием микропроцессорной техники, стоимость RAID-контоллеров (особенно младших моделей) стала резко падать и стала сравнимой со стоимостью обыкновенных дисковых контроллеров, что позволяет устанавливать RAID-системы не только в дорогие мэйнфреймы, но и в сервера начального уровня и даже в рабочие станции. Как выбрать модель RAID-контроллера? Можно выделить несколько типов RAID-контроллеров в зависимости от их функциональных возможностей, конструктивному исполнению и стоимости: 1. Контроллеры дисковода с функциями RAID. По сути, это обыкновенный дисковый контроллер, который благодаря специальной прошивке BIOS позволяет объединять дисководы в RAID-массив, как правило, уровня 0, 1 или 0+1. 2. RAID-контоллеры, работающие в паре с уже имеющимся дисковым контроллером. Данные RAID-контроллеры рассчитаны на работу с системными платами, на которых интегрирован дисковый контроллер. Таким образом, на плате контроллера находиться только "логическая" часть RAID-контроллера, а функции обмена данными с дисководами возложена на дисковый контроллер интегрированный на системной плате. Такие "усеченные" контроллеры, как правило, поддерживают многие функции полнофункциональных RAID-контроллеров, и, в тоже время, стоят намного дешевле. Однако данное решение не лишено недостатков. Главное из них - каждый "усеченный" контроллер жестко "привязан" к конкретному типу микросхем дискового контроллера и, следовательно, будет работать только на тех системных платах, на которых интегрирована такая микросхема. 3. Полнофункциональные RAID-контоллеры. Данные RAID-контроллеры содержат «на борту» все необходимое для работы с высокопроизводительными дисковыми системами: BIOS, позволяющий независимо от используемой ОС конфигурировать и форматировать RAID любого уровня; RISC-процессор для быстрого вычисления контрольных сумм и коррекции ошибок «на лету»; кэш-память для хранения часто используемых данных; до 3-х канальных контроллеров, работающих независимо, каждый из которых поддерживает до 15 дисководов. Такие RAID-контоллеры выпускаются в виде платы для установки в PCI шину. 4. Внешние RAID-контроллеры. Несмотря на прекрасные характеристики выше перечисленных RAID-контроллеров, все они имеют существенный недостаток, связанный с их конструкцией. Эти контроллеры являются <внутренними> в том смысле, что они управляются и получают напряжение питания через внутреннюю PCI шину системной платы. Очевидно, что сбои и отказы системной платы могут привести к искажениям или потере данных в RAID-массиве. От этого недостатка свободны так называемые внешние RAID-контроллеры. Здесь термин <внешние> имеет двойное значение: а) такие контроллеры, как правило, размещаются в отдельном корпусе (обычно вместе с RAID-массивом), имеющем свой независимый блок питания и б) управляются через внешний канал SCSI-контроллера, подключенного к системной плате. С точки зрения SCSI-контроллера внешний RAID-контроллер с дисковым массивом выглядит как один SCSI дисковод. Даже конструктивно внешний RAID-контроллер имеет габариты 3,5" или 5,25" дисковода. На лицевой панели внешнего RAID-контоллера может находиться ЖК-индикатор, отображающий состояние и параметры контроллера и клавиатура для управления и настройки. Другой особенностью конструкции является модульность: внешний RAID-контроллер может состоять из основной <материнской> платы и <дочерних> плат, на которых располагаются дополнительные каналы. Разные модели <дочерних> плат могут содержать разные типы каналов-Ultra Wide SCSI, LVD SCSI или FC-AL, причем эти каналы могут быть двунаправленными, то есть работать как Host для подключенных к ним дисков, или как Drive при подключении к другому контроллеру. Очевидно, что внешние RAID-контроллеры стоят значительно дороже, чем аналогичные <внутренние> модели, однако эта разница окупается за счет более широких возможностей внешнего RAID-контроллера. Наличие двунаправленных каналов и внешнее исполнение позволяет создавать так называемые кластерные дисковые системы с недостижимой ранее надежностью. В таких системах несколько серверов соединены одновременно с несколькими RAID-контроллерами, которые, в свою очередь, управляют несколькими общими дисковыми массивами, причем отказ любого компонента такой системы (сервера, RAID-контроллера, диска, блока питания, кабеля и т.д.) не ведет к отказу всей системы, а только несколько снижает ее производительность.
Что, помимо контроллера, необходимо для практической реализации RAID? Как уже отмечалось, основная задача RAID-контроллеров - обеспечение высокой надежности хранения и быстрого доступа к данным, хранящимся в дисковом массиве, а также высокого уровня сервиса при обслуживании дискового массива. Для оптимального функционирования RAID-контроллера и полного использования его возможностей необходимо при заказе RAID-массива (помимо самого контроллера и дисководов) обсудить ряд вопросов, которые в значительной степени повлияют на качество работы и стоимость будущего RAID-массива. Технология Hot Swap (замена "на лету") вышедшего из строя дисковода Как уже отмечалось, основные задачи RAID-контроллеров - обеспечение высокой надежности хранения и быстрого доступа к данным, хранящимся в дисковом массиве, а также высокого уровня сервиса при обслуживании. Однако само по себе применение RAID-контроллера не исключает вероятность выхода из строя любого из дисководов, входящих в RAID-массив. В этом случае, если используется RAID с избыточностью (т.е. любого уровня кроме <0>), система может продолжать работать (благодаря избыточности данных RAID-контроллер сможет восстановить информацию, хранившуюся на <потерянном> дисководе). Но такой режим работы уже не является защищенным (сбой или выход из строя любого дисковода приведет к полной потере всех данных) и пользователь вынужден остановить систему, чтобы извлечь неисправный дисковод и заменить его на новый. Если даже кратковременная остановка системы или вмешательство в нее не желательно, то необходимо применить технологию Hot Swap, которая позволяет менять дисководы (и не только их) не выключая системы. Для этого необходимо: а) RAID-контроллер, поддерживающий режим Hot Swap (и этот режим должен быть включен); б) Специальный конструктив, который позволит менять дисководы, не разбирая корпус системы. В качестве такого конструктива можно использовать: 1) Специальный корпус для винчестера - <рэк> (rack), состоящий из "коробочки", внутри которой находится 3,5" дисковод, которая вставляется в П-образную рамку, закрепляемую в стандартное 5,25" гнездо корпуса системы. На рамке рэка расположены блок управления питанием дисковода и замок с ключом, который механически запирает/отпирает дисковод и включает/выключает напряжение, подаваемое на дисковод. Обычно рэки имеют переключатель SCSI ID-номера дисковода, индикатор SCSI ID-номера, индикатор обращения к дисководу и 1 или 2 вентилятора. Достоинства: удобный, защищающий дисковод корпус, безопасная (для работающей системы) процедура замены дисковода, наличие индикаторов и охлаждающих вентиляторов. Недостатки: относительно высокая цена (от $50 до $150 на дисковод), дополнительные разъемы и схемы, которые могут стать источником отказов. 2) <корзина> для SCSI-дисководов с разъемом SCA (80 контактный разъем, в котором объединены сигнальные провода и питание). <корзина> представляет собой П-образную раму, которая занимает два или четыре стандартных 5,25" гнезда корпуса системы, и, в которую можно вставить до трех или шести SCA SCSI-дисководов соответственно. Ответные части SCA SCSI-разъемов впаяны в печатную плату, заменяющую гибкий шлейф, на которой установлены переключаемый SCSI-терминатор, разъемы для подключения к контроллеру и к следующей корзине и перемычки (переключатели) для установки SCSI ID-номера дисководов. В <корзине> могут быть установлены вентиляторы. Достоинства: относительно невысокая цена (около $60 на дисковод), простая конструкция. Недостатки: корпус дисковода не защищен от механических повреждений во время замены, процедура замены дисковода небезопасна для работающей системы, отсутствуют индикаторы SCSI ID-номера и индикаторы обращения к дисководу. Технология Hot Spare (горячее резервирование) вышедшего из строя дисковода Технологию Hot Spare иногда рассматривают как алтернативу Hot Swap, хотя это не совсем верно. Для реализации Hot Spare необходимо: а) RAID-контроллер, поддерживающий режим Hot Spare (и этот режим должен быть включен); б) По крайней мере, один дополнительный дисковод к которому, так же как и к остальным дисководам, входящим в дисковый массив, подключены питающий и сигнальный кабель. Во время инициализации RAID-массива этот дополнительный дисковод включается в состав RAID, но не как активный, а как Hot Spare, т.е. находящийся в горячем резерве. В случае выхода из строя любого из дисководов, входящих в RAID-массив, RAID-контроллер автоматически отключает неисправный дисковод и активизирует резервный. Перенос (восстановление) информации также происходит в фоновом режиме без прерывания работы системы. Достоинства: время, в течение которого RAID-массив находится в незащищенном режиме сведено к минимуму. Недостатки: требуется дополнительный дисковод (который большую часть времени не участвует в работе системы, но потребляет энергию и выделяет тепло); после <срабатывания> Hot Spare в массиве больше не остается резервного дисковода и, чем раньше, тем лучше, потребуется остановить систему, что бы заменить неисправный дисковод. Выход очевиден: применять технологию Hot Spare вместе с Hot Swap! Кабельная система Когда к контроллеру подключается один или два дисковода, которые находятся внутри корпуса компьютера, у пользователя не возникает проблем с интерфейсным кабелем, который соединяет эти устройства. Другое дело, когда необходимо подключить к контроллеру большое количество дисководов и тем более, если они находятся в отдельном корпусе, удаленном от контроллера. Дело в том, что каждое устройство, подключаемое к общему интерфейсному кабелю, вносит значительную активную (омическую) и реактивную (емкостную) нагрузку. Да и сам интерфейсный кабель имеет распределенную емкость. Все это приводит к тому, что при некоторой длине интерфейсного кабеля и/или при некотором количестве подключенных к этому кабелю устройств (для RAID-массива это, как правило, дисководы) система дисковод-контроллер не сможет нормально функционировать на заданной скорости. Проблема осложняется тем, что ошибка в расчете кабельной нагрузки (т.е. допустимой длины кабеля и допустимого количества подключенных устройств) может проявиться далеко не сразу. Например, в SCSI-интерфейсе используется технология повторения передачи команды или данных, если предыдущая передача прошла с ошибкой, а многие SCSI-контроллеры умеют автоматически снижать скорость передачи до уровня, при котором количество ошибок передачи будет на приемлемом уровне. Таким образом, внешне кажется, что все работает нормально, вот только быстродействие системы далеко от ожидаемой! Таким образом, прежде чем проектировать дисковую систему, полезно обратиться к техническому описанию на контроллер, где, как правило, приведены зависимости между скоростью обмена, количеством устройств и допустимой длиной интерфейсного кабеля. Здесь полезно еще раз отметить неоспоримое преимущество интерфейса Ultra2 SCSI над Ultra Wide SCSI, которое благодаря технологии LVD позволяет не только в два раза увеличить скорость обмена, но и при этом как минимум в два раза увеличить допустимую длину интерфейсного кабеля. Источник питания При проектировании дисковой системы необходимо обратить внимание на качество исполнения источника питания. Причины две: - каждый дисковод потребляет до 40 Ватт (особенно в момент пуска), что дает значительную нагрузку на блок питания; - бесполезно пытаться создать надежный RAID-массив только за счет надежного RAID-контроллера и избыточного дискового массива, если все это будет подключено к ненадежному источнику питания. Вывод: для питания дискового массива необходимо применять резервированный (т.е. сдвоенный, с функцией горячей замены) блок питания с отдаваемой мощностью не менее 250 Ватт. Дополнительное охлаждение Как уже отмечалось, компоненты RAID-массива (контроллер и особенно дисководы) потребляют и, соответственно, выделяют в виде тепла сотни Ватт. Это тепло необходимо постоянно отводить иначе перегрев может привести к отказу контроллера или дисководов. Для этой цели используются дополнительные вентиляторы, часть которых работает непосредственно на обдув дисководов, часть на вытяжку горячего воздуха, а часть на приток холодного. Весь материал взят с www.3dnews.ru