Sony Playstation

Воскресенье, 07.06.2026, 20:12
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Учим как построить RAID
killnubДата: Четверг, 29.03.2012, 02:59 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 197
Награды: 0
Статус: Offline
Если ты слышал про RAID, но точно не знаешь, что это такое и как его сделать своими собственными руками, то эта статья как раз для тебя. Она поможет понять как работает RAID, какая польза от различных его типов и, что самое главное, какое железо и как нужно использовать, чтобы реализовать RAID в домашних условиях.

Начнем с определения. На сегодняшний день чаще всего RAID расшифровывается как Redundant Array of Independent Disks, что переводится как Избыточный Массив Независимых Дисков. Хотя поначалу его создатели из Беркли нарекли свое творение Redundant Array of Inexpensive Disks, то есть Избыточный Массив Недорогих Дисков, но поскольку для его реализации понадобилось в итоге совсем недешевое оборудование, название пришлось сменить, чтоб все было честно.

Но теперь для пользователей PC старое название вновь обретает свой смысл. А причиной тому стали появившиеся в последнее время на рынке десктоп-решений материнские платы с интегрированными контроллерами RAID и Serial ATA.

Какой RAID тебе нужен

Это все, конечно, хорошо, но для начала неплохо бы понимать, зачем вообще нужен RAID.

При оценке жесткого диска принято выделять три взаимосвязанных параметра - это скорость, надежность и объем. Разумеется, было бы просто замечательно, если бы все эти параметры были максимальными. Однако, как правило, улучшение одного параметра неизбежно ведет к ухудшению другого, и необходимо найти оптимальное сочетание для конкретных задач. Например, пожертвовав объемом, поднять надежность, или же, наоборот, пойдя на снижение отказоустойчивости, повысить скорость работы дисковой подсистемы. Технология RAID позволяет гибко варьировать указанные параметры, объединяя в массив HDD разных моделей и производителей с разными характеристиками.

Набольшее применение RAID получил в серверных системах, где важно обеспечить гарантию сохранности информации, высокую скорость доступа к информации и возможность обрабатывать большое количество запросов одновременно. Разработано большое количество различных конфигураций RAID, которые называются уровнями и обозначаются определенным индексом. Уровни сильно различаются по алгоритмам работы и способам построения массива, а соответственно, по стоимости необходимого оборудования.

Для десктоп-систем производителями реализованы уровни RAID 0, RAID 1, RAID 0+1, RAID 10, RAID 5 и JBOD, однако чаще всего интегрированные контроллеры поддерживают только первые два уровня. Уровень RAID 5 в интегрированных контроллерах пока еще не встречается. Его, обычно, реализуют на PCI RAID контроллерах. Соответствующие характеристики интегрированного RAID-контроллера указываются в документации к материнской плате.

Повышение скорости (RAID 0)

Уровень RAID 0 призван увеличить скорость работы дисковой подсистемы, побочным эффектом является снижение надежности хранения информации. В данном случае избыточности нет вообще. Для повышения быстродействия применяется механизм страйпинга (striping), суть которого состоит в том, чтобы хранить данные, распределяя их между дисками массива. Данные размещаются определенными блоками поочередно то на одном носителе, то на другом. Информация хранится как бы полосками - это и есть страйпы. Скорость операций чтения/записи на пластину является узким местом в производительности жестких дисков, а пропускная способность канала, соединяющего устройство с контроллером, гораздо выше этого предела. Прирост производительности происходит за счет того, что система производит считывание или запись одновременно на всех дисках массива. При прочих равных условиях операция чтения/записи занимает примерно столько же времени, как с одиночного диска, однако информации при этом передается больше в столько раз, сколько всего устройств в массиве.

Но, как известно, за все надо платить. Тут мы расплачиваемся за высокую производительность отсутствием устойчивости массива к отказу одиночного диска. Время наработки на отказ массива из одинаковых дисковых накопителей сократится во столько же раз, во сколько возросла его производительность, то есть зависит от количества дисков. Это так, поскольку при выходе из строя одного из устройств будет полностью потеряна вся информация, хранившаяся в массиве.

Повышение надежности (RAID 1)

