Дисковые массивы
Попытка ликбеза ("знающим все" можно не читать)

Из недавнего телефонного разговора со знакомым неожиданно выяснил две вещи. Во-первых, дисковые массивы, которые с 1987 года считались прерогативой исключительно серверов, стали доступны и для домашних компьютеров (впрочем, глупо говорить, что это для меня новость, мой компьютер тоже прекрасно поддерживает массивы и SATA). Во-вторых, домашний пользователь, что называется, "слышал звон, да не знает, где он", но тем не менее с упоением пересказывает ближнему своему всякую чушь, которую он слышал от такого же "знатока".

Итак, что же такое RAID, зачем оно и как оно работает. Ну, во-первых, RAID - это такой спрей от комаров и тараканов. Шутка. Аббревиатура RAID означает Redundant Arrays of Inexpensive Disks, в переводе – Избыточные Массивы Дешевых Дисков (ИМДД). Что это значит? Это значит, что вместо одного супернадежного диска (а была и такая концепция) можно использовать несколько недорогих, некоторые из которых будут содержать продублированную информацию, которая впоследствии будет использована для восстановления всего массива.

Существует семь методов создания пресловутой избыточности, из которых в настоящее время активно используются только четыре.

RAID1 или «зеркальный» массив: для создания такого массива необходимо иметь как минимум два диска, которые будут называться «активный» и «пассивный». При этом операционная система видит только один диск – активный. Вся информация, которая пишется на активный диск, дублируется микрочипом управления дисками (контроллером дисков) на пассивный диск. Таким образом, пассивный диск является полной копией активного диска. При отказе активного диска система может перегрузиться и стартовать с пассивного, при этом пассивный становится активным, а отказавший активный следует заменить, после чего контроллер автоматически «синхронизирует» два диска, то есть заново перепишет всю информацию с активного на пассивный диск. Еще раз: при создании RAID1 оба диска абсолютно идентичны, любой из них может быть исключен из системы и система может продолжать работать только со вторым.

Админу на заметку: при мощном апгрейде системы с RAID1 лучший план «откати все назад» это «разбить зеркало» (сделать оба диска активными), проапгрейдить первый, а второй сохранить в теплом сухом месте, пока изменения не будут одобрены, после чего сделать второй пассивным. В случае неудачи пассивным делается первый диск.

Недостатки такой системы: считается, что массив RAID1 – самый медленный, но при современных скоростях компьютерных компонент это уже незаметно. При отказе активного диска система автоматически перегружается, но современные SCSI-контроллеры способны не перегружать систему. (Любителям орать и плеваться - да, именно так. Например LSI Logic 1020, которым комплектуются IBM xSeries, при отказе активного диска систему не роняет.) RAID1 может быть создан как для SCSI, так и для современных IDE-дисков.

Замечание: я не знаю, как отконфигурировать RAID1 именно на вашей замечательной машине. Что касается меня, то у меня, как можно было заметить, дома стоит SCSI контроллер и SCSI-диски.

RAID0 или «стрипсет»: для создания такого массива опять-таки нужны два диска. При записи на диск информация делится контроллером пополам и одна половина записывается на один диск, а вторая – на второй. При этом система видит все диски как один. Преимущество такой организации: много небольших дисков можно объединить в один большой с отличными показателями чтения/записи. Недостаток: при отказе хотя бы одного из дисков система умирает навсегда и единственный способ ее спасти – заменить диск, перестроить массив и восстановить всю информацию с бекапа (ленты, если есть).

RAID0+1 или «зеркало со стрипсетом» представляет собой два RAID0, каждый из которых содержит минимум два диска, между которыми установлено зеркало. На мой взгляд, весьма громоздкая вещь, но, говорят, используется.

RAID2, 3 и 4 были разработаны на заре создания концепции RAID и практически не использовались.

