Автор работы: Пользователь скрыл имя, 08 Февраля 2015 в 09:58, реферат
Чтобы считывать и записывать информацию на диск, ему необходима файловая система. Файловая система — порядок, определяющий способ организации, хранения и именования данных на носителях информации. Она определяет формат содержимого и физического хранения информации, которую принято группировать в виде файлов. Носители информации способны лишь хранить, записывать или считывать биты данных из определенных секторов, а за доступ к информации отвечает именно файловая система. Некоторые из них предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
В основе средств обеспечения отказоустойчивости дисковой памяти лежит общий для всех отказоустойчивых систем принцип избыточности, и дисковые подсистемы RAID. RAID (Redundant Arrays of Inexprensive Disks – избыточный массив недорогих дисков, позднее буква “I” в аббревиатуре RAID стала означать слово Independent – независимый). — массив из нескольких дисков (запоминающих устройств), управляемых контроллером, связанных между собой скоростными каналами передачи данных и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи. Основная идея заключается в распределении информации по массиву дисков с вычислением контрольных сумм.
Набор дисков позволяет создать устройство большой емкости. Сохранность информации обеспечивается ее дублированием или вычислением контрольных сумм. Поэтому в случае выхода из строя диска данные могут быть восстановлены. В работе были описаны так называемые уровни RAID – частные случаи построения RAID-массивов. Первоначально их было всего пять (1-5), но дальнейшее развитие этой технологии привело к появлению новых (0.7; 1+0…). Номер уровня не определяет степень сохранности данных или увеличение производительности, он является индикатором системы хранения данных. Уровень с большим номером не обязательно имеет преимущество перед уровнем, номер которого меньше.
RAID 0 – массив дисков без избыточного хранения данных, без отказоустойчивости. Информация разбивается на блоки, которые записываются на отдельные диски, что обеспечивает увеличение производительности. Данные способ хранения информации ненадежен (поломка одного диска приводит к потере всей информации), поэтому уровнем RAID как таковым не является. За счет возможности одновременного ввода/вывода с нескольких дисков RAID 0 обеспечивает максимальную скорость передачи данных и максимальную эффективность использования дискового пространства, так как не требуется места для хранения контрольных сумм. Реализация этого уровня очень проста. В основном RAID 0 применяется в тех областях, где требуется быстрая передача большого объема данных.
Надёжность RAID 0 заведомо ниже надёжности любого из дисков в отдельности и падает с увеличением количества входящих в RAID 0 дисков, т. к. отказ любого из дисков приводит к неработоспособности всего массива.
RAID 1– дисковый массив с дублированием информации, так называемая схема с зеркалированием данных. В простейшем случае два накопителя содержат одинаковую информацию и являются одним логическим диском. Тем самым обеспечивается самый высокий уровень сохранности данных: при выходе из строя одного диска его функции выполняет другой (что абсолютно прозрачно для пользователя). Кроме того, этот уровень удваивает скорость считывания информации, так как эта операция может выполняться одновременно с двух дисков. Недостатками RAID 1 являются низкий коэффициент использования дискового пространства (всего 50%, ниже, чем на всех других уровнях) и снижение скорости записи, так как она должна производиться согласованно на два диска. Такая схема хранения информации используется в основном в тех случаях, где “цена” безопасности данных намного выше стоимости реализации системы хранения. Но поскольку цены на диски все время снижаются, RAID 1 становится все популярней. В серверах среднего уровня, где объем хранимой информации не так велик, его применение может быть вполне оправдано. RAID 1 прост в реализации, позволяет создать отказоустойчивую систему всего из двух дисков, самый большой его минус – высокая стоимость, так как по цене двух жестких дисков пользователь фактически получает лишь один.
RAID 2– схема резервирования данных с использованием кода Хэмминга (Hamming code) для коррекции ошибок. Поток данных разбивается на слова таким образом, что количество бит в слое равно количеству дисков и при записи слова каждый отдельный бит записывается на свой диск. Для каждого слова вычисляется код коррекции ошибок, который записывается на выделенные диски для хранения контрольной информации. Их число равно количеству бит в слове контрольной суммы. Например, если слово состоит из четырех бит, то под контрольную информацию отводится три диска. При этом он является самым избыточным среди всех уровней с контролем четности.
Такая схема хранения подходит для приложений, где требуется передача большого объема данных (за счет параллельного обращения к дискам), но неприменима для задач с большим количеством запросов малого объема (за счет сравнительно большого объема операций, который требуется для перераспределения данных). RAID 2 относительно дорог, но при увеличении количества дисков стоимость снижается. Эта схема хранения данных мало применяется, т.к. плохо справляется с большим количеством запросов, сложна в организации и имеет незначительные преимущества перед уровнем RAID 3.
RAID 3 – отказоустойчивый массив с параллельным вводом/выводом и диском контроля четности. Поток данных разбивается на блоки на уровне байт (хотя возможно и на уровне бит) и записывается одновременно на все диски массива, кроме диска, который выделен для хранения контрольных сумм, вычисляемых при записи данных. Поломка любого из дисков массива не приведет к потере информации, которую можно восстановить вычислением операции исключающее или (XOR), примененной к информации на оставшихся дисках. Этот уровень имеет намного меньшую избыточность, чем RAID 2, большинство дисков которого нужны для определения неисправного разряда.
Благодаря разбиению данных на блоки RAID 3 имеет высокую производительность. При считывании информации не производится обращения к диску с контрольными суммами (в случае отсутствия сбоя), что происходит всякий раз при операции записи. Поскольку при каждой операции ввода/вывода производится обращение практически ко всем дискам массива, одновременная обработка нескольких запросов невозможна.
Этот уровень подходит для приложений с файлами большого объема и малой частотой обращений (в основном это сфера мультимедиа). Использование только одного диска для хранения контрольной информации объясняет тот факт, что коэффициент использования дискового пространства достаточно высок (и как следствие этого - относительно низкая стоимость). Кроме того, достоинством RAID 3 является незначительное снижение производительности при сбое и быстрое восстановление информации, недостатком – сложность реализации.
RAID 4 – отказоустойчивый массив независимых дисков с общим диском контроля четности, во многом схож с уровнем RAID 3. Поток данных разделяется не на уровне байтов, а на уровне блоков, каждый из которых записывается на отдельный диск. После записи группы блоков вычисляется контрольная сумма, которая записывается на выделенный для этого диск. Благодаря большему, чем у RAID 3, размеру блока возможно одновременное выполнение нескольких операций чтения. RAID 4 повышает производительность передачи файлов малого объема (за счет распараллеливания операции считывания). Но поскольку при записи должна изменяться контрольная сумма на выделенном диске, одновременное выполнение операций невозможно. Этот уровень имеет все недостатки RAID 3 и не обеспечивает преимущества в скорости при передаче данных большого объема. Схема хранения разрабатывалась для приложений, в которых данные изначально разбиты на небольшие блоки, поэтому нет необходимости разбивать их дополнительно.
RAID 4 – неплохое решение
для файл-серверов, информация с
которых в основном
RAID 5– отказоустойчивый массив независимых дисков с распределением контрольных сумм (массив с вращающейся четностью). Самый распространенный уровень. Блоки данных и контрольные суммы циклически записываются на все диски массива, отсутствует выделенный диск для хранения информации о четности: нет асимметричности конфигурации дисков. В случае RAID 5 все диски массива имеют одинаковый размер, но один из них невидим для операционной системы.
Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor, получить в результате недостающий операнд. Например: a xor b = c (где a, b, c — три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b: c xor b = a. Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e. Если отказывает c тогда e встаёт на его место и проведя xor в результате получаем c: a xor b xor e xor d = c. Этот метод по сути обеспечивает отказоустойчивость RAID 5.
Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в RAID. Например, если 3 диска имеют размер 1 Гб, то фактически размер массива составляет 2 Гб, а 1 Гб отводится на контрольную информацию. В случае добавления четвертого диска операционная система будет видеть 3 Гб, 1 Гб предназначен для хранения контрольных сумм.
Самый большой недостаток уровней RAID от 2-го до 4-го – это наличие отдельного (физического) диска, хранящего информацию о четности. Операции считывания не требуют обращения к этому диску, и, как следствие, скорость их выполнения достаточно высока, но при каждой операции записи на нем изменяется информация, поэтому схемы RAID 2-4 не позволяют проводить параллельные операции записи RAID 5 лишен этого недостатка, так как контрольные суммы записываются на все диски массива, что делает возможным выполнение нескольких операций считывания или записи одновременно.
Грамотная реализация этого уровня в случае массива из N дисков позволяет одновременно обрабатывать N/2 блоков данных. RAID 5 имеет достаточно высокую скорость записи-считывания (скорость чтения ниже, чем у RAID 4) и малую избыточность, т.е. он экономичен. Надо отметить, что реализация уровня RAID 5 сложна, как и восстановление информации при сбое. Тем не менее это лучший вариант для Web-серверов и серверов баз данных.
В 1996 г. Саведж и Вилкс предложили AFRAID - часто избыточный массив независимых дисков (A Frequently Redundant Array of Independent Disks). Эта архитектура в некоторой степени приносит отказоустойчивость в жертву быстродействию. Делая попытку компенсировать проблему малой записи, характерную для массивов RAID 5-го уровня. Если диск, предназначенный для записи четности, занят, то ее запись откладывается. Теоретически доказано, что 25% уменьшение отказоустойчивости может увеличить быстродействие на 97%. AFRAID фактически изменяет модель отказов массивов устойчивых к одиночным неисправностям, поскольку кодовое слово, которое не имеет обновленной четности, восприимчиво к отказам дисков.
Следует также упомянуть достаточно популярный способ быстрого восстановления RAID - использование свободного диска (spare). При отказе одного из дисков массива, RAID может быть восстановлен с использованием свободного диска вместо вышедшего из строя. Основной особенностью такой реализации есть то, что система переходит в свое предыдущее (отказоустойчивое состояние без внешнего вмешательства). При использовании архитектуры распределения свободного диска, логические блоки диска распределяются физически по всем дискам массива, снимая необходимость перестройки массива при отказе диска.
Для того чтобы избежать проблемы восстановления, характерной для классических уровней RAID, используется также архитектура, которая носит название parity declustering (распределение четности). Она предполагает размещение меньшего количества логических дисков с большим объемом на физические диски меньшего объема, но большего количества. При использовании этой технологии время реакции системы на запрос во время реконструкции улучшается более чем вдвое, а время реконструкции - значительно уменьшается.
RAID 6 – это отказоустойчивый массив независимых дисков с распределением контрольных сумм, вычисленных двумя независимыми способами. Этот уровень во многом схож с RAID 5, но наличие двух независимых схем контроля четности позволяет сохранять работоспособность системы при одновременном выходе из строя двух накопителей.
Для вычисления контрольных сумм в RAID 6 используется алгоритм, построенный на основе кода Рида-Саломона. При его выполнении применяются специальные таблицы, или он является итерационным процессом, использующим линейные регистры с обратной связью. Этот уровень имеет очень высокую отказоустойчивость, большую скорость считывания (данные хранятся блоками, нет выделенных дисков для хранения контрольных сумм), но из-за большого объема контрольной информации – низкую скорость записи. Он очень сложен в реализации, характеризуется низким коэффициентом использования дискового пространства (для пятидискового массива он составляет всего 60%, ситуация исправляется с ростом числа накопителей). RAID 6 по многим характеристикам проигрывает другим уровням, поэтому на сегодняшний день не реализован ни одной фирмой, производящей RAID-системы. Все модели RAID 6, которые встречаются на рынке, - небольшие модификации RAID 5.
RAID 7 является зарегистрированной торговой маркой корпорации Storage Computer. Во многом он похож на RAID 4 с возможностью кеширования данных. В состав RAID 7 входит контроллер с встроенным микропроцессором под управлением операционной системы реального времени (SOS). Она позволяет обрабатывать все запросы на передачу данных (как между отдельными дисками, так и между массивом и компьютером) асинхронно и независимо. Блок вычисления контрольных сумм интегрирован с блоком буферизации, для хранения информации о четности используется отдельный диск, который может быть размещен на любом канале. RAID 7 имеет высокую скорость передачи данных и обработки запросов, хорошее масштабирование (при увеличении числа дисков повышается скорость записи). Самым большим недостатком этого уровня является стоимость его реализации.
RAID 10 — зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как в RAID 0. Эта архитектура представляет собой массив типа RAID 0, сегментами которого вместо отдельных дисков являются массивы RAID 1. Соответственно, массив этого уровня должен содержать как минимум 4 диска (и всегда чётное количество). RAID 10 объединяет в себе высокую отказоустойчивость и производительность.
Утверждение, что RAID 10 является самым надёжным вариантом для хранения данных, ошибочно, т.к., несмотря на то, что для данного уровня RAID возможно сохранение целостности данных при выходе из строя половины дисков, необратимое разрушение массива происходит при выходе из строя уже двух дисков, если они находятся в одной зеркальной паре.
Аппаратный RAID-контроллер может поддерживать несколько разных RAID-массивов одновременно, суммарное количество жёстких дисков которых не превышает количество разъёмов для них. При этом контроллер, встроенный в материнскую плату, в настройках BIOS имеет всего два состояния (включён или отключён), поэтому новый жёсткий диск, подключённый в незадействованный разъём контроллера при активированном режиме RAID, может игнорироваться системой, пока он не будет ассоциирован как ещё один RAID-массив состоящий из одного диска. Объединение массивов позволяет создать системы хранения огромной емкости.
В связи с техническими трудностями восстановления информации в случае сбоя RAID-массивы пятого уровня обычно содержат не более 5-6 дисков, их совокупной емкости может не хватить для хранения всей информации, но создание массива массивов решает эту проблему. Кроме того, комбинирование RAID-уровней позволяет использовать их преимущества и сглаживать недостатки. Обычно соединение устроено таким образом, что сервер работает с высокопроизводительным RAID-массивом, а низкопроизводительные используются для обеспечения сохранности данных.
Информация о работе Обеспечение отказоустойчивости файловых систем