RAID-массивы — надежность и производительность
RAID (Redundant Arrays of Independent Discs) — избыточный массив независимых дисков, обеспечивающий отказоустойчивость и повышение производительности. Часть диска отводится для служебных целей и недоступна пользователю. Диски могут работать в параллельном либо независимом режиме. При параллельном доступе диски разбиваются на сектора. Информация записывается и считывается с этих секторов одновременно с нескольких дисков. Эта система хорошо работает, если количество записываемых данных больше размера блока. То есть если у вас RAID массив из 4 дисков, то и работать он будет в 4 раза быстрее.
При независимом доступе информация будет записываться на 1 диск, т.е. скорость чтения/записи останется, как и у 1 диска. Помимо этого RAID массивы различаются способом размещения избыточной информации, которая либо храниться на специально отведенном диске, либо перемещается между всеми.
RAID массив может иметь от 0 до 5 уровней. Но встречаются и фирменные уровни RAID 6 RAID7.
RAID 0 – не является избыточным массивом и соответственно не обеспечивает должной надежности. При создании такого массива информация разбивается на блоки и записывается на несколько дисков, что обеспечивает высокую скорость работы.
RAID 1 – это массив со 100% избыточностью. Данные с одного диска копируются на другой (другие) 1в1. При потере информации с одного диска ее всегда можно восстановить за счет другого, чем и обуславливается его надежность. Данные могут считываться сразу с нескольких дисков, что дает массиву высокую производительность.
RAID 2 – данные записываются словами. Длины слова равняется количеству дисков. Слова записываются на диск побитно, т.е. 1бит на 1 диск 2бит на 2 диск... Для каждого слова вычисляется код коррекции ошибок (ECC),который храниться на отдельных дисках. Число дисков равно числу бит в контрольном слове. Каждый бит этого слова также записывается на отдельный диск. Как расчищать количество дисков для контрольных слов? Берете размер слова, например 5, в 2с/с 101 количество дисков равно длине двоичной записи, т.е. 3 диска. Слово получается путем кода Хэмминга.
RAID 2 позволяет исправлять на лету ошибки он является самым избыточным из всех, но популярен в связи со сложностью организации и низкой скорости работы.
RAID 3 – при записи информация разбивается на байты и записывается одновременно на все диски кроме одного, который служит для хранения контрольных сумм. Если происходит ошибка, то информацию можно восстановить как с других дисков, так и из контрольной суммы. RAID 3 имеет более низкую избыточность, чем RAID 2 и незначительное снижение производительности при сбое. К минусам можно отнести невозможность обработки нескольких запросов.
RAID 4 – работает, как и RAID 3,но имеет значительно больший размер блока для которого вычисляется контрольная сумма. После записи группы блоков, также вычисляется контрольная сумма, которая записывается на отдельный диск. Данная система хороша при отдаче данных т.к. по сравнению с RAID 3 возможна обработка нескольких запросов. Но скорость записи намного ниже т.к. должна вычисляться контрольная сумма.
RAID 5 – в отличии от RAID 2,3,4 не нуждается в отдельных дисках для записи контрольных сумм. Все диски RAID 5 имеют одинаковый размер, но общая ёмкость снижается на размер одного диска и отводиться под контрольные суммы. RAID 5 также как и RAID 4 имеет большой размер блоков, т.е. может обрабатывать несколько запросов одновременно. Благодаря распределению контрольных сумм между всеми можно одновременно производить несколько операций записи или считывания.
Для создания таких массивов требуется несколько дисков и RAID контроллер. Контрольные в первую очередь разделяют на SCSI (предназначены для серверов) и IDE (для рабочих станций).При использовании таких массивов также встает вопрос о многоканальность. При использовании SCSI пропускная способность зависит от пропускной способности подключенных дисков. IDE изначально не дает подключить к одному каналу более 2 дисков, но и одновременный доступ возможен только к одному из них, что не позволяет обеспечить параллельность работы. Поэтому для IDE 1 канал не допустим. IDE обеспечивает работу 1 и 2 уровней, но встречаются исключения, поддерживающие 5 уровень. В то время как SCSI поддерживает все основные, а некоторые и фирменные уровни.
Основные задачи RAID массивов - надежность хранения данных. Также они помогают защититься от сбоев благодаря возможности горячей замены сломавшегося диска.