Смагин М.С. Вычислительные машины, системы и сети (1088253), страница 13
Текст из файла (страница 13)
Современные системы типа RAID 1 позволяют выполнять замену повреждённого винчестера без выключения всейсистемы в целом. Следует, однако, отметить, что в массив типа RAID 1 необходимо объединять жесткие диски одинакового объёма. При объединении вмассив RAID 1 нескольких винчестеров разного объема, пользователю будетдоступен объем, равный объему самого маленького из жестких дисков.883. RAID-2Массив данного типа должен состоять из нечётного количества дисков,как минимум из трёх. В массивах этого типа диски делятся на две группы, –для хранения данных и для хранения кодов коррекции ошибок, по которымможно восстановить данные, если один из винчестеров выйдет из строя.
Вычисление этих кодов осуществляется по так называемому алгоритму Хэмминга, а сами эти коды называются кодами Хэмминга.Приведённый ниже рисунок поясняет структуру массива типа RAID-2.Блоки данных с корректирующими кодами Хэмминга обозначены как HX(N).Рис.40 Хранение данных в массиве RAID-2Алгоритм формирования кодов Хэмминга сравнительно прост. С однойстороны это значит, что, в случае повреждения одного из жёстких дисков,данные будут восстанавливаться «на лету», и система будет продолжатьфункционировать без понижения производительности при выполнении пользовательских задач. С другой стороны, значительную часть объёма RAIDмассива придётся отвести под хранение корректирующих кодов.
Так, еслидля хранения данных используются N дисков, то для хранения кодов ошибокдолжно быть использовано log2N дисков. Например, для массива из десятидисков потребуется 4 диска с кодами Хэмминга. Поскольку данный способпо своим возможностям практически не отличается от RAID-1, он не получилбольшого распространения.894. RAID-3Массивы такого типа тоже должны состоять не менее чем из трёх дисков. Записываемые данные в этом случае разбиваются на блоки размером в 1байт и распределяются по всем дискам, кроме одного, который и используется для хранения кодов коррекции ошибок.
Для вычисления кодов коррекциив массивах уровня RAID-3 используется алгоритм контроля и коррекцииошибок, основанный на использовании логической операции XOR. Сокращённо он обозначаемый XOR ECC.Приведённый ниже рисунок поясняет структуру массива типа RAID-3.Блоки данных с кодами коррекции, рассчитанными по алгоритму XOR ECC,обозначены как XX(N).Рис.41 Хранение данных в массиве RAID-3Корректирующие коды, получаемые по алгоритму XOR ECC, обладаютменьшей избыточностью, что позволяет использовать меньше жёстких дисков для их хранения.
Так, при объёдинении в массив N дисков в распоряжении пользователя будет ёмкость, равная суммарной ёмкости N-1 винчестеров. Зато расчёт кодовых значений гораздо сложнее, и это не позволяет организовать коррекцию ошибок «на лету». Кроме того, поскольку корректирующие коды хранятся на одном диске, что не даёт организовать несколькопараллельных операций записи.905. RAID-4Похож на RAID-3: для хранения корректирующих кодов здесь такжеиспользуется единственный накопитель. Отличие в том, что данные разбиваются не на байты, а на блоки большего объёма.
Подобно RAID-2, он не получил большого распространения из-за сходства характеристик с предшественником.6. RAID-5Отличается от предыдущих трёх тем, что не предусматривает специального винчестера для хранения кодов коррекции ошибок, – данные и кодыкоррекции циклически записываются на все диски массива. Поскольку блокис корректирующими кодами распределены между несколькими дисками,можно одновременно обращаться к нескольким таким блокам, что позволяетпараллельно выполнять несколько операций записи.Приведённый ниже рисунок поясняет структуру массива типа RAID-5.Блоки данных с кодами коррекции обозначены как СX(N).Рис.42 Хранение данных в массиве RAID-57.
RAID-6Схож по организации с RAID-5, но для повышения надёжности хранения данных в массивах этого уровня одновременно используются два разныхалгоритма для генерации корректирующих кодов. Для каждой группы из нескольких блоков данных по разным алгоритмам создаётся два блока коррек91тирующих кодов. Блоки корректирующих кодов сохраняются на разных дисках, отдельно от соответствующих им исходных блоков данных.Приведённый ниже рисунок поясняет структуру массива типа RAID-6.Блоки с корректирующими кодами обозначены как СX(N) и FX(N).Рис.43 Хранение данных в массиве RAID-6Существуют также уровень RAID-7, но он не получил большого распространения.Кроме того, уровни RAID могут комбинироваться между собой.
Наиболее распространённая комбинация − RAID 0+1. Ее ещё называют RAID-10.Такой RAID-массив представляет собой два массива типа RAID-1 объединённые в массив RAID-0. Такая организация позволяет обеспечить высокуюскорость доступа к данным и, одновременно, высокую надёжность их хранения.
Недостатком RAID-10 является высокая аппаратная избыточность. Также весьма распространены массивы типа RAID-50.Дальнейшим развитием технологии RAID стала технология MatrixRAID. Суть её в том, что RAID-контроллеры оперируют уже не жесткимидисками, а выделенными на них разделами. То есть, в рамках одной дисковойгруппы может быть создано несколько логических дисков, каждый из которых может быть организован в соответствии с различными уровнями RAID.Это позволяет на одной группе винчестеров создавать как тома с высокойнадёжностью хранения, так и с высокой скоростью чтения-записи.92Рис.44 Matrix-RAIDRAID-массивы могут быть построены как на основе специализированных аппаратных котроллеров, в этом случае RAID называется аппаратным,так и без них.
В втором случае RAID называется программным, функцииуправления RAID взваливаются на операционную систему, а для вычислениякорректирующих кодов используется центральный процессор. В операционной системе Windows поддержка программного RAID началась с Windows2000. Операционная система Windows 7 поддерживает программное созданиеRAID-массивов уровня RAID-0, RAID-1 и RAID-5.
Операционные системысемейства Linux поддерживают более широкий список стандартов – RAID-0,RAID-1, RAID-4, RAID-5, RAID-6 и их возможные комбинации, такие какRAID-10 или RAID-50.Сведём характеристики различных уровней RAID в единую таблицу.Введём для показателей скорости чтения и скорости записи данных значения«низкая», «стандартная» и «высокая». Под низким значением будем понимать скорость существенно более низкую, чем позволяют технические возможности используемых жёстких дисков. Под стандартным значением будемпонимать скорость, соответствующую техническим возможностям используемых винчестеров.
Под высоким значением будет понимать скорость, превышающую техническую скорость используемых жёстких дисков.93Кроме того, введём такой показатель, как «коэффициент полезной ёмкости», который будет означать долю от суммарного объёма жёстких дисков,объединяемых в RAID-массив, которая окажется в распоряжении пользователя.
Иными словами, чтобы узнать доступный пользователю объём создаваемого RAID-массива, необходимо суммарную ёмкость жёстких дисков умножить на коэффициент полезной ёмкости.Следует подчеркнуть, что указанные характеристики RAID-массивовбудут соблюдаться в тех случаях, когда жёсткие диски, объединяемые в массив, будут иметь одинаковый объём и характеристики доступа к данным.Кроме того, введём такой показатель как «коэффициент надёжности»,под которым будем понимать минимальное количество жёстких дисков массива, которые должны выйти из строя, чтобы вывести из строя массив в целом. Если свести все указанные характеристики в таблицу, она примет следующий вид:КоэффициентУровеньполезнойRAIDёмкости*RAID-0RAID-1RAID-2RAID-3RAID-4RAID-5RAID-6RAID10RAID5011nmlog 2 m + mn −1nmlog 2 m + mn −1nn−2n0,50 ,5 ⋅ (n −1)nРабочаяскоростьчтениявысокаяРабочаяскоростьзаписиСкоростьчтения присбоеСкоростьзаписи присбоевысокаяКоэффициентнадёжности**ВЫХОД ИЗ СТРОЯСтандартвысокая стандартная стандартнаяная1высокаявысокаявысокаяВысокая2высокаявысокаянизкаяНизкая2высокаявысокаявысокаяВысокая2высокаявысокаявысокаяВысокая2высокаявысокаявысокаяВысокая3высокаявысокаявысокаяВысокая2высокаявысокаявысокаяВысокая4n* n – общее число жёстких дисков, m – число жёстких дисков в полезномобъёме** n – общее число жёстких дисков94Лекция №7Флеш-памятьПоследним объектом нашего рассмотрения флеш-носители.