Хранение важной информации на больших системах жестких дисков немыслимо без RAID. Эта технология не заменяет собой резервное копирование, но тем не менее творит чудеса при обеспечении высокой готовности.

Избыточный массив недорогих дисков (Redundant Array of Inexpensive Disks, RAID) представляет собой систему из жестких дисков с возможностью выявления ошибок и их исправления. Ключевым моментом этой технологии является высокая доступность. При использовании RAID восстановление утраченных данных происходит без потери времени на простои. От каких отказов защищает массив, во многом зависит от уровня системы RAID. Каждый из них имеет свои принципиальные особенности RAID. Изначально было определено пять уровней — от RAID 1 до RAID 5. С течением времени прибавился еще и RAID 0, который никакой избыточности не обеспечивает. На сегодняшний день можно встретить комбинации различных уровней.

ФОРМАЛЬНОЕ ОПИСАНИЕ

На рынке имеются всевозможные виды и реализации систем RAID. В первую очередь проводят различия между аппаратными и программными системами.

В случае аппаратной реализации специальный контроллер управляет жесткими дисками и рассчитывает контрольные суммы. Наиболее широкое распространение получили контроллеры RAID в виде платы для слота PCI. Производитель обычно оснащает их своей специально разработанной микросхемой либо использует стандартный процессор с соответствующим микропрограммным обеспечением. Аппаратная часть RAID освобождает центральный процессор от вычислительной работы по исправлению данных. Применение подходящего для конкретной ОС драйвера обеспечивает системе RAID независимость от платформы. Исключение составляют внешние контроллеры. Они воспринимаются как один диск SCSI, но фактически это набор объединенных жестких дисков. Причем ОС никакой роли не играет — был бы только драйвер для встроенного в компьютер контроллера SCSI.

Еще два года назад предлагались исключительно контроллеры для плат SCSI. Такие характеристики, как 15 жестких дисков на канал, высокая пропускная способность и надежная передача данных, сделали этот вид шин очень популярным. Основной их недостаток — цена компонентов, а потому стали использовать более приемлемые диски IDE. Правда, среднее время между отказами (Mean Time Between Failure, MTBF) и производительность были ниже, чем в случае дисков SCSI. На другой чаше весов — преимущество в цене и способность контроллера RAID выявлять ошибки за счет избыточности. Таким образом, шансы между дисками SCSI и IDE уравнялись. В результате на рынке появляется все больше контроллеров для жестких дисков IDE, чем для систем SCSI.

УРОВНИ RAID

Несмотря на то что официально определено пять уровней, а производители добавили еще столько же своих, на практике применяются лишь три (см. Рисунок 1, а также врезку «Вкратце о RAID»). Важная роль отводится RAID 0. В нем используется метод, известный как «чередование» (striping). Вся информация распределяется по жестким дискам в виде массива. Каждый диск содержит в себе 1/n от всей информации. Емкость массива определяется суммой отдельных дисков.

Рисунок 1. Уровень RAID 5 очень распространен. Сочетание RAID 1 и RAID 0 обеспечивает высокую скорость совместно с приемлемой степенью готовности, но цена достаточно высока.

В зависимости от контроллера, уровень 0 может работать с крупными блоками данных, так называемым «размером полосы». Путем настройки этого параметра администратор может оптимизировать пропускную способность в зависимости от вида записанных данных. Для крупных файлов задают большие блоки, потому что в процессе чтения к диску приходится обращаться реже.

Сохранность информации в RAID 0 не выше, чем на отдельно взятом диске. И, наоборот, при увеличении емкости сбой может обернуться утратой множества данных. В качестве альтернативы существует уровень 1 — самый надежный подход, но и самый дорогой. RAID 1 называют также «зеркало», поскольку данные записываются одновременно на два носителя. Если в системе устанавливается второй контроллер, то речь идет уже о дублировании.

Имеющаяся в распоряжении пользователя емкость составляет только половину от общего объема дискового пространства. Чтобы увеличить ее и повысить защиту от сбоев, RAID 1 и RAID 0 часто объединяют. Теоретически выход из строя половины дисков не окажет негативного влияния на систему в целом. Однако формула «50%» имеет и определенные ограничения. Она срабатывает только тогда, когда все сбойные диски находятся на одной половине массива.

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

