Дата:   24.11.2017 г.
Время:
 
 
Профессионалам и любителям
ПРОСТО * ДОСТУПНО * ИНТЕРЕСНО
01796
Подписной
индекс
Опрос
Нужен ли в журнале кроссворд?
Погода
 
Архив - Строим RAID массив - Журнал «Компьютер»
Строим RAID массив
№ 7-8'2006     Владислав Демьянишин   сайт автора    Тема: Железо     ( Прочитано 9208 раз )
 
Мне уже давно хотелось рассказать о применении RAID-контроллеров, и построении с их помощью дисковых массивов. RAID (Redundant Arrays of Inexpensive Disks – избыточный массив недорогих дисков или Redundant Arrays of Independent Disks – избыточный массив независимых дисков) призван повысить надёжность и скорость дисковой системы компьютера.
За счёт каких же средств достигается повышение скорости доступа к данным? Для повышения скорости операций чтение-запись используется распараллеливание. Если записанную информацию распараллелить между двумя дисками, обеспечив её одновременное считывание, скорость можно повысить двукратно, в случае с тремя дисками – троекратно и т.д. При этом для операционной системы любой RAID-массив представляется единым диском, с которым можно поступать точно так же, как с обычным физическим диском: создавать на нём логические разделы, форматировать и т.п. Разновидностей RAID-массивов достаточно много. Но имеет смысл рассказать о самых популярных, ставших таковыми благодаря своей простоте реализации и не требующих большого числа дисков и дорогих контроллеров. Попросту говоря, применимых в домашних условиях.
 
RAID 0
 
Массив уровня 0 называется Striped Disk Array without Fault Tolerance – дисковый массив с чередованием без отказоустойчивости. Данный вариант обеспечивает наиболее высокую скорость работы, возрастающую пропорционально количеству дисков, а минимальное количество дисков ровняется двум. В момент записи все данные разбиваются на одинаковые блоки, которые параллельно записываются на разные диски. Исходя из того, что каждый из дисков массива записывает свою порцию данных независимо от других, то на запись N блоков (где N – количество дисков в массиве) будет затрачено столько же времени, сколько на запись одного блока на одиночный диск. Аналогичная ситуация происходит и при чтении. Соответственно массив из двух дисков будет в два раза быстрее одиночного диска, массив из трёх дисков – быстрее в трое, и т.д. Таким образом, чем больше дисков, тем быстрее работа дисковой системы.
 
 Строим RAID массив
 
Достоинством массива RAID 0 является то, что его ёмкость равна суммарной ёмкости входящих в него дисков, что позволяет получить накопитель огромной ёмкости. Эффективность использования ёмкости дисков 100%. Но данный массив имеет существенный недостаток, потому что не является отказоустойчивым. В случае выхода из строя одного из дисков, оказывается потерянной вся информация, то есть надёжность такого массива в целом всегда ниже, чем у самого ненадёжного диска, входящего в массив и чем дисков больше, тем надёжность меньше, поскольку выше вероятность отказа одного из дисков. Даже подумать страшно, но у массива RAID 0 надёжность ниже, чем у одиночного диска.
Применяются такие массивы там, где требуется высокая скорость дисковой подсистемы, и записываемые данные имеют низкий срок актуальности, а стало быть, надёжность уже не так важна. Вот и применяют такие массивы для видеомонтажа. Для его построения подойдет любой дешевый, и даже программный RAID-контроллер.
 
RAID 1
 
Благодаря дублированию данных такой массив назвали “зеркало” (от mirroring – зеркалирование). Два диска дублируют друг друга, поскольку одинаковые блоки данных записываются на оба диска одновременно, благодаря чему обеспечивается высокая надёжность хранения данных и работоспособность системы. В случае поломки одного из дисков останутся целыми все данные, поскольку оставшийся диск по-прежнему будет работать, обеспечивая функционирование массива. Сразу же после замены вышедшего из строя диска на исправный, информация на нём восстанавливается автоматически с уцелевшего диска, и тогда массив снова становится отказоустойчивым.
 
Строим RAID массив 
Серьёзный недостаток RAID 1 – это неэффективное использование дискового пространства, поскольку ёмкость массива из двух винчестеров равна ёмкости одного, стало быть, эффективность использования ёмкости дисков 50%. Мало того, при записи данных скорость в какой-то мере снижается за счёт необходимости дублировать данные на дисках. Учитывая всё это, RAID 1 применяют в тех случаях, когда необходима высокая надёжность, а скорость существенной роли не играет, например, в почтовых серверах. При этом можно использовать дешевый RAID контроллер или даже его программную реализацию.
 
RAID 0+1
 
