Введение
После того, как моя домашняя коллекция 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Тб. Место еще есть…
Выражаю искреннюю благодарность:
- Дмитрию Чеканову, Патрику Шмидту, Ахиму Русу – за статью «Создаем программный массив RAID-5 под Windows XP»;
- сайту www.flashboot.ru (авторов статей к сожалению не указано)
за статьи «Установка Windows XP SP2 на USB Flash Drive» и «Работа с USB
Flash, как с жёстким диском».
|