Создание RAID5 на Windows XP x64

Захотелось сделать для домашнего пользования домашний дисковый массив. Покупать готовое это конечно интересно, но не хотелось, тем более что корпус и диски для массива уже были. Осталось за малым - собрать из трех 2х терабайтных дисков отказоустойчивый массив. RAID 10 это хорошо, но слишком для домашнего использования. Я остановил свой выбор на RAID5. Скорость нужна небольшая, а выгода по месту очевидна.

Есть простой вариант - установить Windows 2003 Standard x64, и сделать там RAID5, но во-первых это слишком дорого, если винду покупать :), когда есть возможность использовать более дешевые инструменты, а во-вторых Windows XP быстрее работает, менее требовательна к ресурсам компьютера, да и меньше занимает места. В общем для домашнего архива самое-то. В интернете ходит статья по допиливанию Windows XP Pro x86 до RAID5 (смотреть тут или тут), но в моем случае диски будут большие, и 32 разряда винды недостаточно. Оставалось либо поставить Windows Server 2003 x64, либо как-то допилить Windows XP x64 до нужного состояния.

В моем случае я устанавливал Windows XP Professional x64 Edition SP2 VL (eng) + MUI (rus), так что по сути винда у меня английская.

Вначале устанавливаем SP2 (если еще не установлен), затем накатываем все нужные обновления на винду, затем отключаем автообновления, т.к. есть шанс что после одного из обновлений RAID5 перестанет работать, как это случилось при выходе SP2. Сервис-пак обновил файлы dmboot.sys, dmconfig.dll и dmadmin.exe, и у народа RAID5 отключился.

Вначале надо иметь прямой доступ к файлам системы:

c:\Windows\system32\drivers\dmboot.sys

c:\Windows\system32\dmconfig.dll

c:\Windows\system32\Dmadmin.exe

или в папке:

c:\Windows\system32\dllcache

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

Берём бесплатный HEX редактор XVI32 тут, или в аттаче внизу страницы.

В программе Far Manager я нашел где находятся слова SERVERNT и WINNT, затем в HEX редакторе XVI32 я зашел и заменил слова SERVERNT на WINNT и наоборот.

Адреса вхождений могут меняться от версии к версии файлов, поэтому возможно придется их заново найти.

dmboot.sys, было:

000004D330: 4C 41 4E 4D 41 4E 4E 54 │ 00 CC CC CC CC CC CC CC LANMANNT ╠╠╠╠╠╠╠

000004D340: 57 49 4E 4E 54 00 CC CC │ CC CC CC CC CC CC CC CC WINNT ╠╠╠╠╠╠╠╠╠╠

000004D350: 53 45 52 56 45 52 4E 54 │ 00 CC CC CC CC CC CC CC SERVERNT ╠╠╠╠╠╠╠

000004D360: 50 00 72 00 6F 00 64 00 │ 75 00 63 00 74 00 54 00 P r o d u c t T

dmboot.sys, стало:

000004D330: 4C 41 4E 4D 41 4E 4E 54 │ 00 CC CC CC CC CC CC CC LANMANNT ╠╠╠╠╠╠╠

000004D340: 53 45 52 56 45 52 4E 54 │ CC CC CC CC CC CC CC CC SERVERNT╠╠╠╠╠╠╠╠

000004D350: 57 49 4E 4E 54 00 00 00 │ 00 CC CC CC CC CC CC CC WINNT ╠╠╠╠╠╠╠

000004D360: 50 00 72 00 6F 00 64 00 │ 75 00 63 00 74 00 54 00 P r o d u c t T

dmconfig.dll, было:

0000005F60: 4C 41 4E 4D 41 4E 4E 54 │ 00 00 00 00 00 00 00 00 LANMANNT

0000005F70: 53 45 52 56 45 52 4E 54 │ 00 00 00 00 57 49 4E 4E SERVERNT WINN

0000005F80: 54 00 00 00 00 00 00 00 │ 50 00 72 00 6F 00 64 00 T P r o d

0000005F90: 75 00 63 00 74 00 54 00 │ 79 00 70 00 65 00 00 00 u c t T y p e

dmconfig.dll, стало:

0000005F60: 4C 41 4E 4D 41 4E 4E 54 │ 00 00 00 00 00 00 00 00 LANMANNT

0000005F70: 57 49 4E 4E 54 00 00 00 │ 00 00 00 00 53 45 52 56 WINNT SERV

0000005F80: 45 52 4E 54 00 00 00 00 │ 50 00 72 00 6F 00 64 00 ERNT P r o d

0000005F90: 75 00 63 00 74 00 54 00 │ 79 00 70 00 65 00 00 00 u c t T y p e

dmadmin.exe, было:

0000002A70: 73 00 5C 00 64 00 6D 00 │ 69 00 6F 00 00 00 00 00 s \ d m i o

0000002A80: 73 65 72 76 65 72 6E 74 │ 00 00 00 00 00 00 00 00 servernt

0000002A90: 6C 61 6E 6D 61 6E 6E 74 │ 00 00 00 00 00 00 00 00 lanmannt

dmadmin.exe, стало:

0000002A70: 73 00 5C 00 64 00 6D 00 │ 69 00 6F 00 00 00 00 00 s \ d m i o

0000002A80: 77 69 6E 6E 74 00 00 00 │ 00 00 00 00 00 00 00 00 winnt

0000002A90: 6C 61 6E 6D 61 6E 6E 74 │ 00 00 00 00 00 00 00 00 lanmannt

Затем заливаем файлы обратно на системный диск по путям:

c:\Windows\system32\dllcache\

c:\Windows\system32\

c:\Windows\system32\drivers\

Запускаем винду, заходим в диспетчер дисков, и делаем из наших дисков - динамические.

Далее придется идти в командную строку, т.к. на 64 разрядной хрюше не получится через оболочку сделать дисковый массив (а вот на 32 разрядной системе этот фокус работал).

Нажимаем:

Win+R

Появляется окно, куда пишем

diskpart

Запускаем консоль

list disk

Смотрим список дисков, из которых будем делать RAID5. Не перепутайте с загрузочным, если он у вас есть!

Динамические диски будут отмечены звездочкой.

Disk ### Status Size Free Dyn Gpt

-------- ---------- ------- ------- --- ---

Disk 0 Online 1863 GB 8033 KB

Disk 1 Online 932 GB 662 KB * *

Disk 2 Online 932 GB 1719 KB * *

Disk 3 Online 932 GB 1719 KB * *

Нам нужны диски 1, 2 и 3, так что далее набираем:

create volume raid disk=1,2,3

после этого создается RAID5 из перечисленных дисков, о чем нам и написано:

DiskPart successfully created the volume.

Идем в диспетчер дисков и видим что массив создан. Остается только дать ему букву диска и отформатировать.

Затем будет некоторое время идти ресинхронизация, но работать уже можно, хотя и медленно. После окончания ресинхронизации можно будет поменять производительность системы.