Дисковые массивы
Обычно в зеркальном режиме используется не более двух дисков. Зеркалирование обеспечивает некоторое падение производительности (обычно все-таки менее, чем двукратное), но гарантирует работоспособность системы при отказе любого из дисков. Оба эти приема широко применяются па практике, обычно с небольшим количеством дисков, не более двух, реже, трех. Они не требуют значительных вычислительных ресурсов и потому обычно реализуются программно, драйвером диска или файловой системы.
RAID уровня 2 предлагает снабжение блоков данных на дисках кодом Хэмминга (см. разд. "Контрольные суммы") и размещение этого кода на отдельном диске массива. Эта технология имеет смысл, если контроллеры дисков не хранят код восстановления ошибок в собственных заголовках секторов. Поскольку современные диски практически без исключения используют восстанавливающее кодирование и динамическое переназначение дефектных секторов, RAID 2 практически не применяется.
RAID уровня 3 и 4 похожи во многих отношениях. Каждый из этих методов требует не менее трех дисков и подсчета контрольной суммы таким способом, чтобы данные могли быть однозначно восстановлены при полной потере одного из дисков. В RAID уровня 3 контрольные суммы подсчитываются для каждого байта записываемых данных, а в RAID уровня 4 – для групп блоков. Для хранения контрольных сумм отводится отдельный диск.
Эти методики обеспечивают более низкую (хотя и достаточную для большинства практических целей) избыточность, чем зеркалирование, но, как стриппинг, увеличивают единичную емкость диска и повышают производительность. Для отказа всей системы требуется полный отказ более чем от одного диска; многие конструктивы дисковых массивов уровня более 2 предусматривают "горячую" (без выключения системы) замену дисков, что допускает теоретически неограниченную наработку на останов, недостижимую при использовании одиночных дисков.
RAID 3 требует изменения формата секторов диска и соответствующей переделки контроллера и не может применяться с серийными дисковыми приводами. Основным недостатком RAID 4 является необходимость обращения к диску с контрольной суммой при каждой модификации одного из блоков группы. При записи большого количества логически последовательных блоков это не проблема, но может превратиться в проблему при случайно распределенных записях одиночных блоков.
Этого недостатка лишен RAID уровня 5, в котором контрольные суммы распределены по всем дискам массива (рис. 9.42). RAID 5 находят широкое применение в серверах уровня рабочей группы, или подразделения. При программной реализации, впрочем, подсчет контрольных сумм требует значительной доли вычислительной мощности ЦПУ, поэтому широкое распространение получили "аппаратные" контроллеры RAID 5, имеющие собственный процессор и, как правило, довольно большой объем собственной памяти. Это не мешает некоторым ОС, в частности Windows NT/2000/XP, реализовать RAID 5 программно на уровне файловой системы.
Рис. 9.42. RAID уровня 5