Надежность информационных систем 195
Для защиты от потери данных было придумано немало способов, но тех-
нология RAID — пожалуй, один из немногих коренным образом изменивших
подход к хранению данных. Она облегчила жизнь системных администрато-
ров и даже позволила отказаться от резервного копирования.
Одна из причин, ведущих к утрате информации, — аппаратные сбои и
поломки. Они чаще случаются в механических, нежели в чисто электрон-
ных устройствах. Накопители на жестких магнитных дисках — устройства
электромеханические, и, как следствие, они представляют собой слабое зве-
но всей корпоративной подсистемы хранения данных. Наиболее известным
способом повышения общей надежности системы, состоящей из относитель-
но ненадежных элементов, является резервирование. На боевых самолетах,
вертолетах и даже космических кораблях системы управления имеют два-
три параллельных канала, что повышает общую “живучесть” летательного
аппарата. В офисных компьютерах можно обойтись и меньшей степенью из-
быточности, а именно той, которая диктуется теорией информации. Продол-
жая механическую аналогию, представим, что тяга управления самолета не
дублируется, а делается из нескольких более тонких тяг. Все вместе они име-
ют прочность, несколько большую, чем необходимо. Тогда, если вражеский
снаряд перебьет одну из них, остальные все же позволят пилоту добраться
до своего аэродрома. Таким образом, затратив меньше материала, чем при
полном дублировании, мы получили требуемую надежность.
Разработка технологии RAID1 велась на основе похожей идеологии: важ-
но, чтобы информация сохранилась при отказе одного привода из всего мас-
сива. Значит, должна быть обеспечена минимальная избыточность, которая
в “мирное время” не слишком обременяет дополнительными расходами, но “в
бою” спасает важную информацию.
Аппаратная реализация RAID
Контроллер RAID-массива содержит микропроцессор, часто i960, про-
изводства Intel. Этот процессор вычисляет контрольные суммы блоков дан-
ных, получаемых от компьютера, и распределяет как данные, так и избы-
точную информацию по дискам массива. Помимо вычисления контрольных
сумм и распределения данных по дискам контроллер должен уметь собирать
“разбросанные” (распределенные) по дискам данные в единое целое, опреде-
лять исправность дисков, проверять целостность считанных данных при по-
мощи контрольных сумм и восстанавливать на основе избыточной информа-
ции данные, ранее записанные на отказавший диск. Распределять данные по
нескольким дискам желательно еще и потому, что это может дать выигрыш в
скорости чтения/записи за счет параллельной работы нескольких устройств.
Распределение может производиться различными способами. Эти различные