Надежность информационных систем. Классификация ИС по показателям субхарактеристик надежности. Средства обеспечения надежности ИС, страница 14

Независимо от способа реализации дисковые массивы позволяют выполнять следующие операции с дисковой памятью: расслоение (stripping), зеркалирование (mirroring), контроль по четности (parity) и т. д.

В дополнение к этим операциям аппаратно реализованные дисковые массивы поддерживают горячий свопинг, что позволяет проводить замены дефектных дисков без остановки системы.

Расслоение – операция разбиения логического тома на идентичные слои (stripes), которые физически содержатся на разных дисках, причем чередование слоев разных физических дисков на логическом томе строго фиксировано: на физическом диске #1 содержатся все первые слои записей логического диска (и только они), на физическом диске #2 – все вторые слои, на диске #3 – третьи и т. д. На рисунке 5 показан пример простого (не устойчивого к отказам) расслоения данных по трем физическим дискам. Размер слоя варьируется в зависимости от фирмы-производителя и от модели контроллера массива или программного обеспечения и кратен размеру блока операционной системы. Обычно коэффициент кратности составляет 32, что при размере блока 512 байт дает размер порции данных (data chunk) 16К. Запись порций данных на физические диски производится параллельно, что значительно повышает производительность системы.

Рис. 5. Базовый уровень RAID-0 - расслоение данных

Физические диски, сконфигурированные в массив, обычно называют RAID-массивом (RAID – Redundant Array of Inexpensive Disks – избыточный массив недорогих дисков). Метод расслоения логического тома определяет так называемый уровень RAID (RAID – LEVEL). Сами уровни и некоторые стандарты их реализации поддерживаются Консультативным Советом RAID (RAID Advisory Board), объединяющем ведущих производителей аппаратных средств. В настоящее время используются пять уровней RAID, которые кратко описаны ниже.

Уровень RAID-0 – расслоенный массив без избыточности (Non-Redundant Stripped Array). Базовый уровень RAID (рис. 5), обеспечивающий наивысшую производительность, наименьшие требования к памяти, но не обеспечивающий устойчивость к отказам.

Уровень RAID-1 – зеркалированный массив (Mirrored Array). Этот уровень требует удвоения объема дисковой памяти (рис. 6), но обеспечивает устойчивость к отказам. Большинство контроллеров дисковых массивов позволяет разнести базовые диски и их зеркала по разным шинам SCSI, что гарантирует сохранение данных даже при отказе целой дисковой стойки. На уровне RAID-1 одна логическая запись порождает две параллельных физических записи, поэтому производительность системы не увеличивается - за исключением случая использования контроллеров, допускающих параллельное чтение (split-reads).

Рис. 6. Уровень RAID-1 – зеркалирование дисков

Уровень RAID-2 – параллельный массив с кодами коррекции ошибок (Parallel Array with ECC). Этот уровень требует организации расслоения данных, защищенного кодами Хемминга коррекции ошибок (ECC – Error Correction Code) – метод, используемый для обнаружения и коррекции ошибок в оперативной памяти. Данные и коды коррекции хранятся на разных физических дисках. Из-за трудностей реализации практически не используется.

Уровень RAID-3 – параллельный массив с контролем четности (Parallel Array with Parity). Этот уровень требует вычисления контрольной суммы (parity) для каждой порции данных (data chunk), хранения контрольных данных на отдельном физическом диске и сравнения четности данных и контрольных битов с использованием параллельного чтения (parallel access). Для выполнения этих требований необходимо обеспечить синхронизацию вращения дисков, что приводит к удорожанию контроллеров и препятствует широкому распространению метода.

Уровень RAID-4. В настоящее время не используется, заменен уровнем RAID-5.

Уровень RAID-5 – расслоенный массив с распределенным контролем четности (Striping Array with Distributed Parity). Этот уровень требует применения техники расслоения не только к данным, но и контрольным суммам, при этом массив должен содержать не менее трех физических дисков. Если массив содержит N дисков, то каждая порция данных a, записываемая на диск разбивается на N-1 равновеликих частей a1, a2, ..., aN-1, которые записываются в один и тот же слой, но на разные физические диски. Для записи в целом вычисляется побитовая контрольная сумма aparity = a1Åa2Å...ÅaN-1 которая записывается в тот же слой на последнем диске (рис. 7) и по которой можно однозначно восстановить любую из частей в случае ее потери.