- •Лекция 9
- •Комбинированные уровни
- •Программный (software) raid
- •История и развитие raid
- •Архитектура основных уровней raid
- •Raid 0. Дисковый массив без отказоустойчивости (Striped Disk Array without Fault Tolerance)
- •Raid 1. Дисковый массив с дублированием или зеркалка (mirroring)
- •Raid 2. Отказоустойчивый дисковый массив с использованием кода Хемминга (Hamming Code ecc).
- •Raid 3. Отказоустойчивый массив с параллельной передачей данных и четностью (Parallel Transfer Disks with Parity)
- •Raid 4. Отказоустойчивый массив независимых дисков с разделяемым диском четности (Independent Data disks with shared Parity disk)
- •Raid 5. Отказоустойчивый массив независимых дисков с распределенной четностью (Independent Data disks with distributed parity blocks)
- •Raid 6. Отказоустойчивый массив независимых дисков с двумя независимыми распределенными схемами четности (Independent Data disks with two independent distributed parity schemes)
- •Raid 10. Отказоустойчивый массив с дублированием и параллельной обработкой
- •Raid 30. Отказоустойчивый массив с параллельной передачей данных и повышенной производительностью.
- •Raid 50. Отказоустойчивый массив с распределенной четностью и повышенной производительностью
- •Некоторые аспекты реализации raid систем
Комбинированные уровни
Помимо базовых уровней RAID-0 – RAID-5, описанных в стандарте, существуют комбинированные уровни RAID 1+0, RAID 3+0, RAID 5+0, RAID 1+5, которые различные производители интерпретируют каждый по-своему.
Технология RAID-10 (Зеркало на многих дисках — RAID 1+0), которая представляет собой комбинированный способ, при котором данные «расщепляются» (RAID-0) и зеркально копируются (RAID-1) без вычисления контрольных сумм. Обычно две пары «зеркальных» массивов объединяются и образуют один массив RAID-0. Этот способ целесообразно применять при работе с большими файлами.
Технология RAID 5+0 — это чередование томов 5-го уровня. RAID 1+5 – RAID-5 из зеркалированных пар. И так далее.
Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 не добавляет надёжности, но повышает производительность. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков.
Стоит отметить, что количество жестких дисков в комбинированных массивах также изменится. Например для RAID 5+0 используют 6 или 8 жестких дисков, для RAID 1+0 - 4, 6 или 8.
Программный (software) raid
Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux существуют специальные модули ядра, а управлять RAID-устройствами в GNU/Linux можно с помощью утилиты mdadm. Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных RAID-контроллеров, цена которых от $250). С другой стороны, программный RAID использует ресурсы центрального процессора, и в моменты пиковой нагрузки на дисковую систему процессор может значительную часть мощности тратить на обслуживание RAID-устройств.
Ядро GNU/Linux 2.6.28 (последнее из вышедших в 2008 году) поддерживает программные RAID следующих уровней: 0, 1, 4, 5, 6, 10. Реализация позволяет создавать RAID на отдельных разделах дисков.
ОС Windows 2000/XP/2003 поддерживает программный RAID 0, RAID 1 и RAID 5. Более точно, Windows XP Pro поддерживает RAID 0. Поддержка RAID 1 и RAID 5 заблокирована разработчиками, но, тем не менее, может быть включена, путем редактирования системных бинарных файлов ОС. Windows Server 2003 - 0, 1 и 5. Windows XP Home RAID не поддерживает.
В ОС FreeBSD есть несколько реализаций программного RAID. Так, atacontrol, может как полностью строить программный RAID, так и может поддерживать полуаппаратный RAID на таких чипах как ICH5R. Во FreeBSD, начиная с версии 5.0, дисковая подсистема управляется встроенным в ядро механизмом GEOM. GEOM предоставляет модульную дисковую структуру, благодаря которой родились такие модули как gstripe (RAID 0), gmirror (RAID 1), graid3 (RAID 3), gconcat (объединение нескольких дисков в единый дисковый раздел). Так же существуют устаревшие классы ccd (RAID 0, RAID 1) и gvinum (менеджер логических томов vinum). Начиная с FreeBSD 7.0 поддерживается файловая система ZFS в которой можно собирать следующие уровни RAID: 0, 1, 5, 6, а так же комбинируемые уровни.
OpenSolaris и Solaris 10 используют Solaris Volume Manager, который поддерживает RAID-0, RAID-1, RAID-5 и любые их комбинации как 1+0. Поддержка RAID-6 осуществляется в файловой системе ZFS.
В таблице 9.1 сведены основные характеристики для некоторых конфигураций избыточных дисковых массивов.
Таблица 9.1 - Характеристики уровней RAID
Конфигурация RAID |
Избыточность |
Отказоустойчивость |
Скорость чтения |
Скорость записи |
RAID-0 |
Нет |
Нет |
Повышенная |
Повышенная |
RAID-1 |
50 % |
Есть |
Повышенная |
Пониженная (в варианте без дуплексирования) |
RAID-3, RAID-4, RAID-5 |
До 33 % |
Есть |
Повышенная |
Пониженная (в разной степени) |
RAID-10 |
50 % |
Есть |
Повышенная |
Повышенная |
