суббота, 9 февраля 2013 г.

домашний сервер raid программный или апаратный

Достаточно много компьютерных энтузиастов доросли до такого уровня, когда стопка разнокалиберных жестких дисков уже не устраивает и хочется построить правильный RAID массив на много терабайт. Но тратить кучу денег на первое попавшееся железо никто не будет, а узнать всё заранее не очень-то просто: в официальных обзорах обычно сравнивают количественные, но не качественные характеристики, на форумах информации мизер, т.к. далеко не у каждой домохозяйки есть такие игрушки, а профессионалы попросту молчат. Цель моей статьи не завалить графиками из IOMeter, а понаступать на все возможные грабли при работе с разными типами систем: аппаратным RAID, сборкой на основе чипсетного контроллера и программным массивом. Надеюсь, кому-нибудь она поможет определиться в выборе и подготовит к решению возможных проблем. Тестовая система. CPU: E8200 2,66GHz Cooler: Scythe Ninja Plus Rev.B Motherboard: ASUS P5E-V HDMI RAM: 2x Corsair TWIN2X4096-6400C4DHX 8GB Video: Integrated HDD: Seagate Momentus 7200.2 ST980813AS 80GB Case: Thermaltake Armor PSU: Enermax PRO 82+ 525W А вот краса и гордость: Жесткие диски: 3х WD1000FYPS 3000GB Аппаратный RAID: Adaptec ASR-31605 + BBU Чипсетный контроллер: Intel ICH9R Программный массив на базе Windows 2008 Server x64 Datacenter edition Eng. Диски подключены к ICH9R в режиме AHCI. Исследуемые ситуации. - Особенности систем. - Отложенный запуск дисков. - Работа с массивом >2ТБ. - Миграция уровня RAID. - Горячая замена диска. - Добавление нового диска в массив. - Миграция платформы. - Выпадение диска из массива RAID-0. - Выпадение одного и двух дисков из массива RAID-5. Особенности систем Аппаратный RAID Этот раздел и все прочие я буду начинать с самого сложного, но и самого интересного - контроллера Adaptec. Отвечу на два вопроса, которые обычно возникают перед покупкой: заработает ли он на обычной, не серверной материнской плате и насколько нужна батарейка? Батарейка необходима в том случае, если вы собираетесь использовать кеш. У моей модели его 256 Мбайт, а это значит, что все операции в пределах данного объема будут выполняться очень быстро, как на RAM диске - грех не воспользоваться. Но есть и минус: если вдруг пропадет питание, то данные, которые еще не записались на пластины, пропадут. А если в момент аварии происходило редактирование какого-то большого файла, то система может остановиться вообще в непредсказуемой точке. Если же есть батарейка, то при прекращении питания данные в кеше не исчезнут и будут записаны на диск при первой возможности. Производитель обещает, что батарейка может поддерживать кеш 3 дня. Так нужна ли она? Думаю, что если массив будет выполнять роль файлопомойки, которая используется только на чтение, то можно и обойтись. Во всех остальных случаях рисковать не стоит. Теперь насчет материнской платы. ASUS P5E-V HDMI, которая позиционируется далеко не как серверная, имеет 2 слота PCIe x16. Верхний синий разъем всегда работает на полную скорость, нижний же черный работает как x4, и то при условии, что третий слот x1 свободен, иначе скорость просядет до x2. Контроллер заработал сразу без всяких шаманств и в x4, и в x16. В слот x1 его по понятным причинам установить невозможно. Есть ли разница в скорости? Забегая вперед, покажу: Тест проводился на массиве RAID-0 из 3 дисков. Синим цветом нарисован график скорости чтения в режиме x8 (максимум самого контроллера), красный - x4. Очень интересно выглядит скачок на отметке 2ТБ... скорее всего, это связано с адресацией дискового пространства, но что именно происходит, я сказать не могу. Главное, что разница в скоростях минимальна. Быстро выяснилось, что маленькие радиаторы на чипах не справляются со своей задачей в пассивном режиме - контроллер начинает пищать, когда его температура переваливает за 75 градусов. Бловер TITAN TTC-005, посаженный на 7В, решил проблему раз и навсегда - выше 50 не поднимается. Следующие грабли я нашел после прошивки последней версии биоса контроллера. Полный текст переписки с суппортом я выложил . Краткий смысл в том, что при инициализации контроллера невозможно попасть в меню конфигурирования - сервер просто виснет. Если работать через утилиту из Windows, всё в норме, но если бы я поспешил с обновлением и после этого захотел поставить ОС на еще не сконфигурированный массив, была бы проблема. В исходной прошивке проблем не было... В итоге Adaptec признал баг и обещал выпустить новую версию биоса. Кстати, тот факт, что меня не послали к Асусу, развеивает все мифы о том, что серверному контроллеру якобы обязательно нужна серверная материнская плата, однако и здесь без приколов не обошлось. У материнской платы нашлись две проблемы. Первая: если контроллер стоит в разъеме x16, то отключается HDMI выход. Как я ни старался, работал только VGA... Т.к. вместе с переходником HDMI->DVI я использую DVI KVМ переключатель, было решено пожертвовать скоростью чтения из кеша и оставить плату в нижнем четырехскоростном разъеме. А вторую проблему я обнаружил чисто случайно после установки PCIe видеокарты. Это сообщение пролетает за 1/10 секунды, поэтому извиняюсь за качество - это скриншот из видеоролика. Суть в том, что материнская плата не может работать с множеством тяжелых ROM, и кому не хватило места, отваливается. В моем случае не повезло ICH9R в режиме RAID - устройства, подключенные к нему, не работают, а в диспетчере устройств Windows горит восклицательный знак с припиской "Device can not be started". Если ICH9R перевести в режим AHCI, проблем нет, но я на это идти не хочу. Техподдержка ASUS ответила в течение 3х часов: цитата:Пожалуйста, обновите еще раз BIOS, используя утилиту AFUDOS. После обновления обязательно сбросьте настройки BIOS с помощью перемычки CLRTC. Отключите максимальное количество интегрированных устройств на плате. Отключите контроллер Jmicron и включите int 19 capture. Выключите legacy USB support. Попробуйте проверить работу материнской платы с другим рейд контроллером. Возможно, есть внешние контроллеры с меньшим размером ROM, с которыми не возникает подобная проблема. К моему изумлению, это помогло. Пришлось пожертвовать только PATA контроллером, который всё равно не используется. Я уже пробовал его отключать, но проблема оставалась - видимо, сработала правильная последовательность действий... На следующий день мне прислали новую версию BIOS, которой даже пока нет на официальном сайте. К сожалению, никаких изменений не произошло - что-то одно всё равно придется отключить. Лично я попросту не буду использовать внешнюю видеокарту, а всем остальным советую учесть этот нюанс - "умных" устройств с ROM желательно иметь минимум, т.к. RAID контроллер может требовать для себя довольно много. Кстати, не могу утверждать, что серверная плата этим и отличается: в свое время мы намучились с серверами IBM, в которые устанавливались карты контроля доступа Аккорд-СБ, также с "увесистым" ROM - по такой же причине не у дел оставались SCSI контроллеры, к которым подключались стриммеры. IBM признал баг и сказал, что используемая микросхема BIOS физически не может вместить нужный нам объем данных. Чипсетный контроллер Ну, это уже проще. Чтобы задействовать функции RAID на материнской плате с подходящим южным мостом, достаточно включить этот режим в BIOS. С вашего позволения, я не буду описывать каждый клик мышки, а остановлюсь на основных принципах. ICH9R достаточно мощный контроллер, который поддерживает до 6 дисков, умеет создавать RAID-5 и за счет технологии Matrix Storage создавать несколько логических томов с разными типами RAID на одном наборе дисков. У него нет своего чипа для вычисления контрольных сумм RAID-5 и своего кеша, но это компенсируется за счет процессора и оперативной памяти компьютера. Он, как и хардверный контроллер, поддерживает загрузочные тома, может настраиваться из собственного биоса и имеет вполне удовлетворительный инструмент для управления под Windows. Программный массив В последних версиях Windows есть такое понятие, как динамические диски. Работа с ними ведется через панель MMC Управление дисками. Общая логика проста: массив представляет собой полностью программную абстракцию, незнакомую старым версиям Windows и Linux, с которой также не работают сторонние утилиты (они видят диски как раздельные устройства). Зато она свободна от всяческих ограничений, таких как число разделов или размер MBR диска. Динамический диск может быть одиночным (с возможностью расширения), можно создать Spanned Volume (в простонародье JBOD - Just a bunch of disks - просто куча дисков; позволяет объединить диски разного размера в единое пространство), а также RAID-0, RAID-1 и RAID-5. Более экзотические конфигурации, типа RAID-10 или RAID-6, не предусмотрены. В интернете навалом как , так и обзоров этой технологии. Если кто-то сомневается в полноте своих знаний, советую прочитать хотя бы эти две статьи (именно в таком порядке). Я же постараюсь не судить предвзято, а просто проверить динамический диск в тех же условиях, что и другие контроллеры. Отложенный запуск дисков Один жесткий диск потребляет во время работы 8-12 Вт, но в момент включения это число больше примерно в три раза. Несложно посчитать, что 15 дисков в штатном режиме потребляют ток около 12А по линии 12В, а при старте им нужно обеспечить все 40, плюс всем остальным узлам потребуется 10, а то и 20А. Получается, что необходим блок питания мощностью около 850Вт, хотя абсолютное большинство времени система не будет потреблять больше 200Вт. При малой нагрузке любой блок питания работает с низким КПД, соответственно будут утекать лишние деньги за электричество. А если еще вспомнить про ИБП, то картина совсем плачевная: модели на 600 ВА хватило бы за глаза, а потребуется покупать минимум на 1000. Надеюсь, понятно, почему технология staggered spin-up или отложенный запуск дисков (когда они стартуют по очереди) так важна в большом хранилище. Что нужно для ее работы? В теории все SATA2 диски должны поддерживать такие функции как NCQ, Hot Swap, Port Multiplier и Staggered Spin-Up. Контроллер же должен просто поддерживать режим AHCI (Advanced Host Controller Interface). Реальность же, как обычно, гораздо суровее и об этом мало кто говорит. Производитель дисков может запросто заблокировать какую-то функцию по маркетинговым соображениям (классический пример - Seagate и AAM), а контроллер может поддерживать нужные функции, но не иметь возможности настроить какие-либо параметры. Аппаратный RAID Staggered Spin-Up не заработал. Вместо этого получился долгий процесс выяснения отношений с WD и Adaptec, который я также вынес . Оба производителя заявляют от поддержке отложенного запуска, но WD упорно и утверждает, что функция должна поддерживаться контроллером, а Adaptec во всем винит жесткие диски. Также Adaptec сказал странную вещь, что контроллер настроен на запуск дисков группами по 6 штук с интервалом в 0,5 сек и это никак не изменить... Вообще, процесс раскрутки занимает несколько секунд и толку от паузы в полсекунды не будет никакого, всё равно будет момент, когда необходим ток под 60A. В моем понимании диск с установленным на отложенный запуск джампером должен не включать двигатель и тупо ждать сигнал на старт от контроллера. Никто не сможет дать команду на запрет раскрутки в первые мгновения после подачи питания... но это уже философия. Не знаю, кого винить, WD, Adaptec или себя, но факт остается фактом: все диски стартуют одновременно. Всем троим незачёт. Чипсетный контроллер Intel о поддержке AHCI для своих южных мостов начиная с ICH6R, которые ставились в дополнение к 915м чипсетам. ICH9R тем более обладает поддержкой всех нужных функций, но... диски вновь стартуют все сразу, а никаких настроек нет. Программный массив Конечно, вы понимаете, что говорить о поддержке аппаратных функций программным массивом нелепо. Всё зависит от контроллера, к которому физически подключены диски. Если вы захотите сделать "дешево и сердито", купив пачку дешевых PCI SATA контроллеров, то ни о каком AHCI говорить не приходится. В моем случае справедливы все выводы, сделанные по ICH9R. Работа с массивом >2ТБ. Аппаратный RAID Старые RAID контроллеры не поддерживают тома >2ТБ, но мой Adaptec к таковым не относится. Посмотрим, как выглядит из Windows массив RAID-0 из трех терабайтных дисков. Первое, что появляется перед глазами: доступные 2 ТБ + хвост, в котором невозможно даже создать раздел. Кто виноват и что делать??? Виноват тип диска MBR (Master Boot Record), который появился еще в первозданном IBM PC. Более подробно можно почитать хотя бы на [url= %D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C]Википедии[/url], но суть в том, что 2 ТБ - это предел, причем независимый от типа файловой системы. Отсюда вывод, что во-первых, диск размером >2 ТБ должен использовать иной формат размещения разделов, а во-вторых, такой диск уже не сможет быть загрузочным для классического BIOS. Если вы захотите установить ОС на подобный RAID массив, то необходимо разбить его на логические разделы (LUN) на уровне контроллера, тогда с точки зрения ОС вы получите несколько совершенно независимых дисков. А как же жить с диском >2 ТБ? Для этого Интелом был предложен новый стандарт - [url= %D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_GUID]GPT[/url]. Он поддерживает до 128 разделов размером до 18 Эбайт (18 млн ТБ) - думаю, на первое время нам хватит. Этот формат не поддерживается в 32-битном Windows XP, но с ним умеют работать XP x64 и Server 2003 SP1, соответственно в 2008м x64 всё просто: После преобразования диска в GPT уже можно создать нормальный большой радел... ...которым можно и нужно пользоваться. Далее я планировал продемонстрировать работу различных приложений для управления разделами, но ни Acronis Disk Director, ни Partition Magic, ни ворох других программ не смогли что-либо сделать с GPT диском. Как сказано на Википедии, "Более старые ОС обычно представляют диск, как содержащий единственный раздел неизвестного типа и без свободного места; как правило, они отказываются модифицировать такой диск, пока пользователь явно не потребует и не подтвердит удаление данного раздела". Я нашел только один инструмент для работы с разделами: консольная утилита diskpart, по которой Микрософтом написан приличный . Ограничения налицо, но я надеюсь, вам и не понадобится выполнять сложные операции с разделами, а для базовых вполне хватит стандартных средств Windows. Тем не менее, хочется верить, что сторонние разработчики наконец проснутся и обеспечат поддержку GPT дисков в своих программах. Чипсетный контроллер Уважаемый мною магазин NIX.ru в своем FAQ следующее: цитата:RAID-контроллер не поддерживает создание тома р

Персональные Страницы

Комментариев нет:

Отправить комментарий