На этом уроке мы с вами узнаем, что собой представляют из себя Raid-массивы, какие существуют способы реализации таких массивов, а также какие бывают разновидности Raid-массивов.
Как вы знаете, обычно в компьютере находится один жёсткий диск. Но не всегда пользователю хватает его объёма памяти, поэтому в компьютер могут встраиваться дополнительные жёсткие диски.
Для организации слаженной работы используются Raid-массивы, но только в том случае, если все диски, встроенные в компьютер, имеют одинаковые характеристики: объём, производителя, способ подключения и так далее.
Raid-массив – это избыточный массив независимых дисков.
С помощью таких массивов обеспечивается наиболее высокая скорость записи или чтения данных, возможность полного их восстановления и замены дисков, которые вышли из строя, в режиме непрерывной работы остальных дисков массива (без их отключения).
Организация такого массива происходит за счёт подключения жёстких дисков компьютера к Raid-котроллеру.
Raid-контроллер объединяет и рассматривает диски как единый логический носитель информации. При записи информации происходит её дублирование и сохранение одновременно на нескольких дисках, поэтому если из строя выйдет один диск, то потери данных не произойдёт.
Реализовать такие массивы можно двумя способами: аппаратным и программным.
Аппаратный массив состоит из нескольких жёстких дисков, а управление ими происходит при помощи специальной платы контроллера Raid-массива.
Программный массив реализуется при помощи специальной программы – драйвера. Реализация такого массива является самым недорогим решением, так как не требуется использовать дорогие платы контроллеров дисков и шасси для горячей замены. С помощью шасси для горячей замены можно удалить жёсткий диск без отключения компьютера.
В программный массив организуются дисковые разделы, которые могут занимать как весь диск, так и его часть.
Давайте сравним аппаратный и программный дисковые массивы. Учитывая скорость современных процессоров, производительность программных Raid-массивов может превосходить производительность аппаратных. Но в то же время программные Raid-массивы менее надёжны, чем аппаратные.
Помимо обеспечения большей скорости чтения, записи и надёжности хранения данных на жёстких дисках, программный Raid-массив может предложить ещё некоторые дополнительные возможности. К самым важным относятся следующие:
· Реализация массива полностью происходит в ядре системы.
· Для перестройки массива, которая осуществляется в фоновом режиме, используются свободные ресурсы системы.
· Поддержка дисков с горячей заменой.
Работа дисковых массивов реализуется на нескольких уровнях и предусматривает разные технические решения. Операционные системы поддерживают несколько уровней Raid-массивов.
Давайте рассмотрим их.
Калифорнийский университет в Беркли представил 5 уровней (с 1 по 5) спецификации Raid, которые были приняты как стандарт.
В современных же Raid-контроллерах предоставлены дополнительные уровни спецификации Raid: 0, 6, 10, 01, 50, 05, 60.
Давайте рассмотрим различные уровни Raid-массивов.
Raid 0 – это дисковый массив повышенной производительности без отказоустойчивости.
Массив Raid 0 – это наиболее производительный, но в то же время наименее защищённый из всех. Для того, чтобы создать такой массив, необходимо наличие как минимум двух дисков. При записи информации в таком массиве данные разбиваются на блоки, количество которых равно количеству дисков.
То есть информация записывается в одинаковых количествах на все диски. Запись и чтение происходят параллельно. Такой способ размещения данных имеет свои плюсы:
· существенное повышение производительности;
· отсутствие избыточности копирования;
· простота реализации.
К минусам же относится то, что при реализации такого массива страдает надёжность. То есть если прекращает работу хотя бы один диск в таком массиве, то происходит потеря всех данных, которые находятся на этом диске.
Также к недостаткам относится неотказоустойчивое решение.
Следующий массив, который мы рассмотрим, Raid 1. Raid 1 – это дисковый массив с дублированием, или зеркалирование. Для того, чтобы создать такой массив, нужно как минимум два жёстких диска. При записи информации данные сохраняются на один диск, а на второй дублируются.
Если один диск прекратит работу, то данные всё равно будут сохранены.
Это происходит за счёт избыточности. Но в то же время нагрузка на оставшийся диск увеличивается. Поэтому при выходе одного из дисков из строя, необходимо принимать меры для восстановления избыточности.
Таким образом, к преимуществам такого массива относятся:
· простота реализации;
· простота восстановления массива в случае отказа (копирование);
· достаточно высокое быстродействие для приложений с большой интенсивностью запросов.
К недостаткам относятся:
· невысокая скорость передачи данных;
· при таком массиве происходит сокращение дискового пространства.
Например, в компьютере находятся 2 жёстких диска, но доступный объём для записи информации будет равен объёму 1 жёсткого диска.
Raid 2. Raid 2 – это отказоустойчивый дисковый массив с использованием кода Хемминга.
Код Хемминга – это самоконтролирующийся и самокорректирующийся код, который построен применительно к двоичной системе и позволяет исправлять одиночную ошибку (ошибка в одном бите) и находить двойную.
Запись информации происходит практически так же, как и в Raid 0, то есть информация равномерно распределяется на установленные жёсткие диски. В Raid 2 под хранение кодов коррекции ошибок отводятся отдельные диски.
При помощи кодов коррекции ошибок в случае выхода какого-либо винчестера из строя, можно восстановить утерянную информацию. Из этого следует, что в массивах Raid 2 диски делятся на 2 группы: для данных и для кодов коррекции ошибок.
Плюсами такого массива являются:
· быстрая коррекция ошибок (так сказать, на лету);
· очень высокая скорость передачи данных больших объёмов;
· при увеличении количества дисков накладные расходы уменьшаются;
· достаточно простая реализация.
К недостаткам относятся:
· высокая стоимость при малом количестве дисков;
· низкая скорость обработки запросов (не подходит для систем, ориентированных на работу последовательных операций с базой данных).
Raid 3 – это отказоустойчивый массив с параллельной передачей данных и дополнительным диском, на который записывается контрольная информация.
При записи поток данных разбивается на блоки на уровне байт и записывается одновременно на все диски массива, кроме того, который выделен под хранение контрольной информации.
При выходе из строя любого диска данные на нём можно восстановить по контрольным данным и данным, которые остались на исправных дисках.
К преимуществам относятся:
· очень высокая скорость передачи данных;
· отказ диска мало влияет на скорость работы массива;
· малые накладные расходы для реализации избыточности.
К недостаткам относятся:
· непростая реализация;
· низкая производительность при большой интенсивности запросов данных небольшого объёма.
Raid 4 – это отказоустойчивый массив независимых дисков с одним диском для хранения контрольных сумм. Raid 4 во многом схож с Raid 3, но отличается от последнего прежде всего значительно большим размером блока записываемых данных, то есть информация разбивается на блоки, а не на байты. После записи группы блоков вычисляется контрольная сумма (как и в Raid 3), которая записывается на специально выделенный для этого диск. Благодаря большему, чем у Raid 3, размеру блока возможно одновременное выполнение нескольких операций чтения.
Raid 4 повышает производительность передачи файлов малого объёма, но в то же время, так как при записи должна вычисляться контрольная сумма на выделенном диске, то одновременное выполнение операций невозможно. Также Raid 4 не обеспечивает преимущества в скорости при передаче данных больших объёмов.
Raid 5 – это отказоустойчивый массив независимых дисков с распределённым хранением контрольных сумм. То есть в Raid 5 запись контрольных сумм происходит на все диски массива, соответственно, отсутствует выделенный диск для хранения информации о контрольных суммах. Для работы этого уровня необходимо как минимум три диска.
Также в Raid 5 появляется возможность параллельности запросов на ввод-вывод, то есть потоки данных с нескольких накопителей массива распараллеливаются. При выходе из строя одного из дисков весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность, диски начинают греться. Для возвращения массива к нормальной работе требуется дополнительный процесс восстановления, который связан с ощутимой потерей производительности и повышенным риском.
Raid 6 – это дисковый массив с чередованием, который использует 2 контрольные суммы, вычисляемые двумя независимыми способами.
Из этого становится ясным, что в Raid 6 вычисляются не 1, а 2 независимые друг от друга контрольные суммы, поэтому даже отказ двух дисков в массиве позволяет сохранить исходные данные. Минимальное количество дисков для создания таких массивов равно 4. Также преимуществом этого уровня является более высокая надёжность, чем в Raid 5.
Raid 10 – это зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как и в Raid 0. То есть архитектура этого уровня представляет собой массив типа Raid 0, но сегментами вместо отдельных дисков, являются массивы Raid 1.
Можно сказать, что такой уровень состоит из слоёв: нижний уровень – это зеркальные пары Raid 1, которые, в свою очередь, объединяются в массив Raid 0. Таким образом для реализации массива этого уровня необходимо как минимум 4 диска. Причём общее количество дисков должно быть всегда чётным. Raid 10 объединяет в себе высокую отказоустойчивость и производительность. Также преимуществом является то, что в случае отказа любого из дисков, его содержимое может быть получено с оставшегося диска зеркальной пары. При отказе большого количества дисков Raid 10 преобразится в Raid 0, количество дисков в котором будет меньше примерно в 2 раза. Такой массив будет ненадёжным, но зато очень быстрым.
Raid 10 – это массив Raid 1, построенный из массивов Raid 0.
Минусом этого массива является низкая отказоустойчивость.
Raid 50 – это массив Raid 0, построенный из массивов Raid 5. То есть в таком массиве происходит комбинация массивов Raid 5, которые объединены в Raid 0.
Но в то же время это нисколько не прибавляет надёжности такому массиву. Такой массив без потери данных переносит отказ лишь 1 диска, а минимально необходимое количество дисков для создания такого массива равно 6. Количество дисков всегда должно быть чётным.
Raid 05 – это массив Raid 5, построенный из массивов Raid 0.
Такая система является быстрой и весьма надёжной, применяется она в основном в виде веб-серверов.
Raid 60 – это массив Raid 0, построенный из массивов Raid 6.
Скорость записи в таком массиве повышается примерно в 2 раза относительно записи в Raid 6. Минимальное количество дисков для создания такого массива равно 8 и должно быть всегда чётным. Информация не теряется при отказе 2 дисков.
Ещё один массив, который мы рассмотрим, – Raid 7. Raid 7 – это отказоустойчивый массив для повышения производительности.
В то же время этот массив не является отдельным уровнем Raid, а является торговой маркой компании Storage Computer Corporation.
К преимуществам относятся:
· очень высокая скорость передачи данных и обработки запросов;
· значительно возросшая скорость чтения данных небольшого объёма;
· отсутствие необходимости в дополнительной передаче данных для вычисления чётности.
К недостаткам относятся следующие:
· собственность одной компании;
· сложность реализации;
· не может обслуживаться пользователем;
· необходимость использования блока бесперебойного питания для предотвращения потери данных из кэш-памяти;
· короткий гарантийный срок.
А сейчас пришла пора подвести итоги урока.
Сегодня мы с вами узнали, что такое Raid-массив и какие существуют способы его реализации. Также более подробно познакомились с основными уровнями Raid-массивов.