• Создание raid массива своими руками

    После того, как моя домашняя коллекция CD и DVD-дисков перевалила за 300 штук, у меня появился вполне резонный вопрос – как со всем этим управляться? Перебирать диски в поисках нужного оказалось очень долго и нудно.

    После поисков в Интернете выяснилось, что для автоматизации библиотеки дисков предлагалось только одно доступное решение – модули Dacal CD Library на 150 дисков. Их емкость можно наращивать каскадами по 5 модулей в стойке, всего до 128 модулей в цепочке, т.е. 150х128=19200 дисков. Но оказалось, что затраты на приобретение модуля, в расчете на стоимость хранения одного диска в подобной библиотеке слишком велика – 38 рублей, а также не устраивали габариты модуля библиотеки (370х390х180мм) и его вес (3,5 кг). Также, недостатком можно считать, что эту систему надо располагать на расстоянии длины USB-шнура от компьютера, т.е. не более 1,5-2 метров.

    Естественно, я обратил внимание на жесткие диски. Имеющиеся в продаже диски емкостью 500 Гб и стоимостью 2000 рублей меня вполне устраивали, т.к. стоимость хранения 1 Гб у них равна 4 рублям.

    При попытке переписать библиотеку дисков на жесткий диск выяснилось, что около 10% ранее записанных дисков не читается – появились царапины или изначально были записаны некачественные болванки. В связи с этим появились сомнения – насколько надежно будут храниться данные на жестком диске – ведь при отказе диска я потеряю всю библиотеку.

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

    Аппаратный контроллер RAID-массива мне не понравился – слишком высокая стоимость контроллера. И еще — при отказе контроллера, массив ничем невозможно поднять, кроме как, точно таким же контроллером. Иметь два дорогих контроллера для надежности – это очень накладно. И диски для контроллера надо иметь одинаковые. В, общем, дорогое решение для дома.

    Оставался программный RAID-массив. После поисков в Интернете было найдено решение — FreeNAS на основе операционной системы FreeBSD. Решение легкое и изящное, но… Выяснилось, что FreeBSD поддерживает не все контроллеры жестких дисков на моей материнской плате – контроллер JMB363 SATA, который там стоял, оказался FreeBSD не по зубам.

    У меня оставалось только одно решение – собрать программный массив RAID-5 под Windows XP. Для того, чтобы емкость жестких дисков использовалась только для массива, было решено, что операционная система массива будет грузиться с USB Flash диска.

    Выбор железа

    Главное в такой системе – вместительный корпус. Был взят пустой старый корпус от промышленного компьютера (халява) с 8 гнездами 5,25” под жесткие диски.

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

    В качестве блока питания был использован FSP ATX-400 ATX (24pin) 400W. Хотя потребляемая массивом мощность равна 200 ваттам, двукратный запас по мощности блока питания позволял надеяться на более качественное питание (по напряжениям 5В и 12В), выдаваемое на массив. Блок пришлось доработать – добавить разъемы для питания жестких дисков.

    Для установки жестких дисков я приобрел 8 модулей SATA Rack Mount черного цвета с вентиляторами для охлаждения дисков. Для улучшения охлаждения дисков в пластмассе модулей были прорезаны дополнительные отверстия. Эти модули также позволяют быстро заменить неисправный диск.

    Материнская плата подойдет любая, с необходимым количеством разъемов SATA на ней и возможностью в BIOS загрузки с USB-HDD диска. В моем случае была использована плата ABIT AB9-PRO i965P ATX SATA, с 9 разъемами SATA-2, 1 — E-SATA и 1 – IDE.

    Так как в материнской плате не оказалось встроенной видеокарты, я поставил старенькую PCI-карту S3 Virge. Опять халява 🙂

    Для массива я приобрел 8 дисков Samsung 500Gb (16Mb) HD501LJ SATA-2 7200rpm. Выбор именно SATA-2 винчестеров обусловлен более высокой скоростью обмена, а главное – 8 кабелей для подключения SATA дисков занимают существенно меньшее место в корпусе, по сравнению с 8 IDE кабелями и это оказывает свое влияние на продуваемость корпуса, т.е на охлаждение. Можно использовать и более емкие диски, например диски на 1Тб, и увеличить размер массива до 7Тб, но на момент создания массива, по соотношению емкость/цена, эти диски оказались оптимальными.

    Оперативная память – 1 плашка DDR-2 PC667 на 1024 Мб. С этим объемом получился перебор – использование памяти никогда не превышало 105 Мб.

    Процессор — INTEL Celeron-420, 1,6 ГГц. С процессором наоборот, получился недобор. Если скорость чтения с массива практически не зависит от процессора и составляет 85-95 Мб/сек по сети, то запись нагружает процессор до 95-97% (т.к. это все-таки программный массив) и скорость становится в 3-4 раза меньше скорости чтения (20-30 Мб/сек). Таким образом, чем производительнее процессор, тем быстрее работает система на запись.

    Для установки и запуска операционной системы Windows XP я использовал Kingstone Flash-USB DataTraveler объемом 2 Гб.

    Забегая вперед хочу сказать, что когда я собрал все железо в корпус и включил, эффект от его работы превзошел все мои ожидания. Система ревела как реактивный самолет на взлете. Еще бы — 8 вентиляторов продувают жесткие диски, 1 вентилятор — для процессора, 1 вентилятор — для блока питания и 1 вентилятор – продувает корпус. Итого – 11 штук. Самые шумные – вентиляторы для дисков, они же самые маленькие. Но без них никак было нельзя. Если с ними температура дисков поднималась не более 37°С, то без них температура моментально поднималась к 47-48°С, слишком плотно стояли диски. Заменить воздушную систему охлаждения на более тихую, водяную, представлялось весьма проблематичным из-за отсутствия ватерблоков для жестких дисков и общей высокой стоимости такой системы охлаждения.

    В таком виде массив было нельзя ставить там, где находились люди (т.е. в гостинной) и для его перенесения в такое место, где шум никому не мешает (в туалет), пришлось к общему списку железа добавить адаптер Wi-Fi. Я использовал D-Link DWA-520 PCI 802.11g с турбо-режимом. Скорость обмена с изделиями D-Link, также имеющими турбо-режим составляет 108 Мб/с.

    Шаманские пляски (с бубном)

    1. Подготовка Flash-USB диска

    Для использования подходит любой Flash-USB диск, объемом 2 Гб. Замечание первое: чем больше скорость чтения с Flash-USB диска, тем быстрее грузится операционная система при включении. Хотя, если система будет работать в режиме 24/7, скорость загрузки при включении не будет являться определяющей.

    Замечание второе: почему-то Flash-USB диски, даже, если они одного производителя, одной емкости и отформатированы одинаково (FAT или FAT32), не все из них видны в BIOS материнской платы, как USB-HDD диски. И если они не видны в BIOS, соответственно Windows на них устанавливаться не будет. В чем тут зарыта собака, я так и не понял, хотя попробовал не менее 20 десятков изделий (друзья давали попробовать).

    Я использовал для подготовки Flash-USB диска следующую программу — FlashBoot v1.4.0.157, которая гарантированно давала результат. После ее применения, любая флэшка в BIOS материнской платы определялась, как USB-HDD диск.

    2. Установка WindowsXPна Flash-USB

    Собираем систему, не подключая жесткие диски. Подключаем Flash-USB диск и проверяем, виден ли он в BIOS материнской платы, как USB-HDD диск. Для установки Windows XP подключаем CD-ROM дисковод. Он может быть с любым интерфейсом — IDE или SATA, только не USB. При установке Windows XP CD-ROM с интерфейсом USB конфликтует с флэшкой. Еще с флэшкой конфликтует при установке USB-клавиатура и USB-мышь. Они должны быть с разъемами PS/2.

    Запускаем установку с CD-ROM. Происходит первоначальная загрузка необходимых файлов установки, далее выбор диска, на который надо установить Windows XP, и далее, после перезагрузки компьютера, появляется «синий экран смерти» с ошибкой — STOP 0x000007b. Выключаем компьютер. Вынимаем флешку.

    Подключаем флешку к любому компьютеру с установленной Windows XP.

    Берем архив FlashBootXP_ver1.rar. Распаковываем во временную папку на жестком диске. В этом архиве 4 файла: usb.inf, usbport.inf, usbstor.inf, usbboot.reg.

    Запускаем редактор реестра regedit.

    Выделяем раздел HKEY_LOCAL_MACHINE. В меню «Файл» выбираем «Загрузить куст…».

    Выбираем папку – Буква_флешкиWindowsSystem32Config. В этой папке выбираем файл – SYSTEM.

    В окне выбора раздела вводим название раздела – FlashUSB. Щелкаем правой клавишей мыши по этому разделу. В меню выбираем «Разрешения». В открывшемся окне выбираем «Администраторы» и «Полный доступ». Далее — «Применить». Нажимаем кнопку «Дополнительно».

    В открывшемся окне выбираем «Администраторы» и ставим чек-пойнт «Заменить разрешения для всех дочерних объектов заданными здесь разрешениями, применимыми для дочерних объектов». Далее кнопки «ОК» и «ОК».

    Переходим во временную папку, в которую был распакован архив FlashBootXP. Щелкаем правой кнопкой мыши на файле usbboot.reg. В открывшемся меню выбираем «Слияние».

    Переходим опять в редактор реестра. Выбираем раздел HKEY_LOCAL_MACHINEFlashUSB. В меню «Файл» выбираем «Выгрузить куст…». Закрываем редактор реестра.

    Копируем файлы usb.inf, usbport.inf, usbstor.inf из временной папки в папку — Буква_флэшкиWindowsINF.

    Вынимаем флэшку из компьютера.

    Вставляем флэшку в компьютер массива. Включаем компьютер, грузимся с флешки («синий экран смерти» больше не появляется) и продолжаем установку до завершения.

    Когда Windows XP закончит устанавливаться, завершаем установку драйверами для материнской платы.

    По завершению установки отключаем CD-ROM. Может получиться так, что без CD-ROMa система не будет грузиться. Попробуйте подключить любой диск массива. Проблема должна исчезнуть.

    Далее превращаем флешку в локальный жесткий диск.

    Отрываем «Мой компьютер» – «Свойства» – Вкладка «Оборудование» — «Диспетчер устройств». В диспетчере устройств находим «Дисковые устройства». Раскрываем этот раздел. Находим в списке свою флешку. Двойной щелчок мыши на ней. В раскрывшемся окне выбираем закладку – «Сведения».

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

    Берем драйвер от Hitachi Microdrive. Там два файла: cfadisk.inf и cfadisk.sys. Открываем файл cfadisk.inf своим любимым текстовым редактором. Находим следующие строки:

    [cfadisk_device]

    %Microdrive_devdesc% = cfadisk_install,USBSTORDisk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100

    %Microdrive_devdesc% = cfadisk_install,USBSTORDisk&Ven_JetFlash&Prod_TS1GJF110&Rev_0.00

    %Microdrive_devdesc% = cfadisk_install,USBSTORDISK&VEN_&PROD_USB_DISK_2.0&REV_P

    В последней строке удаляем все, после – « %Microdrive_devdesc% = cfadisk_install, ». На освободившееся место вставляем ранее скопированный «Код устройства». Потом в этой строчке находим последний слеш « » и удаляем его и все, что расположено в этой строке до конца. Сохраняем файл.

    Снова последовательность — «Мой компьютер» – «Свойства» – Вкладка «Оборудование» — «Диспетчер устройств». В диспетчере устройств находим «Дисковые устройства». Раскрываем этот раздел. Находим в списке свою флешку. Двойной щелчок мыши на ней. В раскрывшемся окне выбираем закладку – «Драйвер». Щелкаем по кнопке «Обновить».

    В открывшемся окне выбираем чек-пойнт «Нет, не в этот раз». Щелкаем клавишу «Далее». Выбираем чек-пойнт «Установка из указанного места». Щелкаем клавишу «Далее». Выбираем чек-пойнт «Не выполнять поиск. Я сам выберу драйвер». Щелкаем клавишу «Далее». Щелкаем по клавише «Установить с диска». Щелкаем по клавише «Обзор» и раскрываем папку, где находится драйвер Hitachi Microdrive с модифицированным файлом cfadisk.inf. Указываем на этот файл и, не взирая на все протесты Windows о том, что этот драйвер не подходит, не прошел тестирование на совместимость и т.д., насильно устанавливаем драйвер.

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

    Кстати, данный способ хорош для современных флешек емкостью от 4Гб и более. После этого их можно форматировать в любую файловую систему, поддерживаемую Windows, можно создать на флешке несколько разделов, а система NTFS позволяет преодолевать ограничения на размер одного файла в 2 Гб.
    RAID-5 под WindowsXP (из-за чего все и затевалось)

    Активация поддержки массивов RAID-5 в WindowsXP

    В Windows XP существует поддержка массивов RAID-5, просто она не включена. Для активации этой функции необходимо проделать следующие телодвижения.

    Вынуть флешку из массива и подключить к любому компьютеру с установленной Windows XP. Скопировать в любую временную папку следующие файлы:
    Буква_флешки:Windowssystem32driversdmboot.sys
    Буква_флешки:Windowssystem32dmconfig.dll
    Буква_флешки:Windowssystem32Dmadmin.exe

    Любым HEX-редактором отредактировать эти файлы:
    dmboot.sys

    До редактирования:

    0000f1f0h: 74 00 54 00 79 00 70 00 65 00 00 00 57 49 4E 4E ; t.T.y.p.e…WINN

    0000f200h: 54 00 00 00 53 45 52 56 45 52 4E 54 00 00 00 00 ; T…SERVERNT….

    После редактирования:

    0000f1f0h: 74 00 54 00 79 00 70 00 65 00 00 00 53 45 52 56 ; t.T.y.p.e…SERV

    0000f200h: 45 52 4E 54 57 49 4E 4E 54 00 00 00 00 00 00 00 ; ERNTWINNT…….
    dmconfig.dll

    До редактирования:

    00005140h: 4C 41 4E 4D 41 4E 4E 54 00 00 00 00 53 45 52 56 ; LANMANNT….SERV

    00005150h: 45 52 4E 54 00 00 00 00 57 49 4E 4E 54 00 00 00 ; ERNT….WINNT…

    После редактирования:

    00005140h: 4C 41 4E 4D 41 4E 4E 54 00 00 00 00 57 49 4E 4E ; LANMANNT….WINN

    00005150h: 54 00 00 00 00 00 00 00 53 45 52 56 45 52 4E 54 ; T…….SERVERNT
    Dmadmin.exe

    До редактирования:

    00001c30h: 73 65 72 76 65 72 6E 74 00 00 00 00 6C 61 6E 6D ; servernt….lanm

    00001c40h: 61 6E 6E 74 00 00 00 00 50 72 6F 64 75 63 74 54 ; annt….ProductT

    После редактирования:

    00001c30h: 77 69 6E 6E 74 00 00 00 00 00 00 00 6C 61 6E 6D ; winnt…….lanm

    00001c40h: 61 6E 6E 74 00 00 00 00 50 72 6F 64 75 63 74 54 ; annt….ProductT

    Сохранить файлы и закрыть. Далее скопировать эти файлы из временной папки в следующие места на флешке:
    dmboot.sys в windowssystem32drivers и windowssystem32dllcache;
    dmconfig.dll в windowssystem32 и windowssystem32dllcache;
    dmadmin.exe в windowssystem32 и windowssystem32dllcache

    Вынуть флэшку из компьютера и подключить к массиву.
    Создание массива RAID-5

    Вставить на свои места все жесткие диски для создания массива. Включить компьютер и загрузиться с флешки.

    Открываем «Панель управления» — «Администрирование» — «Управление компьютером» — «Управление дисками». Шелкаем правой кнопкой мыши на каждом диске, который будет входить в состав массива, выбираем «Преобразовать в динамический». Дожидаемся конца преобразования.

    Далее выбираем «Создать том». Указываем в чек-пойнте — «RAID-5». Нажимаем кнопку «Далее». В следующем окне указываем все диски, которые будут входить в массив. Нажимаем кнопку «Далее».

    Замечание: Размеры всех дисков в массиве обрежутся по диску минимального размера, входящего в массив, т.е., совсем не обязательно подбирать диски одинакового размера и одного производителя. Кстати, у меня на материнской плате диски подключены к трем микросхемам контроллеров жестких дисков разных фирм.

    В следующем окне назначаем букву диска. Нажимаем «Далее». В следующем окне выбираем тип файловой системы – NTFS и отмечаем чек-пойнт «Быстрое форматирование». Нажимаем кнопку «Далее».

    Как только процесс завершится, наступает счастье – массив RAID-5 почти готов к работе.

    Окончательная доводка

    Для окончательной доводки системы необходимо:
    отключить файл подкачки;
    изменить свойства корзины – «Уничтожать файлы сразу после удаления, не помещая их в корзину»;
    отключить восстановление системы;
    в «Диспетчере устройств», в свойствах флешки, во вкладке «Политика» выбрать чек-пойнт «Оптимизировать для выполнения».

    Далее, воспользовавшись программой XPLite 1.7 Rus, нужна версия «Профессионал», удалить из Windows XP все лишние приложения и службы, оставив только дисковые и сетевые функции. Для удаленного управления массивом устанавливаем какую-нибудь программу для удаленного управления, например Radmin или что-нибудь подобное.

    Теперь отключаем монитор, клавиатуру и мышь. Все.

    Что мы с этого всего имеем

    Стоимость массива
    Процессор — INTEL Celeron-420, 1,6 Гц — 930,00х1 = 930,00
    Материнская плата ABIT AB9-PRO i965P ATX SATA — 3750,00х1 = 3750,00
    Память DDR-2 PC667 1024 Мб — 750,00х1 =750,00
    Жесткий диск Samsung 500Gb (16Mb) HD501LJ SATA-2 7200rpm — 2000,00х8 = 16000,00
    Kingstone Flash-USB DataTraveler объемом 2 Гб — 230,00х1 = 230,00
    Адаптер Wi-Fi D-Link DWA-520 PCI 802.11g — 750,00х1 = 750,00
    Блок питания FSP ATX-400 ATX (24pin) 400W — 950,00х1 = 950,00
    Rack Mount SATA — 200,00х8 = 1600,00
    Корпус — халява
    Итого: = 24960,00

    Получилось по моим подсчетам около 1000$. Стоимость хранения 1 Гб – около 7 рублей. Извините, я не посчитал стоимость Windows XP и затраты электроэнергии на функционирование массива. Можно попытаться еще больше минимизировать затраты на систему.

    Если поискать в Интернете стоимость готовых решений такого объема, их стоимость просто ошеломляет.

    Достоинства
    Дешевизна;
    Возможность увеличения объема массива до 7Тб, при использовании дисков объемом 1 ТБ;
    Возможность использовать диски разных объемов (не менее минимального объема диска, уже имеющегося в массиве) и разных производителей;
    При выходе из строя материнской платы или флешки можно легко поднять массив, проделав вышеописанные операции с новыми компонентами (только не надо создавать снова тома и преобразовывать диски в динамические, а перейдя в «Администрирование» — «Управление компьютером» — «Управление дисками», щелкнуть правой клавишей мыши на томе массива и выбрать «Импортировать» — все восстановится автоматически).
    Простое управление доступом к массиву, основанное на механизмах Windows XP.

    Недостатки
    Шум от системы (но тут никуда не денешься при любом решении);
    Низкая скорость записи (тут надо будет увеличивать мощность процессора).

    Сейчас на массиве у меня хранится:
    1 450 фильмов с качеством HDTV, DVD и AVI;
    более 11 000 моих фотографий в формате JPG;
    более 12 000 музыкальных композиций в формате MP3;
    14 фильмов, отснятых мною;
    библиотека из 9 500 книг в формате XML, CHM и TXT;
    архив разнообразного программного обеспечения.

    Все это у меня занимает около 2Тб. Место еще есть…

    Выражаю искреннюю благодарность:

    — Дмитрию Чеканову, Патрику Шмидту, Ахиму Русу – за статью «Создаем программный массив RAID-5 под Windows XP»;

    — сайту www.flashboot.ru (авторов статей к сожалению не указано) за статьи «Установка Windows XP SP2 на USB Flash Drive» и «Работа с USB Flash, как с жёстким диском».

    Источник: www.hwp.ru

    Виктор Некрасов
    van (at) tulachermet.ru
    23/11.2008

    Нравится Добавь в закладки