Уровень RAID 1 используется для повышения отказоустойчивости дисковой подсистемы за счет потери части дискового пространства. Для достижения желаемого эффекта применяется механизм зеркалирования. То есть, например, если в массиве присутствуют два диска (это минимально возможное количество для данного уровня RAID), то информация на них идентична - один является точной копией другого. При выходе из строя любого из двух устройств информацию легко восстановить со второго носителя. С другой стороны, из суммарной емкости носителей мы для собственной пользы используем только половину - избыточность в данном случае стопроцентная. Кроме того, если диски разного объема, то больший по емкости будет использоваться только в части равной объему меньшего, остальное пространство использоваться не будет.

Комбинация первых двух уровней (RAID 0+1 и RAID 10)

Эти уровни RAID позволяют получить преимущества первого и второго уровней. В случае RAID 0+1 диски объединяются в stripe-массив, а затем, зеркалируются, то есть половина носителей массива используется как страйп, а половина – как зеркало. Таким образом, теоретически мы получаем увеличение скорости доступа к данным и операций чтения/записи, и в то же время имеем резервную копию массива, исключающую потерю данных в случае выхода и строя одного из носителей.

В случае RAID 10 диски попарно объединяются в зеркала, а затем, зеркальные пары объединяются в stripe. Этот массив также имеет высокую скорость чтения/записи и толерантен, то есть, устойчив к отказу одиночного диска. Информация будет потеряна, только если выйдут из строя оба диска одной зеркальной пары.

Ценой является стопроцентная избыточность массива: для построения этих уровней RAID требуется минимум 4 накопителя, что часто нецелесообразно для настольной системы.

Экономная надежность (RAID 5)

В более дорогих моделях материнских плат часто реализуется пятый уровень RAID, который обладает меньшей избыточностью, чем зеркалирование, поскольку при построении массива используется метод контрольных сумм (ECC - Error Control Codes), который позволяет повысить надежность хранения информации, избежав стопроцентной избыточности. Контрольная информация распределяется по всем дискам массива. Условно, это можно представить так: сумма блоков с индексом 1 хранится на последнем диске, сумма блоков с индексом 2 – на предпоследнем, с индексом 3 – на третьем носителе с конца и т.д. Для контрольных сумм не стали выделять отдельного диска, чтобы повысить скорость чтения/записи, особенно при работе с небольшими блоками информации. Таким образом, для построения RAID 5 необходимо Х+1 диск, так как часть массива, равная объему одного HDD, будет использована под хранение кодов ECC, так что для создания массива пятого уровня их надо иметь уже как минимум три. По этой причине использование данного уровня RAID является довольно дорогим удовольствием для обычного пользователя - он.

Такой массив толерантен к отказу одиночного диска, так как информация с отказавшего носителя будет восстановлена по контрольным суммам. В случае поломки двух HDD будет потерян весь массив.

Огромный диск (JBOD)

Еще стоит упомянуть так называемый JBOD, что расшифровывается как Just a Bunch Of Disks. Этот механизм также часто реализуется в интегрированных RAID-контроллерах. Как видно из названия, это просто много дисков, которые объединены в один большой. Страйпинга при этом никакого не производится, и данные записываются последовательно, постепенно заполняя накопители: сперва полностью заполняется один диск, после этого начинает заполняться второй и т.д. То есть ни скорость, ни надежность не возрастают, однако ограниченные объемы отдельных HDD больше не мешают нормальной работе. Такое объединение может быть полезно при кодировании видео, когда нехватка дискового пространства может помешать завершить долгий процесс кодирования.

Предположения