Хотя такой массив требует не менее четырёх дисков, он сочетает в себе достоинства двух предыдущих типов RAID: высокую скорость с обеспечением высокой надёжности. Организация массива такова: два диска объединяются в массив с чередованием (RAID 0), и в такой же массив объединяются два других диска. Получается два массива RAID 0. Затем, из двух получившихся подмассивов организуется “зеркало” (RAID 1).
 
Строим RAID массив
 
Однако, такой RAID 0+1 наследует недостаток стопроцентной избыточности дискового пространства (от RAID 1) ведь эффективность использования ёмкости дисков всего 50%, да и быстродействие могло бы быть выше. Другие массивы RAID при тех же 4 дисках позволяют добиться более высокой скорости и обеспечения отказоустойчивости. Да и в случае восстановления целостности данных (после аварии одного из дисков) массиву потребуется восстанавливать данные сразу на двух дисках, поскольку зеркало состоит из парных дисков.
 
RAID 10
 
Этот массив очень похож на предыдущий, но наоборот. В данном случае два подмассива “зеркало” объединены в массив с чередованием. Что естественно, скорость и надёжность фактически такие же, как для уровня 0+1. Но при отказе одного из дисков восстановление данных массива займёт меньше времени, поскольку потребуется восстанавливать информацию только на одном диске. Эффективность использования ёмкости дисков по-прежнему 50%.
 
Строим RAID массив
 
RAID 5
 
RAID 5 называют отказоустойчивым массивом независимых дисков с распределённой чётностью (Independent Data Disks with Distributed Parity Blocks). Этот тип RAID относится к серверным решениям, хотя его можно встретить и на домашних компьютерах. Для простоты пояснения предположим, что массив состоит из 4 дисков. Поток записываемых данных делится на равные блоки (экстраблоки). Для каждой очередной тройки блоков вычисляется контрольная сумма. Эти блоки записываются на первые три диска, а контрольная сумма записывается на четвёртый диск. Следующая тройка блоков записывается уже на последние три диска, а контрольная сумма на первый диск и так далее. Таким образом, блоки и сумма раскидываются каждый раз по разным дискам, главное – чтобы сумма текущей тройки блоков не находилась ни на одном из дисков, на который были записаны эти три блока. Именно такой подход позволяет восстановить данные с помощью контрольной суммы при поломке одного из дисков. Благодаря этому обеспечивается достаточно высокая надёжность хранения информации и за счёт распараллеливания операций ввода-вывода высокая скорость чтения данных. Ещё одним плюсом RAID 5 является эффективное использование объёма дисков, поскольку общая ёмкость массива равна сумме ёмкостей входящих дисков минус один. Следует учитывать, что для организации RAID 5 как минимум требуется три диска. Естественно, что с увеличением количества дисков эффективность использования ёмкости массива возрастает.
 
 
 
 
 
Строим RAID массив
 
Но у RAID 5 есть весомый минус. При формировании контрольной суммы требуются вычисления. Их надо делать на лету, причем с миллионами байт. Если это дело поручить центральному процессору, мы получим очень медленную систему. Необходимо использовать довольно дорогие RAID-контроллеры, которые “берут все вычисления на себя”. В случае выхода из строя одного из дисков, процесс восстановления будет не столь быстрым, как при зеркалировании.
Особенно эффективен такой массив при работе с короткими файлами, отсюда и частое применение в WEB-серверах.
 
JBOD
 
Нет-нет, это не RAID-массив, поскольку не повышает ни надёжность, ни скорость работы. JBOD (Just a Bunch Of Disks – простая связка дисков) и его предназначение объединить несколько физических дисков в один логический, объём которого равен сумме объёмов всех входящих в него дисков.
 
Строим RAID массив
 
Единственным и несомненным достоинством JBOD является то, что в него могут входить винчестеры разного объёма. Реализовать этот режим способен простейший контроллер или даже программная реализация контроллера, например, любой RAID-контроллер интегрированный в материнскую (системную) плату. Эффективность использования ёмкости дисков 100%.
 
Рекомендации
 
Какой контроллер выбрать?
 
О типах массивов, пожалуй, всё. Хочу отметить, что в домашних условиях использование внешнего контроллера, например, для шины PCI сможет дать скорость не выше 133 Мбайт/с, поскольку это ограничение самой шины PCI, не говоря уже о том, что на этой шине могут работать и другие устройства, время от времени занимающие шину. Пожалуй, большую скорость можно достичь, используя интегрированный RAID-контроллер (в южный мост), поскольку межмостовая магистраль позволяет передавать данные со скоростью 256 Мбайт/с и выше.
 
