RAID: безопасность данных
Андрей Борзенко
Становление Интернет-экономики неразрывно связано с обеспечением надежной работы всех компонентов электронных систем, а гарантии защиты и целостности данных приобретают в этом случае особое значение. Современный рынок средств хранения данных совершенно немыслим сегодня без дисковых массивов, которые стали такой же нормой для различных прикладных систем, какой является винчестер в персональном компьютере.
По данным корпорации Disk/Trend (http://www.disktrend.com), рынок дисковых массивов неуклонно рос в течение последнего десятилетия, однако некоторые его сегменты развивались значительно быстрее остальных. Это, например, можно сказать о так называемых избыточных массивах недорогих дисков (Redundant Arrays of Inexpensive Disks, RAID). Если в 1998 г. было продано 1,3 млн. единиц подобного оборудования, предназначенного для ЛВС среднего масштаба, то к 2002 г. эта цифра должна увеличиться до 2,2 млн. Мировой рынок дисковых массивов всех типов в 1998 г. оценивался в 12,5 млрд. долл., в 1999 г. - в 14 млрд. долл., а к 2002 г. его емкость прогнозируется на уровне 19,8 млрд. долл. Таким образом, за последние два года рост рынка дисковых массивов составил около 12,1%.
Дисковые массивы
Если система работает даже при выходе из строя одного из компонентов, говорят о ее невосприимчивости к отказам (fault tolerance). Для накопителей информации под невосприимчивостью к отказам понимают их способность при случайном сбое продолжать выполнение операций ввода-вывода без потери данных и операций, требующих остановки системы.
Дисковый массив
спасет ваши данные
Существует несколько возможностей повышения надежности подсистемы хранения данных. Они основаны, в частности, на методах дублирования (duplexing) и отражения (mirroring). При использовании метода отражения к одному контроллеру подключаются как минимум два жестких диска (один основной и один "зеркальный"), причем специальное программное обеспечение позволяет записывать информацию на оба диска одновременно. В случае ошибки на одном накопителе информация будет считана с другого. Преимущества использования метода отражения очевидны: это и защита данных, благодаря записи идентичной информации на два физических носителя, и непрерывный ввод-вывод данных даже при выходе из строя одного из накопителей. Разумеется, если ошибка произошла в самом контроллере, то вся подсистема становится неработоспособной.
От указанного недостатка свободен метод дублирования, имеющий, правда, более высокий уровень избыточности: каждый диск подключается к своему собственному контроллеру.
В 1987 г. три американских исследователя (Паттерсон, Гибсон и Катц) из Калифорнийского университета в Беркли в статье "A Case for Redundant Arrays of Inexpensive Disks (RAID)", описали несколько типов дисковых массивов, указанных под сокращением RAID. Основная идея RAID состояла в объединении небольших и недорогих дисков в массив, который по производительности не уступал бы одному большому диску (Single Large Expensive Drive, SLED), применяемому обычно с компьютерами типа мэйнфрейм. Заметим, что этот массив дисков для компьютера должен был выглядеть как одно логическое устройство, а от увеличения числа дисков в массиве, естественно, ожидали повышения производительности, по крайней мере при чтении информации. Слово "недорогой" (inexpensive) в названии RAID означает стоимость одного диска в массиве по отношению к большим дискам мэйнфрейм-компьютеров.
Кстати, некоторое время спустя после выхода вышеупомянутой статьи из Беркли пришла новая расшифровка аббревиатуры RAID - Redundant Arrays of Independent Disks. Дело в том, что из-за низкой надежности недорогих дисков в массивах первоначально пришлось устанавливать достаточно дорогие дисковые устройства мэйнфреймов.
В отличие от техники, использующей дублирование и отражение, когда вся хранимая информация так или иначе полностью дублируется, в RAID-массивах применяется так называемая striping-техника, иными словами, "расщепление" или демонтаж данных на уровне секторов, когда сохраняемая информация специальным образом разделяется между дисками всего массива.
Уровни RAID
В компьютерной индустрии выделяют несколько классов дисковых массивов. Дисковые массивы всех этих классов сравниваются с одиночными жесткими дисками по скорости передачи информации, характеристикам ввода-вывода и надежности хранения информации. Разумеется, разные классы ориентированы на решение различных задач. Коротко рассмотрим основные уровни RAID (заметим, что отдельные диски, не входящие в RAID, называются обычно JBOD - Just a Bunch of Disks).
RAID 0 (Non-Redundant Striped Array). В этот класс входит неизбыточная группа дисков, использующих striping-технику без хранения информации о контрольных суммах. Для таких систем достигается максимальная производительность, однако при выходе из строя одного из физических дисков массива невозможно восстановить хранимые данные. Если в обычной системе данные последовательно записываются на диск, пока не будет исчерпан его объем, то в RAID 0 информация распределяется по дискам массива следующим образом. Например, если имеется четыре диска, то данные записываются сначала на первую дорожку первого диска, затем на первые дорожки второго, третьего и четвертого. Аналогичная процедура выполняется для второй дорожки и т. д. Подобные системы обычно используются для хранения некритичных данных в тех случаях, когда необходима высокая производительность. Минимальное число дисков равно двум.
RAID 1 (Mirrored Arrays). К этому классу относятся подсистемы, работающие по методу отражения и дублирования. Стоимость и избыточность таких подсистем наиболее велика, тем не менее в ряде случаев они показывают самую высокую производительность среди классов 1-5. RAID 1 находят широкое применение в современных архитектурах систем хранения. Их основным недостатком является цена, так как для любого приложения требуется вдвое больший объем дисковой памяти. Именно поэтому они наиболее эффективны при малых объемах критической информации. Минимальное число дисков равно двум.
RAID 0/1 (0+1). В массиве этого класса используется комбинация методов расщепления данных и зеркалирования. Иными словами, скоростные преимущества RAID 0 объединяются с надежностью, присущей RAID 1. Они пригодны для небольших объемов критичных данных, обрабатываемых с высокой производительностью. Минимальное число дисков равно четырем.
RAID 2 (Parallel Array with ECC). Данные и коды для обнаружения и исправления ошибок (ECC, Error Correction Code) в этих подсистемах хранятся на отдельных дисках. Для коррекции ошибок обычно используется кодирование Хэмминга (Hamming). Системы RAID 2 имеют очень большую избыточность и, как следствие, они весьма дорогие. Так, для массива из 16 накопителей требуется три дополнительных диска для хранения кодов коррекции. Такие массивы применяются довольно редко, поскольку не имеют практически никаких преимуществ перед RAID 3.
RAID 3 (Parallel Array with Parity). Такие подсистемы похожи на подсистемы RAID 2, за исключением того, что у них для хранения контрольных сумм используется только один выделенный диск, на который записывается сумма данных по модулю 2 (логическая операция "исключающее ИЛИ" - XOR). Подсистемы этого класса, как правило, обеспечивают максимальную скорость передачи данных, которая необходима при решении задач, оперирующих с большими массивами информации. Минимальное количество используемых дисков - три. Применяются обычно при работе с относительно большими последовательными записями, например файлами изображений. Требуют значительно меньше дополнительного дискового пространства, нежели RAID 1.
RAID 4 (Striped Array with Parity). Подсистемы этого типа аналогичны RAID 3 и также используют один выделенный диск для хранения контрольных сумм. Однако они не поддерживают нескольких одновременных операций записи на разные диски. Узким местом системы часто становится диск, хранящий контрольные суммы.
RAID 5 (Striping Array with Rotating Parity). В этом классе дисковых подсистем применяется striping-техника, но уже как для данных, так и для информации о контрольных суммах. Это позволяет выполнять несколько операций записи одновременно. Именно этот класс дисковых массивов ориентирован на напряженную работу с дисками и хорошо подходит для многопользовательских систем. Для небольших файлов может быть достигнута самая высокая производительность (с избыточностью). Минимальное число дисков равно трем.
Несколько позже исследователи из Беркли предложили RAID 6, отличающийся от RAID 5 вычислением двух контрольных сумм для каждой единицы данных и хранением их на разных дисках массива. Основным преимуществом этого уровня является повышенная надежность: даже если одновременно выйдут из строя два диска в массиве, то информацию можно восстановить. Тем не менее из-за высокой стоимости реализации практического применения RAID 6 не получил.
Часто используются так называемые гибридные уровни RAID: RAID 10, RAID 30 и RAID 50. Если в RAID 0+1 данные распределяются по набору "зеркальных" дисков, то в RAID 1+0 информация сначала распределяется по массиву, а затем полный набор этих дисков зеркалируется на одном или нескольких других носителях. По такому же принципу строятся RAID 30 и RAID 50.
Некоторые фирмы - поставщики оборудования разработали собственные уровни RAID. Так, в 1992 г. компания Storage Computer впервые анонсировала для дисковых массивов уровень RAID 7.
Архитектуры RAID
Дисковые массивы могут быть основаны на одной из двух архитектур: программной или аппаратной. Первая использует только стандартные аппаратные средства (как правило, контроллеры SCSI) и дополнительное программное обеспечение. С тех пор как в ОС Microsoft Windows NT и Novell Netware включена поддержка нескольких уровней RAID (0,1 и 5), стоимость программной архитектуры является чисто номинальной. Однако следует иметь в виду, что для сохранения целостности данных в интерфейсе SCSI обнаруживается только один ошибочный разряд. Нет возможности сделать RAID-массив загружаемым, а следовательно, сама ОС должна находиться на отдельном диске. Кроме того, отсутствует функция "горячей" замены с автоматическим восстановлением данных.
Аппаратная архитектура RAID значительно сложнее, поскольку основана как на специальном программном, так и аппаратном обеспечении. Контроллер массива, часто называемый RAID-картой, содержит собственный XOR-вычислитель, вспомогательную память, а также каналы SCSI или UDMA. Именно подобная архитектура позволяет достичь существенного выигрыша в производительности. Впрочем, для систем начального уровня, где процессор сервера занят непродолжительное время, разницы между программной и аппаратной архитектурами практически нет. Но она достаточно ясно проявляется при высокой нагрузке на подсистему ввода-вывода. На практике наиболее часто используются следующие уровни RAID: 0, 0+1, 1 и 5.
Технология AutoRAID
Как видно, одни уровни RAID обеспечивают более высокую производительность, другие - емкость, третьи - безопасность. Разумеется, наилучшим было бы решение, позволяющее объединить преимущества ряда уровней массивов, исключив при этом их недостатки. Интересное предложение сделала корпорация Hewlett-Packard (http://www.hp.com), которая в ряде своих продуктов обеспечила динамическую миграцию данных в дисковом массиве с одного уровня RAID на другой.
Впервые эта технология была опробована на дисковом массиве HP SureStore E Disk Array 12H (AutoRAID 12H). По оценке журнала VARBusiness, он стал одним из лучших продуктов 1998 г. и своими инновациями в RAID-технологии установил новые стандарты индустрии. Никакие другие дисковые системы не предлагали еще автоконфигурацию, динамическую миграцию данных и активную замену компонентов в "горячем" режиме (hot-spare). Более того, модель 12Н дискового массива показала время работоспособности системы на уровне 99,95%.
Автоматическая конфигурация позволяет увеличивать емкость или производительность в режиме онлайн без увеличения числа дисков или форматирования. Кроме того, появилась возможность одновременной работы с дисками различной емкости и добавления новых дисков большой емкости. Немаловажным преимуществом автоконфигурации стало отсутствие жестких правил на инсталляцию дисков в любом слоте.
Динамическая миграция данных обеспечила автоматическую адаптацию к загрузке системы. Наиболее "активные" данные размещались в кэш-памяти, часто используемые данные - на уровне RAID 1/0, менее активные - на уровне RAID 5.
Режим активной "горячей" замены гарантирует использование всех дисков с распределением резервного пространства между дисками для повышения производительности RAID. Кроме того, он позволяет избежать дополнительной перестройки системы после сбоя при средней загрузке и допускает множественную замену дисков.
В середине 1999 г. Hewlett-Packard выпустила на рынок новый дисковый массив HP SureStore E Disk Array XP256, предназначенный для оперативного доступа к корпоративным данным, а также являющийся главным компонентом при построении масштабных отказоустойчивых решений.
Основные особенности данного массива:
- архитектура, разработанная в рамках программы "Пять девяток - пять минут" (доступность 99,999%, что эквивалентно времени простоя системы в год не более 5 мин) и обеспечивающая возможность "горячей" замены дисков, плат, контроллеров, источников питания, вентиляторов, а также обновления внутреннего программного обеспечения без остановки системы;
- высокая доступность данных, достигаемая за счет дублированных, активных и избыточных элементов, зеркалирования кэш-памяти, дублирования активных шин для данных, команд, интерфейсов, наличия двух различных путей доступа к каждому диску;
- широкий набор средств управления массивом, обеспечивающих управление виртуальными дисками LUN (Logical Units), доступом, ресурсами, локальными и удаленными копиями, совместным использованием данных, производительностью, кэшем и т. п.;
- поддержка множества серверных платформ как при соединении в рамках архитектуры выделенных устройств хранения (Storage Area Network, SAN), так и при прямом соединении, поддержка множества интерфейсов;
- возможность наращивания емкости одиночного устройства до 9 Тб (256 дисков), а зеркалированной памяти - до 16 Гб;
- возможность использования высоконадежных дисковых механизмов разной емкости с различным временем доступа;
- аппаратная поддержка RAID 1 и RAID 5.
В HP SureStore E Disk Array XP256 могут устанавливаться дисковые накопители емкостью 15 и 36,9 Гб с частотой вращения шпинделя 12 тыс. об/мин. Новые 47-гигабайтные винчестеры увеличивают общую емкость массива на 22%.
Средство оптимизации HP SureStore E Auto LUN XP позволяет легко перемещать часто применяемые данные с недорогих накопителей большой емкости на диски, меньшие по объему, но обладающие повышенной производительностью. К тому же допускается автоматическая разгрузка чаще других используемого накопителя в массиве и, самое главное, может выполняться преобразование данных между RAID 5 (оптимизация по емкости) и RAID 1 (оптимизация по производительности).
Дисковый массив HP SureStore E Disk Array XP256, являясь системой высшего уровня, особенно эффективен в открытых архитектурах SAN, кроме того, он не накладывает ограничений на работу в SAN других устройств.
В настоящее время большие надежды корпорация возлагает на новый продукт - HP SureStore E Disk Array XP512, предназначенный для систем класса high-end. По мнению специалистов, это неплохой "аргумент" при переделе рынка. Общая емкость нового дискового массива может достигать 24 Тб (512 двухпортовых жестких дисков). Поддерживаются интерфейсы подсистем: Fibre Channel, SCSI и ESCON. В качестве ОС могут служить HP-UX, Microsoft Windows NT and 2000, Sun Solaris, IBM AIX, IBM System 370/390 и т. д. Предлагаемая схема работы массива - 24х7х365, т. е. круглосуточно в течение года.
Статья опубликована в Week/RE № (259)3 от 10/10/00, стр. 28
Перепечатывается с разрешения автора.