RAID5 или «стрипсет с четностью». При создании такого массива информация как и для RAID0 расписывается между несколькими дисками, но при этом некоторые секторы на всех дисках используются для дублирования записываемой информации. При отказе одного диска система по-прежнему жива, но мертвый диск следует заменить как можно быстрее. При создании RAID5 нужно как минимум три диска. RAID5 не поддерживается IDE, для создания RAID5 на SCSI-системе нужен специальный контроллер.

Я сознательно пишу о контроллерах хотя знаю, что все перечисленные выше виды массивов (кроме RAID0+1) могут поддерживаться на уровне операционной системы. Однако это существенно замедляет производительность системы и честное слово, «железные» решения всегда надежней и быстрее программных.

Пара слов о том, какие преимущества SCSI перед IDE. На момент создания SCSI-системы были существенно быстрее IDE. Сейчас IDE-диски не менее «скорострельны». Дошло до того, что можно купить сервер без SCSI, а только с IDE дисками, причем такой сервер стоит на 500-1000 долларов дешевле сервера со SCSI. Тем не менее IDE-интерфейс на стандартной материнской плате по-прежнему имеет только два канала, по два диска на канале, итого четыре диска. С докупкой дополнительных адаптеров число каналов можно увеличить до шести, итого 12 дисков. Современный SCSI-контроллер поддерживает один или два канала, по 15 устройств на канале (16-е устройство – сам контроллер). В свое время SCSI поддерживал куда как больше устройств, чем IDE, но с разработкой интерфейса USB это преимущество сошло на нет: большинство внешних устройств сейчас USB. Материнские платы для домашних компьютеров имеют обязательный IDE интерфейс (сам контроллер интегрирован в диск), а для SCSI дома нужен дополнительный контроллер и диски. SCSI-диски существенно дороже: 160G IDE диск – вещь достаточно доступная, а 144G SCSI стоит запредельные деньги. Кстати, так уж исторически сложилось, что размеры IDE-дисков кратны 10 (10, 20, 40, 80, 160), а SCSI – 9 (9, 18, 36, 72, 144).

И еще из области интересного. Как известно, в одном килобайте не 1000, а 1024 байта. Но известно ли вам, что в маркетинговых целях при указании размера жесткого диска используется не двоичная, а десятиричная система счисления, иными словами в килобайте 1000 байт, в мегабайте 1000 килобайт, в гигабайте - 1000 мегабайт. А операционная система показывает размер, как ей и положено, в двоичной системе. И если на небольших дисках разница незначительна, то реальный размер 72G диска - 69.5 гигабайт. Вот так, два с половиной гигабайта долой. А когда-то (7 лет назад) двугигабайтный диск шел стандартной комплектацией. Эх!

Послесловие

Дабы избежать разночтений уточню, что:

IDE – название интерфейса. Второе название IDE-дисков – ATA-диски. В мире SCSI одно имя и для интерфейса, и для диска.

Основное отличие SCSI от ATA в том, что контроллер ATA находится непосредственно на диске, а у SCSI либо на материнской плате (серверы), либо в виде отдельной PCI-карты.

Стандарт UltraATA получил название Ultra-DMA или ATA-33, так как позволял обмен данными на скорости 33 MBps

Соответственно ATA-66, ATA-100 и ATA-133 позволяют обмен данными на скорости 66, 100 и 133 MBps.

Обмен данных по интерфейсу IDE параллельный. В противоположность IDE была разработана спецификация SATA (Serial ATA), позволяющая последовательный обмен данными со скоростью от 150 MBps. Современные материнские платы, например, от ASUS, поддерживают UltraDMA (ATA) и SATA и позволяют создать RAID0, RAID1 и RAID0+1 массивы.

Современные SCSI 160 и SCSI 320 позволяют обмен данных на скорости 160 и 320 MBps соответственно при условии того, что такая скорость поддерживается и дисками.

2004 © Serge M. Chegorian
Замечания, дополнения, поправки принимаются