Вернуться на главную страницу Algo.ru  
 

RAID повышает надежность массовой памяти

 

 

     

Полезные советы. И не только...

16 октября 2001
–> вернуться на System Integration (reviews)

RAID brings reliability to mass storage

Роберт Макайнтр (Robert McIntire), Tech Republic

С первых дней вычислительной техники устройства долгосрочного хранения большого объема составляли основу конструкций компьютерных систем. Постоянно идет работа над повышением быстродействия запоминающих устройств, плотности записи и, конечно, над средствами восстановления данных. На заре эры ПК жесткие диски были маловместительными, медленными и дорогими. Со временем эти проблемы решались, и устройства становились все более и более совершенными.

Производители жестких дисков и сегодня продолжают повышать плотность записи и сокращать время доступа, а производители контроллеров — увеличивать их пропускную способность и упрощать установку и конфигурирование — не говоря уже об удельной стоимости дисков, которая уменьшилась на порядок. Сегодня подсистемы хранения данных обеспечивают невероятные плотность записи и быстродействие по сравнению с их предшественниками образца 80-х и 90-х годов. Все это замечательно, но как обстоят дела с надежностью? Самые быстродействующие и вместительные запоминающие устройства ничего не стоят, если не обеспечивают высокой надежности. К сожалению, массовая память в силу своей механической природы остается одним из самых уязвимых компонентов вычислительной системы.

В связи с этим возникает вопрос: «Как обеспечить заданный уровень надежности массовой памяти в вычислительной системе?». За прошедшие годы этот вопрос решали многими способами, но выжило и всплыло на поверхность единственное стандартное решение — матрицы независимых дисков с избыточностью (redundant array of independent disks, RAID). Стандарт RAID предусматривает использование матриц из нескольких дисководов с разным уровнем избыточности. Моя задача — дать вам подробное представление о двух разновидностях RAID: программной и аппаратной реализации на уровне операционной системы.

Программная или аппаратная реализация?

В рамках настоящей статьи я буду пользоваться термином «программная реализация RAID» для обозначения вариантов RAID, встроенных в сетевую операционную систему (NOS). Термином «аппаратная реализация RAID» будем обозначать специальную аппаратуру и ПО, включая контроллеры, блоки дисководов и каркасы. Производители современных NOS, такие как Novell и Microsoft, давно вводят в свои системы функции управления дисками с избыточностью.

Когда контроллеры с поддержкой RAID были относительно дорогими, введение поддержки этой функции в NOS казалось привлекательным. Производители начали предлагать зеркалирование и дуплексирование, которые теперь считаются функциями RAID уровня 1. Но средства поддержки RAID в операционных системах продолжали развиваться, и со временем некоторые производители дошли до интегрированной в ОС поддержки RAID уровня 5, которая предусматривает побайтное разбиение дисков на тома и коррекцию ошибок в каждом томе.

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

Программная реализация RAID в сетевой ОС

В качестве примера мы будем использовать ОС Windows NT 4 Server. Прежде чем приступить, определим следующие термины:

  • Зеркалирование дисков

  • Чередование

  • Чередование с контролем четности
При зеркалировании дисков используются пары дисков с избыточностью. Это позволяет иметь зеркальную резервную копию системы и загрузочных сегментов. Для чередования требуются по крайней мере два диска, причем данные просто равномерно распределяются по всем имеющимся дискам, образуя так называемый набор томов с чередованием. Этот метод можно считать системой RAID уровня 0. Его преимущество в том, что запись на диск производится очень быстро, так как ОС записывает информацию на несколько дисков одновременно. Недостаток этого метода в том, что он не обеспечивает резервирования, а это было нашей изначальной задачей.

Для чередования с контролем четности нужно не менее трех дисков, и оно гарантирует резервирование: для данных, хранящихся в матрице, вычисляются значения четности и распределяются по дискам в наборе томов четности. Таким образом, в случае отказа любого из дисков система может восстановить данные по информации четности, хранящейся на оставшихся дисках. Однако за это приходится платить: производительность сервера при обращении к дискам заметно понижается, так как процессор восстанавливает данные динамически. Если добавить к этому постоянную нагрузку на процессор по вычислению значения четности (даже при нормальном функционировании системы), расточительность этого метода на системные ресурсы становится очевидной.

Итак, при этом подходе вы получаете резервирование – но за счет производительности. Более того, в случае отказа диска, чтобы произвести восстановление, необходимо выполнить несколько операций. Нужно прервать работу Windows NT и заменить диск. Затем, вновь запустив сервер, вы должны дать команду Windows NT восстановить набор томов. По завершению этих процедур система начнет восстанавливать данные в фоновом режиме и записывать их на новый диск.

