Ответ на письмо от 13.02.2006
Здравствуйте, Егор,
>> установка двух или более винчестеров в страйп (RAID 0) повышает
>> скорость практически в столько раз, сколько дисков в страйпе.
ELR> Подождите, stripe - это просто объединение нескольких дисков в один
ELR> суммарной ёмкости. Скорости от этого не прибавляется.
Нет, нет. Смысл страйпа в том, что единица записи, например, байт,
растаскивается по частям на каждый из физических дисков. С одной
стороны, это распараллеливает процесс чтения и записи, за счёт
одновременного использования головок всех дисков. Допустим мы имеем
страйп из трёх дисков, контроллер РЭЙДа каждую порцию записываемой
информации на битовом уровне разделяет на три параллельных потока по
одному потоку на каждый физический диск. Нетрудно видеть, что
производительность растёт пропорционально количеству дисков в страйпе.
Почти прямо пропорционально, если не считать издержек на работу РЭЙД
контроллера. С другой стороны, нетрудно видеть, что страйп ровно также
(в разы) понижает надёжность всей дисковой системы. То есть, если
сгорает один диск в страйпе, то пропадает ВСЯ, подчёркиваю, вся
информация на страйпе.
ELR> Вот если сделать
ELR> mirroring, то скорость чтения возрастает в два раза.
Зеркало (mirror), в терминах РЭЙДа называется РЭЙД 1. Смысл его в том,
что контроллер РЭЙДа дублирует единый поток записи сразу на два
винчестера. Запись идёт параллельно, и потери в скорости незначительны
(издержки на работу РЭЙД контроллера). В результате, один диск
является зеркальным отражением другого, полной копией на физическом
уровне. Соответственно, это увеличивает надёжность ровно в два раза -
отказ одного винчестера не приводит к потере никакой информации. Но и
суммарная ёмкость падает ровно в два раза. Справедливости ради надо
сказать, что при падении загрузочного зеркала винды всё-таки падают.
Происходит это потому, что для загрузки с рэйда виндам нужен драйвер
рэйда, а когда рэйд лишается одного из дисков, то драйверы начинают
только мешать загрузке. Это лечится процедурой восстановления виндоуз
с дистрибутива.
Итак, современный материнки, как правило, поддерживают РЭЙДы типа 0,
1, и 0+1. Про последний (0+1 или 01) можно сказать, что он удваивает
надёжность и умножает скорость. Для него нужно 4 или больше
винчестеров. Они попарно ставятся в зеркальный режим, и эти пары
объединяются в страйп.
На серверах используются РЭЙДы типа 5 и его производные. Смысл там в
том, что данные пишутся на каждый диск с небольшим избытком
(аналогично резервной информации архиваторов для восстановления
сбойных архивов). Пишутся таким образом, что отключение любых двух
дисков не ведёт к потере информации. То есть, надёжность вырастает
раза в три, а потери составляют только два диска. Хорошие РЭЙД
контроллеры поддерживают до полусотни дисков в одном массиве.
ELR> Кстати, и то, и другое вроде позволяют делать Win2000 и XP, без
ELR> всяких RAID контроллеров, только я не знаю, как там это делается.
О, йес. Помнится мы такое делали даже на Windows NT Server 4.0.
Категорически не рекомендую это делать. Кстати, насколько я помню, из
сервера 2003 эту приблуду убрали. Суть в том, что скорость виндоуз
резко падает, а при падении геморроя всё равно не избежать.
--
С наилучшими пожеланиями
Владимир Лукьянов
Москва
mailto:lvu20***@y*****.ru