Строим RAID массив
 
Как подбирать винчестеры?
 
Несмотря на то, что во многих случаях для RAID можно использовать разные винчестеры как по скорости, так и по ёмкости, хочу сказать, что применение одинаковых будет оптимальным. Иначе параметры массива будут определяться диском с самыми низкими характеристиками, то есть массив будет работать со скоростью самого медленного диска, а формировать объём массива контроллер будет, основываясь на ёмкости самого малого диска. Для примера, использование двух разных по скорости винчестеров в RAID 0 даст около 50% прироста скорости по сравнению с однодисковой системой, а применение пары одинаковых винчестеров может дать до 100% прирост (удвоение) скорости.
 
Строим RAID массив
 
Если необходимо организовать серьёзную скоростную и устойчивую дисковую систему на основе RAID, то не следует скупиться на так называемые модели винчестеров enterprise-класса, повышенной надёжности, рассчитанные на многочасовую непрерывную работу. Предназначены они для серверов, сетевых хранилищ данных, рабочих станций для научных целей, документооборота или видеомонтажа, короче, для интенсивной работы с дисковой подсистемой. Такие винчестеры искать не нужно, и почти у всех производителей есть свои линейки этого класса: у Caviar серия SE (с индексом JD), у Maxtor модели MaXLine III, у Seagate серия NL35 (Nearline Storage Edition), у Western Digital – серия RE и RE2 (Raid Edition). Все эти модели объединяет параметр наработки на отказ в 1 млн. часов и, пожалуй, самое важное, умение взаимодействовать с RAID-контроллером для коррекции ошибок.
Подводный камень такой: обычные “домашние” винчестеры разработаны для самостоятельной работы, а не с RAID-контроллером, и о его наличии они даже не подозревают. Само собой разумеется, они оснащены собственной системой коррекции ошибок, которые могут возникать при выполнении записи на диск. При длительной обработке больших потоков данных, ошибки записи – обычное явление. Просто пользователь об этом не знает, потому что с незначительными проблемами диск “справляется” самостоятельно. В случае возникновения ошибок диск пытается решить проблему самостоятельно, и если этот процесс затягивается больше, чем на 8 секунд (не стандарт, но типично для всех RAID-контроллеров) – RAID-контроллер выключит его из массива, поскольку решит, что этот диск неисправен и настала его очередь исправлять ошибки. В случае с RAID 1 или RAID 5 массив будет продолжать работать, но в ухудшенном режиме, а для RAID 0 такая ситуация фатальная.
Если же говорить о накопителях enterprise-класса, то они предназначены для работы с RAID-контроллером. Они готовы к тому, чтобы передать контроллеру функцию коррекции ошибок. Таким образом, 7 секунд такой диск будет пытаться исправить ошибку своими силами, а затем передаст сообщение об ошибке контроллеру, который либо станет её исправлять, либо отложит процесс на потом.
Разумеется, напрашивается вывод, что RAID-массив не следует формировать из обычных дисков. Но в тоже время, не следует и обычную не RAID систему комплектовать Raid Edition дисками, хоть и высоко надёжными. Поскольку они в свою очередь “думают”, что подключены к RAID-контроллеру, и если за 7 секунд им не удастся самостоятельно устранить ошибку, сдаются на милость RAID-контроллеру, которого в системе нет.
Также следует не забывать, что, обеспечив качественное охлаждение для корзинки с винчестерами, можно в несколько раз продлить жизнь дискам. Для этого в любом специализированном магазине можно приобрести планку с 1-2 кулерами как раз для этой цели всего за каких-то 5-6 у.е.
 
Надёжность, помноженная на надёжность
 
Дуплекс – развитие идеи зеркалирования и позволяет получить высокий уровень надежности, но требуется в два раза больше дисков и для повышения надежности в систему устанавливаются два независимых RAID контроллера.
 
Строим RAID массив
 
Авария одного диска или контроллера не сказывается на работоспособности системы. Столь дорогое решение используется только во внешних RAID-массивах, предназначенных для ответственных приложений.
 
Вот как просто, оказывается, можно организовать устойчивую и быструю дисковую подсистему.
 

 
 
На главную страницу На предыдущую страницу На начало страницы
 
 
 
 
 
2009 - 2017 © СПД Зайцев А.Б.
Сайт является средством массовой информации.
При перепечатке и цитировании в печатных СМИ ссылка на журнал "Компьютер" обязательна.
При перепечатке и цитировании в Интернете обязательна активная гиперссылка на сайт Comput.com.ua, не закрытая для индексирования.
Украина онлайн Рейтинг@Mail.ru Рейтинг Сайтов YandeG