Так как все эти функции входят в ПО операционной системы, никакого дополнительного оборудования, кроме добавочных дисков, не требуется. При любом методе чередования с использованием встроенных функций Windows NT набор томов нельзя расширять или сужать. Кроме того, на такой набор томов с чередованием нельзя устанавливать саму ОС или загрузочный сегмент. Иными словами, если вы хотите реализовать RAID уровня 5, вам потребуется по крайней мере один отдельный диск для системы Windows NT и/или загрузочного сегмента. Таким образом, сначала нужно установить на сервер Windows NT и только после этого добавить набор томов.

Программная реализация RAID

Теперь, когда вы лучше разбираетесь в способах резервирования RAID разного уровня в операционной системе Windows NT, давайте попробуем реализовать их. Возьмем типичную конфигурацию сервера с отдельными томами для NOS и данных с резервированием того и другого. Рассмотрим процедуры первоначальной установки сервера, конфигурирования резервных дисков и модификации и сохранения конфигурации RAID.

Прежде всего, возьмем быстродействующие дисководы SCSI с высокоскоростным контроллером. Так как спецификация аппаратуры SCSI не относится к нашему обсуждению резервирования RAID, мы отложим этот вопрос до следующей статьи. Пока просто возьмите двухканальный контроллер SCSI: один канал потребуется для конфигурирования зеркального набора томов и установки на один том как системного, так и загрузочного сегментов. К другому каналу мы подключим в качестве тома данных три дисковода, сконфигурированных под RAID 5 (набор томов с чередованием и контролем четности).

Для установки сервера выполните следующую пошаговую процедуру.

  • Сконфигурируйте контроллер SCSI и жесткий диск под загрузочный том и системный том. Установите операционную систему Windows NT.

  • Установив сервер, сконфигурируйте второй диск SCSI для системного/загрузочного тома с зеркалированием.

  • Используя утилиту Windows NT Disk Admin, создайте зеркальный системный/загрузочный том.

  • Подключите ко второму каналу контроллера SCSI еще три дисковода под тома данных.

  • Используя утилиту Disk Admin, создайте набор томов с чередованием и контролем четности и перезапустите сервер.
Те, кому уже приходилось устанавливать Windows NT, заметят, что я несколько сократил список процедур. Эту установку можно осуществить и другим способом, но я выбрал последовательный метод, чтобы выделить каждый шаг. В этой процедуре акцент делается только на то, что обеспечивает резервирование. Из нее, по крайней мере, должно стать ясно, сколько шагов требуется для установки сервера с данной программной конфигурацией RAID — причем это довольно простая конфигурация.

Обслуживание RAID

Теперь рассмотрим вопросы обслуживания. Например, что делать, если в наборе томов с чередованием откажет один диск? Как следует повозившись с процессором и покусав ногти (не говоря уже о жалобах пользователей), вы просмотрели журнал событий и обнаружили так много сообщений об ошибках из-за отказа диска, что заданного размера лога недостаточно. В этом случае вам придется распаковать новый дисковод и запланировать на нерабочее время технологический перерыв. Посреди ночи, в темноте и с полным кофейником вы приезжаете на работу. Чтобы восстановить набор томов, выполните следующие шаги:

  • Отключите сервер и замените неисправный диск.

  • После перезапуска сервера, пользуясь утилитой Disk Admin, восстановите набор томов и снова перезапустите систему.

  • ОС начинает восстановление матрицы дисков в фоновом режиме.
Важное замечание: Перед началом восстановления обязательно создайте резервную копию всей системы.

Мы рассмотрели процедуры установки и восстановления, но что, если число дисков в матрице RAID 5 потребуется увеличить или уменьшить? Для этого вам придется выполнить следующие шаги:

Создайте полную резервную копию всей матрицы с использованием своей любимой утилиты резервного копирования. При помощи Disk Admin удалите матрицу и перезапустите сервер. Добавьте или удалите дисководы. При помощи Disk Admin создайте новый набор томов с чередованием и перезапустите систему. Восстановите все данные в наборе томов.

Ясно, что это не очень удобный путь, так как для этих операций придется запланировать длительный технологический перерыв. К сожалению, NT не позволяет менять размеры матрицы дисков.

Аппаратная реализация RAID

