Дисковые массивы (RAID - системы)
RAID-системы (Redundant Arrays of Inexpensive Disk) - это метод управления жесткими дисками, при котором набор из десяти или более недорогих винчестеров работает как одно целое, т.е. на разных физических дисках размещается один логический диск. При этом файлы могут храниться так, чтобы обеспечить конкурентный независимый доступ с нескольких дисков. Однако управление такими системами достаточно сильно загружает процессор.
Основная идея алгоритмов RAID заключается в расщеплении входного потока информации в виде блоков записи на отдельные физические диски. При считывании происходит обратный процесс - блоки информации собираются с накопителей и преобразовываются в единый поток. Таким образом, операционная система взаимодействует с матрицей, как с отдельным очень быстрым накопителем, к тому же обычно некритичным к отказу любого отдельно взятого жесткого диска.
Технология RAID предоставляет 6 уровней сложности:
· RAID-0 - предполагает распределение данных без каких бы то ни было мероприятий по обеспечению отказоустойчивости. RAID-системы, выполненные на этом уровне, используют всю дисковую память для хранения данных. Представляет собой алгоритм, при котором каждая порция информации входного потока делится на N фиксированных блоков (где N - число дисков в матрице) с последующей записью на свой диск. В этом случае можно получать пропорциональное приращение скорости записи/чтения увеличением количества связанных дисков вплоть до насыщения системной шины компьютера. RAID-0 не создает никакой избыточности и не гарантирует сохранность данных при отказе одного из физических накопителей, но создает максимально быструю дисковую систему, скорость которой в идеале в N раз превышает быстродействие физического диска, поэтому обычно используется для потоковых задач.
· RAID-1 - подобен зеркальному отражению дисков, при котором используются две копии каждого файла. Однако в данном случае выполняется дублирование на уровне секторов, а не файлов. С применением техники распределения данных RAID-система предоставляет файл быстрее, чем любой из дисков, входящих в ее состав. Но, поскольку файл дублируется на разных дисках, скорость доступа несколько снижается из-за выполнения двух операций чтения или записи. При использовании подхода уровня 1 для размещения данных используется только 50% общей емкости накопителей. При хорошей реализации обеспечивается вполне приемлемая скорость. В отличие от RAID-0 гарантирует сохранность данных при сбое любого из дисков, при этом стоимость дискового пространства увеличивается вдвое из-за всегда сохраняющейся 100% избыточности. Один из недостатков RAID 1 в том, что, по сути, массив состоит из одного диска (и его копии). Емкости одного диска часто оказывается недостаточно. Поэтому в современных системах RAID зеркалирование часто сочетается с чередованием. Иными словами, данные из массива RAID 0 в точности дублируются на другой массив RAID 0. Данный уровень RAID называют RAID 0+1 или RAID 10. Алгоритм применяется в системах, где уже необходима надежность хранения данных, но объем дисковой матрицы все еще незначителен, чтобы всерьез задумываться о стоимости избыточных физических накопителей. Из-за простоты реализации многие продвинутые ОС способны организовать RAID-0 программными средствами.
· RAID-2 - повышает производительность уровня 1 путем разделения функциональности дисков, входящих в состав RAID-системы. В данном случае одни диски используются для хранения данных (рабочие диски), а другие - для выявления сбоев и коррекции ошибок. Поскольку головки на всех дисках работают одинаково и управляются интеллектуальным контроллером, метод раздельного хранения данных и управляющей информации работает быстрее, чем устаревший подход, при котором данные и информация, необходимая для исправления ошибок, записывались на одном и том же диске. По этой схеме 4 диска типичной RAID-системы используются для исправления ошибок, а 10 - для хранения данных. При передаче небольших файлов этот метод несколько медлительно, поскольку все диски должны выполнить запись или считывание всего нескольких байтов. Для хранения данных используется не более 70% дискового пространства. Применение кода Хэмминга обеспечивает наивысшую надежность среди стандартных уровней RAID, но из-за своей высокой цены и сложности (в случае четырех дисков с данными требуется три дополнительных диска) RAID 2 не получил широкого распространения. Общая производительность его крайне низка.
· RAID-3- развитие метода коррекции ошибок, используемого на уровне 2. Данные разбиваются на подблоки на уровне байт и записываются одновременно на все диски массива кроме одного, который используется для четности, обеспечивая тем самым нечувствительность массива к отказу любого из накопителей. На уровне 2 исправление ошибок в данных выполняется с помощью кодов коррекции с чередованием битов (коды Хэмминга). При этом происходит побитовое наложение каждого байта данных с этими кодами. Уровень 3 не смешивает данные и биты коррекции, возлагая эту задачу на специальный диск проверки четности (parity disk). Недостатками этого подхода являются некоторое замедление операций записи (в связи с необходимостью вычисления и записи корректирующей информации), а также невозможность выполнения одновременной записи нескольких блоков данных. Вдобавок ко всему, большой объем вычислений приводит к тому, что соответствующее ПО интенсивно нагружает процессор, поэтому для работы с такой системой понадобится интеллектуальный контроллер. В вашем распоряжении будет около 85% физического дискового пространства. Скорость системы удовлетворительна при использовании их в качестве персональных компьютеров, но недостаточна для файл-серверов. RAID-3 идеально подходит для тех задач, где требуется максимальная скорость записи/чтения больших файлов с гарантированной защитой от сбоев. В отличие от RAID-0, по мере увеличения количества дисков избыточность уменьшается в соответствии c 1/N, а скорость последовательного доступа увеличивается пропорционально N-1
· RAID-4 имеет одно небольшое отличие от уровня 3, которое, тем не менее, позволяет резко повысить скорость работы - проверка ошибок выполняется не на уровне битов, а на уровне секторов. Отдельный диск проверки четности остается, но для чтения каждого сектора можно использовать одновременно 2 рабочих диска. Однако одновременная запись двух секторов по-прежнему невозможна, так как для этого необходим диск проверки четности. Поэтому на уровне 4 чтение выполняется быстрее, чем запись. Уровень 4 по скорости превосходит уровень 3, так как для проверки четности выполняется не на уровне битов (что требует чтения с каждого рабочего диска), а на уровне отдельных секторов.
· RAID-5 отказывается от использования отдельного диска проверки четности, размещая эту информацию на рабочем диске. В результате все диски могут одновременно выполнять чтение или запись без ожидания обслуживания их запроса диском проверки четности. Информация из входного потока разделяется на N-1 блоков, а N-й блок вычисляется из N-1 первых и является контрольным. В случае утраты одного из N блоков, информация однозначно восстанавливается из N-1 других. Контрольный блок каждый раз от цикла к циклу записывается на новый диск, совершая как бы "круговой обход". Таким образом, все диски в матрице являются равнозначными, подвержены одинаковому износу, и, в случае сбоя сектора на диске или всего диска целиком, информация восстанавливается без потерь. Единственная проблема заключается в том, чтобы контроллер обеспечивал такой режим управления. Т.о., хотя этот метод предоставляет одновременно высокую скорость работы и безопасность данных, понадобится высокоинтеллектуальный (а значит, очень дорогой) контроллер для того, чтобы RAID-система работала на уровне 5. Для хранения данных в этом случае используется около 85% общего дискового пространства. В отличие от RAID-3 имеет существенно лучшие характеристики произвольного доступа.
· RAID- 6 обеспечивает повышенную отказоустойчивость за счет использования второй, независимой, схемы контроля четности. Как и в RAID 5, данные чередуются между дисками массива, но четность вычисляется не только для полосы, но и для диска (точнее, данных на диске). Для достижения той же емкости массив должен иметь на один диск больше, чем RAID 3, 4 или 5, и на два больше, чем RAID 0. Вместе с тем такое решение позволяет обеспечить доступ к данным даже при отказе более чем одного диска, но оно возлагает на контроллер чрезвычайно высокую нагрузку по вычислению адресов с информацией о четности и, кроме того, обусловливает очень медленную скорость записи.
· Еще один уровень — RAID 7 — предлагается фактически только одной компанией, Storage Computer Corp., и его название является ее торговой маркой. Реализация массива предусматривает асинхронное выполнение операций ввода/вывода, использование встроенной операционной системы реального времени для ускорения этих операций и другие ухищрения для повышения производительности массива. Как утверждается, производительность на всех операциях в 1,5—6 раз выше, чем у других массивов.
· И, наконец, последний из наиболее известных уровней — RAID 53. Это, так сказать, массив массивов. Если диски расположить схематически в виде прямоугольной матрицы, то столбцы будут составлять массивы RAID 3 (у некоторых производителей — RAID 5), а ряды — массивы RAID 0. Такой массив достаточно дорог в реализации, к тому же все шпиндели дисков должны быть синхронизованы, что ограничивает выбор дисков.
Применяя различные методы, например, кэширование, можно улучшить изначальные показатели.
Для распределения данных по дискам и вычисления четности любая система RAID использует контроллер RAID, который представляет собой интеллектуальное устройство, с помощью которого можно организовать алгоритмы RAID, объединив необходимое количество жестких дисков в матрицу. Он реализуется обычно одним из трех способов:
· программный;
· внутренний аппаратный;
· внешний аппаратный.
Каждый из них имеет свои преимущества и недостатки. Так, программные реализации обходятся дешевле всего, но вследствие интенсивного использования ресурсов компьютера они имеют наихудшую производительность. Внешние аппаратные реализации, наоборот, стоят дорого, но и производительность и надежность у них наивысшая.
Наибольшее распространение получили программные реализации для RAID 0 и 1. В частности, Novell в течение многих лет предлагает соответствующее программное обеспечение. Оно позволяет объединить в один массив с чередованием записи данных диски на разных контроллерах и даже разных типов. Ввиду относительно невысоких требований серверов NetWare к мощности ЦПУ и объему оперативной памяти производительность довольно приличная. Однако, как правило, программные реализации имеют значительно худшую производительность, особенно на операциях записи. Кроме NetWare необходимые средства организации массивов RAID имеют, например, Windows NT и Linux.
Внутренний аппаратный контроллер RAID вставляется обычно в один из слотов шины компьютера. Современные модели внутренних контроллеров представляют собой плату слота расширения на шину PCI и имеют 1,2 или 3 SCSI-канала, к каждому из которых можно подключать от 1 до 15 SCSI-устройств. Основополагающая масса RAID-контроллеров базируется на базе RISC процессора Intel i960, хотя уже появились еще более производительные модели на базе нового RISC-процессора Intel StrongArm SA110. Как и в других областях, в сфере RAID-контроллеров имеются законодатели рынка, предлагаемые решения которых обычно становятся стандартом де-факто. Сегодня основной OEM-поставщик и производитель этих устройств - фирма Mylex.
Другой вариант организации RAID-контроллеров — в виде внешних устройств, подключаемых к серверу посредством SCSI или Fibre Channel канала. С точки зрения организации матрицы они ничем не отличаются от более дешевых внутренних моделей. Основное отличие заключается в том, что большинство таких контроллеров являются двухпортовыми, т.е. позволяют одновременную работу 2 (в случае SCSI) или более (в случае FC-AL) хостов.
Если первая реализация зависит, вообще говоря, от аппаратной платформы и операционной системы, то вторая полностью независима от типа используемого на компьютере оборудования и ОС. Аппаратные реализации позволяют освободить ЦПУ компьютера для выполнения более общих задач. Внешние подсистемы RAID имеют часто избыточные контроллеры RAID, источники питания, охлаждающие вентиляторы и могут обслуживать несколько хостов. В частности, в некоторых реализациях используются локальные и глобальные резервные диски для замены отказавшего диска из массива. В случае выхода из строя какого-либо из дисков массива запасной диск автоматически включается в массив. Локальный запасной диск является резервным для одного конкретного массива, а глобальный — для нескольких.
В случае поломки диска или каких-либо других проблем, вследствие которых контроллер не может в дальнейшем его эксплуатировать, например превышение допустимого количества плохих блоков, диск помечается как "мертвый" (DEAD) и не участвует в дальнейшей работе. В этом случае оператор может вынуть этот диск из системы и заменить другим. После подключения и обнаружения RAID-контроллером нового диска произойдет его форматирование (если необходимо) и будет выполнена операция перестройки матрицы (Rebuild). Таким образом, система опять восстановит свой прежний вид.
Но, как правило, не всегда бывает возможность немедленно заменить диск и время реакции может быть достаточно продолжительным (если нет круглосуточного поста квалифицированного оператора). Современные RAID-контроллеры позволяют решить эту проблему без участия человека — в матрицу заранее устанавливается диск или несколько дисков, которые при конфигурации RAID-матрицы помечаются как резервные (StandBy Drives). В этом случае на резервные диски не подается команда раскрутки шпинделя, они никак не эксплуатируются, а значит, не изнашиваются. При возникновении "мертвого" диска, резервный из режима StandBy сразу же автоматически переводится в рабочий и на него осуществляется Rebuild. В таком режиме сервер будет работать до тех пор, пока не кончатся резервные диски. Замена "мертвого" диска на новый может быть произведена в любое удобное время, после чего он приобретает статус резервного.
Применение технологии резервных дисков предпочтительней по ряду причин: во-первых, стоимость хороших конструктивов, обеспечивающих корректное и надежное размыкание и обратное подключение SCSI-шины, достаточно велика и, на данный момент, сравнима со стоимостью самого SCSI диска; во-вторых, положение вещей на рынке жестких дисков за последние несколько лет таково, что, возможно, через год после приобретения накопителей вы не сможете найти точно такую же модель, по крайней мере за короткий срок. Использование же в матрице разных моделей жестких дисков может привести к большим проблемам вплоть до невозможности их совместной работы.
Дата добавления: 2015-08-26; просмотров: 1101;