Наверняка мало кто задумывается о том, что «серые ящики», стоящие на наших столах, по своей вычислительной мощности более чем в тысячу раз превосходят БЭСМ-6, одну из лучших больших вычислительных машин второго поколения, не говоря уже о ламповых - первого. Рост производительности ПК практически нивелировал разницу между тем, что называется компьютером, и рабочей станцией, и потому неудивительно, что многие архитектурные решения, ранее применявшиеся лишь в высокопроизводительных мэйнфреймах, сейчас в том или ином виде перекочевывают в машины для дома и малых офисов.
Недавно еще один технический термин — RAID — переместился в ПК из области «больших» вычислительных машин.
Технология объединения нескольких накопителей в дисковый массив, распознаваемый ОС как единственный, была разработана в 1987 г. в университете Беркли. Первоначально она называлась Redundant Array of Inexpensive Disks (избыточный массив недорогих дисков). Конечно, определение «недорогих» относилось лишь к мощным ЭВМ и серверам, где несколько обычных дисков для рядового пользователя действительно были существенно дешевле одного сверхбольшого и сверхнадежного, предназначенного исключительно для высокопроизводительных систем. Однако позднее оно было заменено словом Independed (независимый).
Создание RAID-массива преследует три основные цели: увеличить объем устройства хранения информации, повысить скорость передачи данных и надежность хранения. По достижении первой цели при надлежащей организации размещения данных легко «вытекает» и вторая: достаточно размещать последовательные блоки данных с чередованием на разных дисках при наличии буферизации, чтобы во время чтения/записи скорость передачи информации между дисковым массивом и ПК стала равной сумме скоростей, с которыми происходит обмен между отдельными накопителями. Третья цель противоречит первым двум: надежность хранения данных может быть увеличена только при обеспечении избыточности, т. е. при увеличении доли служебной информации, что приводит к уменьшению доли полезной. Следовательно, технология RAID позволяет решать самые разные задачи, начиная от простого пропорционального расширения дискового пространства и, следовательно, роста скорости обмена данными, до обеспечения их сохранности при полном выходе из строя одного или даже нескольких накопителей.
Чтобы обеспечить свободу маневра, было предусмотрено несколько вариантов организации дискового массива, которые принято называть уровнями (level). Сейчас их насчитывается восемь (от нулевого до седьмого).
RAID 0 — простое объединение объема дисков (striping, от strip — «полоса»). Информация делится на блоки, поочередно записывающиеся на все накопители. На этом уровне достигаются наибольший объем и наивысшая скорость обмена, а вот надежность будет несколько ниже, чем у любого другого уровня, а также каждого из входящих в массив дисков, так как при выходе из строя хотя бы одного из них вся информация теряется.
RAID 1 — дублирование (mirroring — зеркальное отражение) дисков. В этом случае, как правило, на два диска одновременно записывается идентичная информация. При выходе из строя одного из них все данные можно получить с другого. И реализация, и восстановление после сбоев будут достаточно просты, однако имеют место высокая избыточность и, значит, самые низкие объем и скорость доступа, — они такие же, как у одного диска.
RAID 2 — массив с использованием кода ЕСС (код Хемминга), хранящегося на специально выделяемых дисках. Он был нужен тогда, когда не выполнялась коррекция ошибок внутри накопителя, а сейчас не применяется.
RAID 3 — массив с параллельной передачей данных и использованием четности для коррекции ошибок. Информация о четности, как и в случае RAID 2, хранится на отдельном диске, но имеет меньшую избыточность.
RAID 4 — подобен уровню 3, но данные разбиваются на блоки, записывающиеся на разные диски, причем возможно параллельное обращение к нескольким блокам, что существенно повышает производительность.
RAID 5 — аналогичен уровню 4, но информация о четности не хранится на отдельном диске, а циклически распределяется между всеми.
RAID 6 — напоминает уровень 5, но использует две независимые схемы четности, что увеличивает как избыточность, так и надежность хранения информации.
RAID 7 — отказоустойчивый массив, оптимизированный для повышения производительности. Привязан к собственной ОС.
На практике также применяются комбинированные схемы организации дискового массива. Обычно это сочетания уровня с каким-либо другим, обеспечивающим рост надежности хранения данных. Кроме того, RAID-контроллеры нередко обеспечивают возможность «горячей» замены вышедшего из строя диска. При этом извлечение неисправного накопителя и подключение нового, а также восстановление информации в массиве выполняются без выключения или перезагрузки вычислительной системы.
Однако вернемся к ПК. Недавно в продаже появились системные платы с установленным на них RAID-контроллером (см. «Мир ПК», №4/01, с. 18). Что же они дают рядовому пользователю?
Во-первых, возможность работать в режиме UDMA-100 (если, конечно, его поддерживает жесткий диск), причем независимо от установленной ОС. Например, если от стандартного IDE-контроллера в среде DOS больше 8 Мбайт/с получить невозможно, то RAID-контроллер будет выдавать все, на что способен жесткий диск. У современных жестких дисков скорость передачи данных обычно составляет 20—45 Мбайт/с (см. «Мир ПК», №12/01, с. 18), а если учесть, что при организации RAID-массива суммарная скорость может возрасти до 50—100 Мбайт/с, то результат получится более чем ощутимым.
Во-вторых, к стандартной системной плате можно подключить не более четырех IDE-устройств, а последних бывает довольно много: CD- и DVD-дисководы, накопители Iomega ZIP/JAZ, магнитооптические устройства. Кроме того, при наличии записывающего дисковода CD-R или CD-RW полезно иметь и второй дисковод компакт-дисков. Нельзя пренебрегать и вероятностью установки второго-третьего жесткого дисков, оставшихся либо от старого ПК, либо после модернизации. К RAID-контроллеру допустимо подключить дополнительно четыре жестких диска, и в результате устройств будет восемь.
В-третьих, дополнительный контроллер можно использовать и по прямому назначению: для организации RAID-массива. «Горячую» замену он, конечно, как и любой IDE-интерфейс, не допускает, однако вполне можно в два—четыре раза увеличить объем дискового пространства с соответствующим повышением скорости обмена данных.
Встраиваемые в системные платы (или в платы расширения) RAID-контроллеры позволяют организовать только RAID level 0, RAID level 1 и RAID level 0+1. Последний предусматривает 100%-ное дублирование при удвоенном объеме диска и требует наличия четырех одинаковых накопителей. Наибольший интерес представляет RAID 0, так как современные жесткие диски достаточно надежны, а для хранения самых важных данных гораздо дешевле применять резервное копирование (backup). Естественно, можно использовать и несколько отдельных дисков, не объединяя их в массив.
Рассмотрим создание RAID-массива на примере системной платы Abit SA6R. Скорее всего, он будет либо единственным, либо самым быстрым устройством в системе, поэтому сделаем его загрузочным. Для этого войдем в программу BIOS Setup, нажав сразу же после включения ПК клавишу , установим в разделе Advanced BIOS Features в качестве загрузочных устройств ATA/100. Затем перезагрузим ПК, нажав комбинацию
Главное меню программы содержит пункты: «Создание RAID», «Удаление RAID», «Дублирование диска», «Создание резервного (дублирующего) диска», «Удаление резервного диска», «Установка режима диска» и «Выбор загрузочного диска». Если указать первый из перечисленных пунктов, то выводится меню второго уровня, содержащее уже такие пункты, как «Режим массива», «Выбор накопителей», «Размер блока» и «Начать процесс создания».
В этом случае есть четыре режима: RAID 0 (Striping), RAID 1 (Mirror), RAID 0+1 (Striping and Mirror), а также Span, позволяющий объединить объемы дисков без изменения производительности. Видимо, режим Span — единственный, с помощью которого можно объединить диски различной емкости. Установив «Выбор накопителей», можно одни из подключенных к контроллеру накопителей оставить в качестве независимых дисков, а из других создать RAID-массив.
При чередовании информации между накопителями в дисковом массиве она будет разбиваться на блоки размерами 4 Кбайт, 8, 16, 32 или 64 Кбайт.
Пункт «Установка режима диска» дает возможность установить один из режимов — PIO или UDMA. Остальные же пункты в комментариях не нуждаются.
* * *
К первым IDE-контроллерам можно было подключить не более двух устройств, так как жесткие диски имели объем менее 504 Мбайт, максимально допустимый для этого стандарта, а дисководы CD-ROM еще не получили широкого распространения и включались в комплект поставки только вместе со звуковой платой, содержащей дополнительный интерфейс для подключения нового накопителя. Зачастую это был второй IDE-канал.
Новый стандарт EIDE, сейчас называемый IDE, изначально допускал подключение до четырех устройств. Правда, для работы ему нужно два прерывания: по одному на каждый канал, поддерживающий по два устройства. А теперь четырех устройств пользователям, случается, и не хватает. RAID-контроллер расширяет максимальное число IDE-накопителей в ПК до восьми и требует только одного дополнительного прерывания. Вполне вероятно, что вскоре он также станет стандартным устройством ПК, таким как дисковод CD-ROM или звуковая плата.
Итак, тем, кто хочет купить компьютер и обеспечить ему долгую жизнь, а также облегчить его модернизацию, возможно, стоит задуматься о том, чтобы на системной плате имелся RAID-контроллер.