Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
222
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

12.3 Защита памяти. Raid-массивы

В сети компьютеров очень выгодно держать всю «системную» информацию не в виде отдельных копий, а централизованно на диске сервера, что позволяет существенно снизить затраты. При необходимости воспользоваться той или иной частью информации ваш компьютер обращается к серверу и перегружает нужные данные в свою память. Однако при таком подходе резко возрастает опасность полной потери информации при возможном выходе из строя дискового накопителя сервера. И если в настоящее время жесткие диски становятся все большими по объему и более быстродействующими, то они никоим образом не застрахованы от отказов. Чтобы избежать потерь информации при выходе диска из строя, его содержимое периодически копируется на второй диск или на магнитную ленту. Это позволяет исключить полную потерю данных, накопленных за долгое время работы, но не решает проблему полностью: вам приходится отключать сервер для замены вышедшего из строя диска, находить магнитную ленту с соответствующей «копией» потерянной информации, восстанавливать содержимое диска. При этом восстановление будет неполным – восстанавливается лишь информация, сохраненная на ленте в момент ее копирования с диска, а более поздняя информация теряется. На время отключения сервера пользователи сети не имеют доступа к нужной им информации.

Для защиты данных от возможных потерь из-за отказов диска сервера предложена архитектура RAID, призванная защитить данные в реальном времени. Идея RAID состоит в том, чтобы вместо одного дорогого диска большого объема, где хранится вся информация сети, воспользоваться «избыточным массивом недорогих дисков»; именно так расшифровывается и переводится этот термин. Нужно помнить, что любой RAID-массив всегда дороже одного диска большого объема и, как правило, имеет больший объем памяти. Что дает RAID-массив? Он позволяет обеспечить более высокую производительность по сравнению с накопителем на большом диске и добиться высокой отказоустойчивости.

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

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

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

RAID 0 – дисковый массив без дополнительной отказоустойчивости

Этот вариант архитектуры предусматривает простое чередование данных при записи на несколько накопителей. Поток данных разбивается на блоки, которые и записываются на диски нескольких накопителей (рисунок 12.1).

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

1

2

4

Контроллер накопителей

Рисунок 12.1 Схема записи в RAID 0

RAID 1 – дисковый массив с «зеркалированием» данных

В массиве RAID1 предусматривается дублирование данных на «зеркальных» дисках, т.е. запись каждого блока в двух экземплярах – каждого экземпляра на свой диск. Для такой архитектуры используется один дисковый контроллер, который может выполнять одновременно две операции чтения (с двух разных дисков) и дуплексную операцию записи на зеркальные диски. Такой вариант довольно хорош для небольших сетей, так как отличается простотой реализации, высокой скоростью записи и чтения, высокой скоростью восстановления данных из-за их 100-% избыточности (данные восстанавливаются путем простого копирования с исправного диска) и возможностью получить отказоустойчивую дисковую систему всего на двух дисковых накопителях. Однако он может оказаться довольно дорогим, если требуется память большого объема. Поскольку для хранения данных используется два накопителя, то и цена такой памяти возрастает минимум в два раза.

RAID 2 – дисковый массив с использованием алгоритма Хемминга для проверки и восстановления данных

Архитектура дисковой подсистемы предусматривает запись данных на ряд дисков с добавлением кода Хемминга для обнаружения и исправления ошибок. Вся подлежащая записи информация разбивается на «слова» постоянной длины; причем длина «слова» соответствует количеству дисков с данными. Здесь под «словом» понимается последовательность бит постоянной длины, которые и записываются на диски с данными. Для каждого слова данных вычисляется контрольный код Хемминга, т.е. ECC (код для проверки и коррекции ошибок), также записываемый на отдельные диски для хранения контрольной информации. Этот вариант RAID отличается максимальной избыточностью, требует исключительно большого объема памяти и большого числа дисков и характеризуется максимальной стоимостью. Однако он позволяет исправлять ошибки на лету и обеспечивает высокую скорость передачи данных, увеличивающуюся с ростом числа дисков в массиве. Очень низкий коэффициент использования дискового пространства приводит к тому, что коммерческих вариантов реализации RAID2 не существует.

RAID 3 – дисковый массив с вычислением контрольной суммы параллельно с передачей данных

Архитектура дисковой системы предусматривает запись данных с чередованием по байтам («полосам»). Для записываемых на различных накопителях байтов, или полос вычисляется значение четности (контрольной суммы), которое размещается на дополнительном накопителе.

Для реализации архитектуры RAID3 требуется минимум два диска для хранения данных (оптимальные результаты при четырех дисках) и один диск для хранений четности. Этот способ размещения данных обеспечивает высокую скорость чтения и записи, при выходе из строя одного из дисковых накопителей общая производительность падает незначительно и довольно хорошо используется дисковое пространство. Применяется при передаче больших блоков данных, например, файлов машинной графики.

RAID 4 – дисковый массив с независимыми дисками данных и общим диском хранения контрольной суммы

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

RAID 5 – дисковый массив с независимыми дисками данных и равномерным распределением контрольных сумм по всем дискам

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

Большинство дисковых систем, используемых в локальных вычислительных сетях в настоящее время, строится по этому принципу. Контрольная сумма для блоков информации одного ряда вычисляется во время операции записи и размещается на одном из накопителей (рисунок 12.2). Вторая сумма размещается на следующем накопителе и т.д. Во время операции чтения производится проверка правильности данных по совпадению контрольных сумм.

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

Во всех RAID-системах выполняется «балансирование» нагрузки, т.е. использование нескольких общих источников питания так, чтобы потребляемая мощность равномерно распределялась между ними. Это делается для того, чтобы выход из строя одного источника питания не вызывал нарушения работоспособности всей системы RAID.

Контроллер

1

5

6

8

Рисунок 12.2 Схема записи в дисковый массив RAID 5

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

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