На уровне RAID 3 обеспечивается более высокий уровень готовности за счет возможности коррекции ошибок. Принцип прост: контроллер в процессе записи разделяет данные на отдельные байты и записывает каждый байт на разные диски. Дополнительно контроллер или процессор сервера вычисляет контрольную сумму, которую он помещает на выделенный жесткий диск. В случае ошибки это дает возможность с помощью оставшихся дисков восстановить потерянную информацию. При этом возникает проблема со способом размещения информации для исправления ошибок. Вычислительные издержки и тот факт, что в процессе записи задействуются все жесткие диски, ведут к необходимости использования мощных шин, причем общая производительность массива часто оказывается ниже, чем у отдельного жесткого диска.

Тем не менее уровень 3 почти повсеместно был замещен уровнем 5. Контрольная сумма для исправления ошибок тоже подсчитывается, но распределяется равномерно по всем дискам. В результате становятся возможными параллельные чтение и запись. В процессе записи часть данных приходится сократить. Контрольная информация — это лишняя нагрузка на контроллер, снижающая общую производительность.

КРИТЕРИИ ВЫБОРА

Перед установкой массива RAID необходимо обязательно провести анализ. Если производительность не играет существенной роли и небольшой емкости достаточно, тогда возможностей операционной системы вполне хватает. RAID 1 и RAID 5 уже встроены в NetWare, NT 4.0, Windows 2000 и многие версии UNIX и Linux. Вследствие дополнительной нагрузки на процессор подобное решение не будет отличаться высокой скоростью передачи. Вместе с тем, указанные решения обходятся дешево и позволяют повысить уровень готовности.

Если дисковое пространство имеется в избытке, то администратору следует выбрать RAID 1. Этот метод создает относительно небольшую нагрузку на сервер. Практически в любой сервер можно поместить от двух до четырех жестких дисков. Стоит отметить, что некоторые ОС не поддерживают RAID, в особенности это касается настольных компьютеров. На помощь приходит простой двухканальный контроллер RAID для IDE. Такой адаптер для шины PCI стоит менее 50 евро и позволяет организовать массив RAID 1 и RAID 0 максимум из четырех жестких дисков. Различия в производительности при этом практически не заметны, так как в основе систем лежат одинаковые микросхемы.

Если вы хотите иметь качественный контроллер RAID, тогда необходимо учитывать и другие критерии. Рынок поделен на две части: продукты младшего и старшего класса. Первенство на рынке систем начального уровня постепенно переходит к контроллерам IDE. Такие карты предоставляют от двух до 12 портов IDE и могут поддерживать до 12 дисков. Применяемые сегодня устройства способны работать с 48-разрядной логической адресацией блоков (Logical Block Addressing, LBA), а также поддерживать диски емкостью свыше 137 Гбайт. В любом случае, как и ранее упомянутый контроллер начального уровня, они обеспечивают начальную загрузку, так что, имея подобный контроллер, пользователь может установить ОС.

При покупке решающим критерием является поддержка драйверов. Для Windows NT и Windows 2000 — это не проблема. Сложнее дело обстоит с NetWare, а в случае того или иного варианта UNIX все зависит от политики производителя. Разработчики всегда прилагают управляющее программное обеспечение для Windows и намного реже для Linux. К сожалению, это ПО иногда служит лишь для отображения информации, а реально воздействовать на контроллер удается только через его BIOS во время загрузки.

В случаях сбоя массив больше не в состоянии предоставить какую-либо защиту. Поэтому поврежденный диск следует немедленно заменить. Замена, как правило, производится без прерывания работы — так называемая «горячая» замена. Для этого диски должны размещаться в сменных корпусах с поддержкой «горячей» замены, чтобы электрически они были отделены от остальной шины. Поэтому контроллеры некоторых производителей поступают в продажу в комплекте с «челночной» системой с поддержкой «горячей» замены. Само собой разумеется, что, даже когда речь идет о системах младшего класса, эти продукты нестоль дешевы: цена колеблется примерно от 350 евро до 800 евро.

Рисунок 2. S-ATA располагает не только более компактным кабелем, чем параллельная шина ATA, но и скорость передачи при этом выше (150 Мбайт/с).