Чтобы тебе было проще решить, нужен ли тебе RAID и в каком виде, мы проверили предположения, соответствующие наиболее типичным задачам, для двух наиболее распространенных уровней: RAID 0 (страйп) и RAID 1 (зеркало):

  • ускорение работы с бизнес-приложениями (Word, Exel, Outlook) при использовании stripe;

  • ускорение работы с ресурсоемкими приложениями (компилятор, программы обработки графики и верстки) при использовании stripe;

  • ускорение выполнения операций записи при использовании stripe (важно для кодирования видео);

  • ускорение операций чтения при использовании mirror;

  • ускорение обработки запросов при работе file-сервера (например, твой домашний ftp) при использовании stripe и mirror;

  • ускорение обработки запросов при работе web-сервера при использовании stripe и mirror.


  • Что же касается увеличения надежности хранения твоей личной информации (архив, фотографий, коллекция музыки, результаты творческой деятельности), то RAID 1, несомненно, является более надежным и удобным решением по сравнению с резервированием на CD-R. Но тут ты сам решаешь, готов ли ты пожертвовать деньгами на второй хард в пользу безопасности.

    Контроллер

    Итак, для начала посмотрим, какие требования к оборудованию предъявляет RAID. Во-первых, необходимо решить вопрос с контроллером. Если ты уже являешься счастливым обладателем материнской платы с контроллером RAID, то проблема выбора отпадает сама собой. Для тех, кто еще только собирается делать апгрейд, приведем список некоторых чипов, используемых ведущими производителями материнских плат: Silicon Integrated Systems SIS 180 (RAID 0, 1, 0+1), Promise 20378 (RAID 0, 1, 0+1), Silicon Image SiI 3112 (RAID 0, 1), Intel ICH5 (RAID 0) и VIA VT8237 (RAID 0, 1), ITE GigaRAID 8212F (RAID 0, 1 и 0+1). В случае чипсетов ICH5 и VT8237 RAID-контроллер интегрирован прямо в северный мост, остальные представляют собой отдельную микросхему на материнской плате.

    Если тебе уже досталась мамка без интегрированной поддержки RAID, то не все потеряно - можно купить контроллер в виде платы расширения. Хотя, опять же, это дополнительные расходы - такая железка обойдется тебе, скорее всего, примерно в двадцать условных единиц.

    Накопители

    Теперь, собственно, о жестких дисках. RAID массив легко может быть реализован как с использованием обычных IDE дисков, так и на Serial ATA HDD, однако последнее предпочтительнее, так как производители реализуют все новые технологии именно в SATA девайсах, они имеют более высокие скорости, и снабжены буфером размером 8 Мб. Кроме того, Serial ATA поддерживает возможность «горячей» замены носителя. На рынке имеется на данный момент множество моделей от разных производителей: Seagate, WD, Maxtor, Samsung, Hitachi.

    При создании массива можно использовать сочетание практически любых накопителей, однако необходимо учитывать, что характеристики отдельных носителей скажутся на производительности всего массива. Оптимальные результаты достигаются при использовании двух одинаковых дисков, однако из соображений надежности массива мы не рекомендуем использовать HDD из одной партии и даже одного производителя. Достаточно вспомнить печально известные диски IBM серии DTLA и Fujitsu серии MPG.

    В случае RAID 1 (mirror) целесообразно приобрести два HDD разных производителей со сходными характеристиками. Минимум, необходимо учесть, что диски должны быть одного объема, так как в противном случае часть объема большего носителя останется неиспользованной.

    Если, даже создавая зеркало, ты все же заботишься о производительности, то можно порекомендовать тебе диски со скоростью вращения шпинделя десять тысяч оборотов в минуту. На сегодняшний день это самое быстродействующее, правда, и самое дорогое решение.

    В случае RAID 0 (stripe) подобная страховка не спасет, так как выход из строя любого из дисков приведет к потере всего массива, однако использование HDD разных производителей может уберечь от покупки сразу двух новых дисков. В любом случае, для RAID 0 также рекомендуется выбирать носители со сходными характеристиками.

    Ты уже принял решение, какие операционные системы собираешься запускать на своем новом железе?

    Операционная система работает с RAID-массивом как с обычным дисковым накопителем – все операции по реализации массива осуществляются на уровне контроллера, таким образом, список ОС, поддерживающих RAID, ограничен только теми, для которых написан драйвер производителем данного RAID-контроллера. Так что перед выбором конкретного контроллера необходимо решить вопрос его поддержки в необходимых тебе операционных системах.

    На рынке PC законодателем является корпорация Microsoft, и, скорее всего, производитель оборудования поставляет в комплекте драйверы для Windows, начиная с 9х. Если же ты верен идеалам свободного программного обеспечения, то, вероятно, придется себя ограничить в выборе железа, как это ни парадоксально звучит :). За актуальной информацией о поддерживаемых чипсетах линуксоидам следует обращаться к спискам рассылки ядра (linux-kernel), поскольку ситуация медленно, но верно продолжает изменяться в лучшую сторону.

    Отметим также, что современные операционные системы, такие, как Windows 2000 Server, Windows Server 2003, Windows XP Professional и Unix-подобные ОС поддерживают создание RAID массивов уровней 0, 1 и 5 средствами операционной системы без RAID-контроллера, однако эта тема выходит за пределы темы данного материала.

    Подготовка к установке Windows

    Создание RAID массива может проходить по нескольким сценариям.

    В случае если Windows будет стоять на отдельном диске, а два новых диска будут объединены в RAID-массив, достаточно просто установить драйверы под Windows с CD. Таким образом, отдельный загрузочный винчестер и RAID-массив – это наилучший вариант.

    Если предполагается объединить в массив все диски, то необходимо учитывать, что вся информация, находящаяся на носителях (если такая имеется), будет потеряна, а перед установкой Windows на новый RAID-массив необходимо подготовить дискету с драйвером контроллера RAID - она пригодится тебе при инсталляции ОС. Чтобы ее создать выполни следующие шаги:

  • Отформатируй флоппи-диск;

  • Распакуй содержимое архива с соответствующими драйверами;

  • Скопируй все файлы на дискету;

  • Пометь ее как RAID Driver Installation.


  • Подключение оборудования

    Для подключения Serial ATA винтов тебе понадобятся кабели SATA и кабели питания. Последние могут быть стандартные, то есть те же, что используются для IDE дисков, а также специально предназначенные для дисков SATA. Иногда бывает, что диск может питаться обоими способами. В таком случае никогда не подключай сразу оба разъема! Устройство может выйти из строя. То есть, если ты имеешь возможность использовать кабели SATA, то сделай это, если нет, то на худой конец сойдут и обычные.

    При подключении семижильного кабеля для передачи данных также соблюдай осторожность - пластмассовые части разъемов могут быть довольно-таки хрупкими.

    Создание массива

    После включения компьютера внимательно следи за сообщениями на экране - тебе нужно не пропустить то, в котором указана комбинация клавиш для входа в утилиту управления BIOS контроллера RAID. Она не представляет собой ничего сложного: как правило, там присутствует список жестких дисков и массивов. Твоя задача состоит в том, чтобы выбрать требуемые диски и указать, что они должны быть объединены в массив нужного тебе уровня.

    Если у тебя есть еще какие-то диски в системе, кроме тех, что ты объединяешь в массив, то будь особенно осторожен, дабы не включить в RAID не то устройство.

    Установка Windows

    Процесс установки Windows на RAID не сильно отличается от обычного. Разница состоит в том, что тебе придется воспользоваться созданной ранее дискеткой с драйверами. Для этого в самом начале процесса инсталляции, когда появляется сообщение, гласящее, что нужно нажать клавишу F6, если требуется установить драйвер SCSI или RAID, нужно это сделать. Далее необходимо действовать, руководствуясь сообщениями программы установки и здравым смыслом.

    После установки системы можно использовать массив как обычный HDD, в том числе создавать и изменять разделы, менять файловые системы при помощи таких утилит как Partition Magic.

    Часто производитель контроллера включает в поставку специальную утилиту для управления RAID. Например, в случае Silicon Image SiI 3112 эти функции возлагаются на программу Windows RAID Manager GUI. Ее также необходимо установить.

    Используем утилиту

    Возможностей у Windows RAID Manager GUI немного, в частности, она не позволяет создавать и удалять массив (это можно сделать только из BIOS). В управляющих утилитах некоторых других производителей, например, Highpoint, присутствует возможность создавать и удалять массив как из ОС, так и удаленно, по сети.

    Итак, данная программа имеет следующие возможности:

    • получение расширенной информации о диске (производитель, модель, серийный номер, версия микропрограммы версия ATA, режим передачи данных (UDMA));



    Последний параметр может пригодиться в связи с различной пропускной способностью 80-жильного и 40-жильного IDE шлейфов. Если в наличии есть только старый 40-жильный провод, то скорость передачи данных необходимо ограничить из утилиты до UDMA-2. При нормальном подключении должен быть выставлен режим UDMA-6, иначе скорость работы винчестера будет низкой.

    • включение/выключение кеширования записи;



    Буфер диска может использоваться как кэш. Если отключить эту функцию, то при большом количестве одинаковых запросов производительность упадет, однако повысится надежность: в случае отключения энергии информация не будет потеряна.

    • изменение режима передачи данных (UDMA) для каждого диска;

    • протоколирование работы массива;

    • высылка лога работы массива по e-mail;

    • "горячая" замена вышедшего из строя диска с последующим копированием на него содержимого рабочего диска.



    Как уже говорилось выше, в случае mirror и подключения к SATA можно, не отключая питания, заменить вышедший из строя HDD, и в течение определенного времени массив будет восстановлен. Для этого в утилите должна быть включена соответствующая функция. В нашем случае мы просто отключили один из HDD (утилита выдала предупреждающее окно), а затем снова подключили его. На восстановление 160-гигабайтного массива потребовалось полтора часа.

    Применяем алгоритм на практике

    Дабы не быть голословными, приведем пример успешной реализации RAID уровней 0 и 1.

    В качестве основы использовалась система на материнской плате GigaByte 7NNXP с процессором AMD Athlon XP 3000+ и объемом оперативной памяти 512 МБ. Контроллер RAID, интегрированный Silicon Image SiI3112A PCI to Serial ATA, BIOS 4.2.0, драйверы 1.0.0.33 и 1.0.0.40, GUI 1.0.0.19. Жесткие диски Maxtor 6Y160M0 и Seagate ST316023AS, оба объемом около 160 ГБ.

    При создании массивов использовался описанный выше сценарий. Для наглядного практического подтверждения сказанного был проведен ряд испытаний, которые имели своей целью сравнить производительность дисков вне массива, а также в различных уровнях RAID.

    Тестирование и результаты

    Мы специально взяли два разных диска, так как именно такая ситуация складывается у среднего пользователя, который докупает новый диск в дополнение к уже имеющемуся.

    Для сравнения производительности были проведены тесты винчестеров в массивах уровней 0 и 1, а также каждого диска в отдельности с помощью пакетов Ziff-Davis WinBench 99 и Intel IOMeter. Для RAID 0 был использован размер страйпа по умолчанию - 16К. Результаты испытаний можно видеть на графиках.

    Bussines-тест Ziff-Davis WinBench 99 – модулирует нагрузку на диск, которую создает один пользователь, запустивший несколько офисных приложений (Outlook, Word, Exel), работает в них и переключается между ними.

    На результаты в этом тесте большое влияние оказывают среднее время случайного доступа и скорость чтения/записи на пластину. Теоретически, mirror должен работать на уровне слабого диска, что и показали результаты теста. В случае stripe теоретически массив должен работать быстрее за счет снижения времени чтения/записи, но реально массив работает несколько медленнее быстрого диска.

    В High-End тесте Ziff-Davis WinBench 99 эмулируется нагрузка на диск при работе одного ресурсоемкого приложения (компилятор Си++, Photoshop, Frontpage). Результат для нескольких приложений усредняется.

    На результаты этого теста сильно влияют размер буфера диска и скорость чтения/записи на пластины. Теоретически RAID 0 должен показать в этом тесте самый высокий результат, но фактически результаты оказались на уровне быстрого диска и даже немного ниже.

    Отметим, что в нашем случае RAID 0 вряд ли поможет увеличить производительность системы для кодирования видео. Целесообразнее сделать медленный диск хранилищем исходных материалов и осуществлять кодирование на быстрый диск.

    В тесте Intel IOMeter имитируется работа file- и web-сервера. На графиках представлена зависимость количества операций ввода-вывода в секунду от глубины очереди запросов. С определенной процентной долей производятся запросы на различные блоки информации. В данных тестах наибольшее влияние оказывают алгоритмы, использованные в микропрограмме, и среднее время случайного доступа, так как имитируется работа сервера.

    Теоретически stripe должен работать быстрее в обоих случаях, что и демонстрируют результаты теста. В случае web-сервера RAID значительно превосходит быстрый диск, в случае file-сервера выигрыш не столь заметен.

    RAID 1, в теории, должен был показать результат на уровне медленного диска, однако на практике в случае file-сервера результаты RAID выше, чем у быстрого диска, в случае web-сервера – практически совпадают.

    Выводы

    Комментируя результаты тестов, хотим обратить твое внимание на то, как сказалась на быстродействии всего массива большая разница в скорости каждого из дисков. Можно видеть, как более медленный Seagate "утягивает" за собой вниз весь массив. Даже в High-End тесте, где, казалось бы, должен сказаться положительный эффект страйпинга, быстродействие всего массива меньше, чем у более быстрого диска Maxtor. Отсюда можно сделать вывод, что при организации RAID лучше выбирать устройства со схожими характеристиками.
     
    • Страница 1 из 1
    • 1
    Поиск:


    Получить свой бесплатный сайт в UcoZ    Получить свой бесплатный сайт в UcoZ                           Сделать бесплатный сайт с uCoz