Домашний дисковый массив RAID5 на 3.5 Тб своими руками
Введение
После того, как моя домашняя коллекция 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. В меню «Файл»
выбираем «Загрузить куст…».
Выбираем папку – Буква_флешки\Windows\System32\Config\. В
этой папке выбираем файл – SYSTEM.
В окне выбора раздела вводим название раздела – FlashUSB.
Щелкаем правой клавишей мыши по этому разделу. В меню выбираем
«Разрешения». В открывшемся окне выбираем «Администраторы» и «Полный
доступ». Далее - «Применить». Нажимаем кнопку «Дополнительно».
В открывшемся окне выбираем «Администраторы» и ставим
чек-пойнт «Заменить разрешения для всех дочерних объектов заданными здесь
разрешениями, применимыми для дочерних объектов». Далее кнопки «ОК» и
«ОК».
Переходим во временную папку, в которую был распакован
архив FlashBootXP. Щелкаем правой кнопкой мыши на файле usbboot.reg. В
открывшемся меню выбираем «Слияние».
Переходим опять в редактор реестра. Выбираем раздел
HKEY_LOCAL_MACHINE\FlashUSB. В меню «Файл» выбираем
«Выгрузить куст…». Закрываем редактор реестра.
Копируем файлы usb.inf, usbport.inf, usbstor.inf из
временной папки в папку - Буква_флэшки\Windows\INF.
Вынимаем флэшку из компьютера.
Вставляем флэшку в компьютер массива. Включаем компьютер,
грузимся с флешки («синий экран смерти» больше не появляется) и продолжаем
установку до завершения.
Когда Windows XP закончит устанавливаться, завершаем
установку драйверами для материнской платы.
По завершению установки отключаем CD-ROM. Может
получиться так, что без CD-ROMa система не будет грузиться. Попробуйте
подключить любой диск массива. Проблема должна исчезнуть.
Далее превращаем флешку в локальный жесткий диск.
Отрываем «Мой компьютер» – «Свойства» – Вкладка
«Оборудование» - «Диспетчер устройств». В диспетчере устройств находим
«Дисковые устройства». Раскрываем этот раздел. Находим в списке свою
флешку. Двойной щелчок мыши на ней. В раскрывшемся окне выбираем закладку
– «Сведения».
На данной вкладке щелчком мыши выделяем «Код устройства»
и копируем его, т.к. записать его не всегда возможно, он бывает виден не
весь, а передвинуть его для просмотра невозможно.
Берем драйвер от Hitachi Microdrive. Там два файла:
cfadisk.inf и cfadisk.sys. Открываем файл cfadisk.inf своим любимым
текстовым редактором. Находим следующие строки:
[cfadisk_device]
%Microdrive_devdesc% =
cfadisk_install,USBSTOR\Disk&Ven_LEXAR&Prod_JD_LIGHTNING_II&Rev_1100
%Microdrive_devdesc% =
cfadisk_install,USBSTOR\Disk&Ven_JetFlash&Prod_TS1GJF110&Rev_0.00
%Microdrive_devdesc% =
cfadisk_install,USBSTOR\DISK&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. Скопировать в любую временную папку следующие
файлы:
-
Буква_флешки:\Windows\system32\drivers\dmboot.sys
-
Буква_флешки:\Windows\system32\dmconfig.dll
-
Буква_флешки:\Windows\system32\Dmadmin.exe
Любым HEX-редактором отредактировать эти файлы:
До редактирования:
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.......
До редактирования:
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
До редактирования:
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 в windows\system32\drivers и
windows\system32\dllcache;
-
dmconfig.dll в windows\system32 и
windows\system32\dllcache;
-
dmadmin.exe в windows\system32 и
windows\system32\dllcache
Вынуть флэшку из компьютера и подключить к массиву.
Создание массива 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Тб. Место еще есть…
Автор: Дмитрий Сердюк
Источник: www.hardwareportal.ru
|