Теперь давайте повторим решение задачи, но на этот раз будем пользоваться аппаратными средствами. Нам потребуется контроллер жестких дисков RAID — его часто называют контроллером матрицы — и, возможно, один из видов каркасов для RAID-дисков. (Каркас может быть внутренним или внешним по отношению к серверу.) Предположим, что у нас имеются сервер Compaq с операционной системой Microsoft Windows NT 4 и RAID-контроллер Compaq. Многие серверы Compaq изначально оборудованы внутренним каркасом, вмещающим до пяти дисководов с возможностью горячей замены.

При первоначальной установке Windows NT на систему с аппаратной реализацией RAID уровня 5 нужно установить драйвер контроллера матрицы. Для этого выполните следующие шаги:

  • Установите контроллер RAID и три диска.

  • Начните установку Windows NT, в нужный момент выбрав драйвер матрицы дисков.

  • В процессе установки создайте сегмент для загрузочного/системного тома.

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

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

Чтобы повысить надежность еще больше, можно дополнить вашу матрицу RAID 5 так называемым горячим резервом. По существу этот дополнительный диск действует в качестве динамического резерва на случай отказа одного из дисков. Если какой-то диск выйдет из строя, система немедленно начнет выполнять операцию по восстановлению данных на этот запасной диск. Я не буду подробно останавливаться на процедуре восстановления аппаратной матрицы в случае отказа диска. Так как диски допускают горячую замену, достаточно вынуть неисправный диск и вставить запасной, не выключая сервера. Понятно, что эта процедура приятнее, чем ночная операция по восстановлению.

Расширение аппаратной матрицы

Как увеличить число дисков в матрице? Установите дополнительный диск в каркас RAID и добавьте это новое устройство к матрице при помощи утилиты Compaq Array Configuration. Откройте Open Disk Admin в Windows NT, добавьте объем диска к тому данных, как при создании набора томов Windows NT, и перезапустите систему.

Эта процедура может показаться несколько путанной, так как программная реализация набора томов в NT не предусматривает резервирования. Здесь придется разбираться, как именно Windows NT управляет данным конкретным дополнением RAID в сочетании с драйвером матрицы Compaq – в данном случае она ведет себя не вполне очевидным образом. Не забывайте, что у вас все же аппаратная матрица RAID 5. Главное, что при аппаратной реализации матрицы ее можно наращивать.

Имейте в виду, что разные производители решают эту задачу по-разному. Возможно, вам придется выяснить технические подробности у своего поставщика аппаратуры RAID. После перезапуска сервер, возможно, будет «думать» несколько дольше обычного. Здесь главное – не паниковать, когда синий экран задерживается слишком надолго: просто Windows NT проверяет матрицу с расширенным набором томов. В моей практике бывало, что пока на экране появлялось предложение ввести логин и пароль, приходилось полчаса. Естественно, прежде чем выполнять любые подобные операции, необходимо создать резервную копию всей системы.

Программное обеспечение контроллера матрицы

Программное обеспечение контроллера матрицы, предоставляемое поставщиками аппаратуры RAID, может различаться по функциональным возможностям, но в целом оно содержит средства для определения и конфигурирования матриц, подсоединяемых к контроллеру RAID. Обычно ПО состоит из трех главных компонентов: микропрограммной BIOS, работающей на RAID-контроллере; утилиты конфигурирования матрицы (array configuration utility, ACU), которая, как правило, содержит графический интерфейс пользователя для Windows NT, упрощающий определение и конфигурирование матриц; и собственно драйвер матрицы, обеспечивающий связь с ОС.

В случае Compaq, некоторые версии утилиты конфигурирования матрицы совместимы с определенными минимальными версиями микропрограммной BIOS, установленной на самой плате контроллера матрицы. Когда производители добавляют к своей аппаратуре новые функции и возможности, часто приходится обновлять BIOS и устанавливать последние версии утилиты конфигурации матрицы и драйверов. Иногда в эти обновления включаются поправки, устраняющие обнаруженные проблемы. Бывает полезно регулярно наведываться к поставщику своей аппаратуры RAID, чтобы поддерживать систему на современном уровне.

Цена и производительность

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

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

Полезные советы

Обновление BIOS. Контроллеры аппаратуры RAID, такие как контроллеры SCSI, обладают своей собственной микропрограммной BIOS, которую перед установкой ОС полезно обновить.

Более быстродействующий процессор. Если вы намерены использовать программные функции RAID 5, заложенные в вашу сетевую ОС, выбирайте сервер с более быстродействующим процессором или мультипроцессорный сервер, которым будет легче справиться с увеличенной нагрузкой.

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


–> вернуться на канал System Integration (reviews)