Возможности контроллера RAID ограничены емкостью в несколько сотен гигабайт; допустимые потери времени при сбое весьма малы. Цена обычного контроллера RAID для SCSI примерно та же, но основные затраты составляет все же стоимость жестких дисков. Недавно появившийся на рынке контроллер Serialized Advanced Technology Attachment Controller (S-ATA) представляет собой очень интересную альтернативу. S-ATA решает многие проблемы обычных параллельных шин ATA. Новый последовательный кабель значительно меньше обычного плоского кабеля и позволяет осуществлять подключение к контроллеру в виде «звезды» (см. Рисунок 2). Это открывает возможность для формирования больших массивов RAID, не беспокоясь о внешнем корпусе. Пропускная способность S-ATA немного выше, чем у параллельной шины ATA, и составляет 150 Мбайт/с. В дальнейшем предполагается довести ее до 600 Мбайт/с.

СТАРШИЙ КЛАСС

Для работы с важными критическими данными большинство пользователей приобретают последние разработки контроллеров RAID для SCSI. Карты ценой до 3000 евро обладают не только теми же функциями, что и их младшие собратья, но и предусматривают дополнительные возможности. В них зачастую применяются улучшенные или специально разработанные процессоры, что позволяет очень быстро вычислить контрольную сумму; кроме того, они содержат кэш-память для промежуточной записи данных на пути между шиной и дисками.

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

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

Рисунок 3. В решении компании Infotrend реализована поддержка «горячей» замены. Снаружи шесть дисков IDE, находящихся в корпусе, воспринимаются как один диск SCSI.

Наряду с ПО для основных сетевых ОС имеются драйверы для Sun Solaris, HP-UX, AIX или Open VMS. Чтобы контроллер мог управлять внешними массивами, каждый шкаф должен сам реагировать на отказ шины в случае аварии. Само собой разумеется, в продуктах старшего класса обязательно поддерживаются «горячий» резерв и «горячая» замена.

Особую роль играют внешние массивы со встроенным контроллером RAID, имитирующие жесткий диск SCSI. В нем могут устанавливаться диски IDЕ; сервер этого не заметит, а емкость достигает 1 Тбайт (см. Рисунок 3). Не редкость использование сетевого соединения и устройства бесперебойного питания. При быстром расширении объема памяти сервера без его модификации цена определяется стоимостью применяемых жестких дисков и порой достигает 10000 евро.

Эльмар Терек — независимый автор. С ним можно связаться по адресу: redaktion@lanline.awi.de.


Вкратце о RAID

RAID 0. Данные записываются без избыточности и распределяются по имеющимся дискам равномерно. В случае неисправности одного диска из строя выходит весь массив.

Преимущества. Высокая производительность благодаря одновременному чтению всех дисков. Большой объем памяти за счет создания из массива крупного виртуального жесткого диска.

Недостатки. Безопасность данных не обеспечивается.

Применение. В сочетании с RAID 1 или RAID 5 пользователь получает однородный носитель информации значительной емкости.

RAID 1. Иначе этот метод называется «зеркалирование» или, при наличии двух контроллеров, «дублирование». Система копирует данные с одного жесткого диска либо группы дисков на другой жесткий диск или группу дисков. При этом теряется половина имеющегося в распоряжении объема дискового пространства. Скорость чтения равна скорости чтения для отдельного диска.

Преимущества. Высокая избыточность (50%), быстрое чтение.

Недостатки. Цена становится значимой, так как половина емкости теряется. Запись медленнее по сравнению с отдельным диском.

Применение. В качестве решения с избыточностью для серверов доступа, когда система RAID является составной частью ОС без дополнительного аппаратного и программного обеспечения, а также в местах, где требуется высокая степень безопасности.

RAID 3. Начиная с этого уровня появляется возможность коррекции ошибок. Вся контрольная информация записывается на отдельный жесткий диск. Данные распределяются по оставшимся дискам. Суммарная емкость снижается на один носитель информации.

Преимущества. Недорогая избыточность. Очень высокая скорость передачи.

Недостатки. Величина скорости чтения и записи зависит от типа доступа.

Применение. Идеально подходит для передачи больших взаимосвязанных объемов данных, например мультимедиа или CAD.

RAID 5. В отличие от уровня 3, контрольная информация распределяется по всем дискам в массиве. Это позволяет читать и записывать данные параллельно.

Преимущества. Относительно высокая пропускная способность при чтении/записи, хорошая результирующая емкость.

Недостатки. Обработка контрольной информации возлагает излишнюю нагрузку на контроллер и снижает общую производительность.

Применение. Универсальный и наиболее часто используемый уровень RAID. Мощный контроллер обеспечивает высокую производительность, в результате программная реализация имеет мало смысла, поскольку RAID 5 предъявляет жесткие требования к процессору.