ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5244
Скачиваний: 8
276 Глава 5. Память
стоимости и надежности ситуация улучшается, то разрыв в производительности
между МД и ядром ВМ постоянно растет. Так, при удвоении быстродействия про-
цессоров примерно каждые два года для МД такое удвоение было достигнуто лишь
спустя десять лет. Ясно, что уже с самого начала использования подсистем памяти
на базе МД не прекращаются попытки улучшить их характеристики. Одно из наибо-
лее интересных и универсальных усовершенствований было предложено в 1987 году
учеными университета Беркли (Калифорния) [179]. Проект известен под аббре-
виатурой RAID (Redundant Array of Independent (or Inexpensive) Disks) —
массив
независимых (или недорогих) дисков с избыточностью.
В основе концепции RAID
лежит переход от одного физического МД большой емкости к массиву недорогих,
независимо и параллельно работающих физических дисковых ЗУ, рассматривае-
мых операционной системой как одно большое логическое дисковое запоминаю-
щее устройство. Такой подход позволяет повысить производительность дисковой
памяти за счет возможности параллельного обслуживания запросов на считыва-
ние и запись, при условии, что данные находятся на разных дисках. Повышенная
надежность достигается тем, что в массиве дисков хранится избыточная информа-
ция, позволяющая обнаружить и исправить возможные ошибки. На период, когда
концепция RAID была впервые предложена, определенный выигрыш достигался
и в плане стоимости. В настоящее время, с развитием технологии производства
МД, утверждение об экономичности массивов RAID становится проблематичным,
что, однако, вполне компенсируется их повышенными быстродействием и отказо-
устойчивостью.
В [179] рассмотрены пять схем организации данных и способов введения избы-
точности, названные авторами уровнями RAID: RAID 1, RAID 2,..., RAID 5. В на-
стоящее время производители RAID-систем, объединившиеся в ассоциацию RAB
(RAID Advisory Board), договорились о единой классификации RAID, включаю-
щей в себя шесть уровней (добавлен уровень RAID 0). Известны также еще не-
сколько схем RAID, не включенных в эту классификацию, поскольку по сути они
представляют собой различные комбинации стандартных уровней. Хотя ни одна
из схем массива МД не может быть признана идеальной для всех случаев, каждая
из них позволяет существенно улучшить какой-то из показателей (производитель-
ность, отказоустойчивость) либо добиться наиболее подходящего сочетания этих
показателей. Для всех уровней RAID характерны три общих свойства:
• RAID представляет собой набор физических дисковых ЗУ, управляемых опе-
рационной системой и рассматриваемых как один логический диск;
• данные распределены по физическим дискам массива;
• избыточное дисковое пространство используется для хранения дополнитель-
ной информации, гарантирующей восстановление данных в случае отказа диска.
Повышение производительности дисковой подсистемы
Повышение производительности дисковой подсистемы в RAID достигается с по-
мощью приема, называемого
расслоением или расщеплением
(striping). В его осно-
ве лежит разбиение данных и дискового пространства на сегменты, так называе-
мые
полосы
(strip — узкая полоса). Полосы распределяются по различным дискам
массива, в соответствии с определенной системой. Это позволяет производить па-
Внешняя память 2 7 7
раллельное считывание или запись сразу нескольких полос, если они расположе-
ны на разных дисках. В идеальном случае производительность дисковой подсис-
темы может быть увеличена в число раз, равное количеству дисков в массиве.
Размер (ширина) полосы выбирается исходя из особенностей каждого уровня RAID
и может быть равен биту, байту, размеру физического сектора МД (обычно
512 байт) или размеру дорожки.
Чаще всего логически последовательные полосы распределяются по последо-
вательным дискам массива. Так, в
n
-дисковом массиве
п
первых логических полос
физически расположены как первые полосы на каждом из
п
дисков, следующие
п
полос — как вторые полосы на каждом физическом диске и т. д. Набор логичес-
ки последовательных полос, одинаково расположенных на каждом ЗУ
называют
поясом
(stripe — широкая полоса).
Как уже упоминалось, минимальный объем информации, считываемый с МД
или записываемый на него за один раз, равен размеру физического сектора диска.
Это приводит к определенным проблемам при меньшей ширине полосы, которые
RAID обычно решаются за счет усложнения контроллера МД.
Повышение отказоустойчивости дисковой подсистемы
Одной из целей концепции RAID была возможность обнаружения и коррекции
ошибок, возникающих при отказах дисков или в результате сбоев. Достигается это
за счет избыточного дискового пространства, которое задействуется для хранения
дополнительной информации, позволяющей восстановить искаженные или уте-
рянные данные. В RAID предусмотрены три вида такой информации:
• дублирование;
• код Хэмминга;
• биты паритета.
Первый из вариантов заключается в дублировании всех данных, при условии,
что экземпляры одних и тех же данных расположены на разных дисках массива.
Это позволяет при отказе одного из дисков воспользоваться соответствующей ин-
формацией, хранящейся на исправных МД. В принципе распределение информа-
ции по дискам массива может быть произвольным, но для сокращения издержек,
связанных с поиском копии, обычно применяется разбиение массива на пары МД,
где в каждой паре дисков информация идентична и одинаково расположена. При та-
ком дублировании для управления парой дисков может использоваться общий или
раздельные контроллеры. Избыточность дискового массива здесь составляет 100%.
Второй способ формирования корректирующей информации основан на вы-
числении кода Хэмминга для каждой группы полос, одинаково расположенных на
всех дисках массива (пояса). Корректирующие биты хранятся на специально вы-
деленных для этой цели дополнительных дисках (по одному диску на каждый бит).
Гак, для массива из десяти МД требуются четыре таких дополнительных диска,
и избыточность в данном случае близка к 30%.
В третьем случае вместо кода Хэмминга для каждого набора полос, располо-
женных в идентичной позиции на всех дисках массива, вычисляется контрольная
полоса, состоящая из битов паритета. В ней значение отдельного бита формирует-
ся как сумма по модулю два для одноименных битов во всех контролируемых по-
2 7 8 Глава 5. Память
Таким образом, содержимое каждой полосы данных на любом диске массива
может быть восстановлено по содержимому соответствующих полос на остальных
дисках массива. Избыточность при таком способе в среднем близка к 20%.
RAID уровня О
RAID уровня 0, строго говоря, не является полноценным членом семейства RAID,
поскольку данная схема не содержит избыточности и нацелена только на повыше-
ние производительности в ущерб надежности.
В основе RAID 0 лежит расслоение данных. Полосы распределены по всем дис-
кам массива дисковых ЗУ по циклической схеме (рис. 5.39). Преимущество такого
распределения в том, что если требуется записать или прочитать логически по-
следовательные полосы, то несколько таких полос (вплоть до
п)
могут обрабаты-
ваться параллельно, за счет чего существенно снижается общее время ввода/вы-
вода. Ширина полос в RAID 0 варьируется в зависимости от применения, но
в любом случае она не менее размера физического сектора МД.
Рис. 5.39. RAID уровня О
RAID 0 обеспечивает наиболее эффективное использование дискового про-
странства и максимальную производительность дисковой подсистемы при мини-
мальных затратах и простоте реализации. Недостатком является незащищенность
данных — отказ одного из дисков ведет к разрушению целостности данных во всем
массиве. Тем не менее существует ряд приложений, где производительность и ем-
кость дисковой системы намного важнее возможного снижения надежности. К та-
ким можно отнести задачи, оперирующие большими файлами данных, в основном
лосах. Для хранения полос паритета требуется только один дополнительный диск.
В случае отказа какого-либо из дисков массива производится обращение к диску
паритета, и данные восстанавливаются по битам паритета и данным от остальных
дисков массива. Реконструкция данных достаточно проста. Рассмотрим массив из
пяти дисковых ЗУ, где диски
X0-X3
содержат данные, а
X4 —
это диск паритета.
Паритет для
i
-гo бита вычисляется как
Предположим, что дисковод
X1
отказал. Если мы добавим
к обеим
частям предыдущего выражения, то получим:
Внешняя память 2 7 9
в режиме считывания информации (библиотеки изображений, большие таблицы
и т. п.), и где загрузка информации в основную память должна производиться как
можно быстрее. Учитывая отсутствие в RAID G средств по защите данных, жела-
тельно хранить дубликаты файлов на другом, более надежном носителе информа-
ции, например на магнитной ленте.
RAID уровня 1
В RAID 1 избыточность достигается с помощью дублирования данных. В принци-
пе исходные данные и их копии могут размещаться по дисковому массиву произ-
вольно, главное чтобы они находились на разных дисках. В плане быстродействия
и простоты реализации выгоднее, когда данные и копии располагаются идентично
на одинаковых дисках. Рисунок 5.40 показывает, что, как и в RAID 0, здесь имеет
место разбиение данных на полосы. Однако в этом случае каждая логическая по-
лоса отображается на два отдельных физических диска, так что каждый диск в мас-
сиве имеет так называемый «зеркальный» диск, содержащий идентичные данные.
Для управления каждой парой дисков может быть использован общий контрол-
лер, тогда данные сначала записываются на основной диск, а затем. — на «зеркаль-
ный» («зеркалирование»). Более эффективно применение самостоятельных кон-
троллеров для каждого диска, что позволяет производить одновременную запись
на оба диска.
Запись данных
Чтение данных
Рис. 5.40. RAID уровня 1
Запрос на чтение может быть обслужен тем из двух дисков, которому в данный
момент требуется меньшее время поиска и меньшая задержка вращения. Запрос
на запись требует, чтобы были обновлены обе соответствующие полосы, но это
выполнимо и параллельно, причем задержка определяется тем диском, которому
нужны большие время поиска и задержка вращения. В то же время у RAID 1 нет
дополнительных затрат времени на вычисление вспомогательной корректирую-
щей информации. Когда одно дисковое ЗУ отказывает, данные могут быть просто
взяты со второго.
Принципиальный изъян RAID 1
—
высокая стоимость: требуется вдвое боль-
ше физического дискового пространства. По этой причине использование RAID 1
обычно ограничивают хранением загрузочных разделов, системного программного
2 8 0 Глава 5. Память
обеспечения и данных, а также других особенно критичных файлов: RAID 1 обес-
печивает резервное копирование всех данных, так что в случае отказа диска кри-
тическая информация доступна практически немедленно.
RAID уровня 2
В системах RAID 2 используется техника параллельного доступа, где в выполне-
нии каждого запроса на В/ВЫВ одновременно участвуют все диски. Обычно шпин-
дели всех дисков синхронизированы так, что головки каждого ЗУ в каждый мо-
мент времени находятся в одинаковых позициях. Данные разбиваются на полосы
длиной в 1 бит и распределены по дискам массива таким образом, что полное ма-
шинное слово представляется поясом, то есть число дисков равно длине машинного
слова в битах. Для каждого слова вычисляется корректирующий код (обычно это
код Хэмминга, способный корректировать одиночные и обнаруживать двойные ошиб-
ки), который, также побитово, хранится на дополнительных дисках (рис. 5.41). На-
пример, для массива, ориентированного на 32-разрядные слова (32 основных диска)
требуется семь дополнительных дисковых ЗУ (корректирующий код состоит из
7 разрядов).
При записи вычисляется корректирующий код, который заносится на отведен-
ные для него диски. При каждом чтении производится доступ ко всем дискам мас-
сива, включая дополнительные. Считанные данные вместе с корректирующим
кодом подаются на контроллер дискового массива, где происходит повторное вы-
числение корректирующего кода и его сравнение с хранившимся на избыточных
дисках. Если присутствует одиночная ошибка, контроллер способен ее мгновенно
распознать и исправить, так что время считывания не увеличивается.
RAID 2 позволяет достичь высокой скорости В/ВЫВ при работе с большими
последовательными записями, но становится неэффективным при обслуживании
записей небольшой длины. Основное преимущество RAID 2 состоит в высокой
степени защиты информации, однако предлагаемый в этой схеме метод коррекции
уже встроен в каждое из современных дисковых ЗУ.
Рис. 5.41. RAID уровня 2
Корректирующие разряды вычисляются для каждого сектора диска и хранятся
в соответствующем поле этих секторов. В таких условиях использование несколь-