Создаём программный массив RAID 5 под Windows XP
Редакция THG,  29 ноября 2004


Программный массив RAID 5?

Введение

Сегодня на рынке присутствует множество моделей жёстких дисков от таких именитых производителей, как Hitachi, Maxtor, Seagate и Western Digital. Для дома или офиса одного привода обычно бывает достаточно. Но для корпоративных сетей, кластеров или файловых серверов часто необходимо использовать несколько жёстких дисков. При этом возникает проблема - серьёзные контроллеры массивов RAID стоят довольно дорого.

Многие материнские платы оснащены встроенными контроллерами RAID, но не все из них подходят для организации файлового сервера. Большинство контроллеров поддерживают только простейшие режимы 0 и 1, а также комбинацию двух режимов RAID 0+1 (чередование и зеркалирование). Хотя массив RAID 0 даёт большую ёмкость и великолепную производительность, он, в то же время, повышает вероятность потери данных. Чем больше приводов в массиве RAID 0, тем более вероятна потеря данных из-за сбоя одного жёсткого диска. Хорошим компромиссом можно считать массив RAID 0+1, где дублируются два массива RAID 0, но при этом суммарный объём жёстких дисков следует делить наполовину.

Если нужна высокая ёмкость и надёжность, то хорошим решением будет массив RAID 5, который распределяет данные по всем дискам, а также добавляет информацию чётности поочерёдно на каждый диск. Общая ёмкость такого массива равна сумме объёмов всех приводов за минусом объёма одного жёсткого диска. Но подобное решение не так просто реализовать, как кажется. Вычисление информации чётности, а также восстановление данных в реальном времени в случае сбоя привода потребляет немало вычислительных ресурсов CPU. Для решения этой проблемы можно купить довольно дорогой контроллер RAID со встроенным блоком XOR или приобрести дешёвую модель, которая будет использовать центральный процессор для вычисления операций XOR.

Но почему мы игнорируем программную реализацию RAID 5? Если средств у вас немного, то, помимо использования простого RAID-контроллера без блока XOR, можно развернуть программный массив RAID 5. Windows Server может внести в массив RAID 5 все существующие приводы, так что даже RAID-контроллер вам не понадобится. Впрочем, если вам нужны простые файловые службы, то можно даже не тратиться на дорогой Windows Server, - с некоторыми модификациями можно построить мощный массив RAID и под Windows XP. Только помните, что Windows XP поддерживает одновременное подключение, максимум, десяти сетевых клиентов.

Развёртываем массив RAID 5 под Windows XP

Чтобы Windows XP смогла работать с RAID 5, необходимо воспользоваться hex-редактором (тем же Ultra Edit или Hacker's View), а также взять CD с Windows XP. Сначала следует скопировать некоторые файлы во временную папку:

C:\windows\system32\drivers\dmboot.sys
C:\windows\system32\dmconfig.dll
C:\windows\system32\Dmadmin.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

Затем файлы в каталоге Windows System32 следует заменить нашими модифицированными версиями. Но простое переписывание здесь не подойдёт, поскольку Windows самостоятельно восстановит оригинальные версии файлов.

Если ваш диск отформатирован под FAT32, то просто загружайтесь в DOS и перезапишите файлы вручную. Но так как FAT32 не обеспечивает никакой защиты файлов, мы настоятельно не рекомендуем использовать эту файловую систему.

В окружении NTFS вам придётся загрузиться с CD Windows XP и запустить консоль восстановления системы (recovery console). Это можно выполнить, нажав "R" в первом меню. Но перед этим модифицированные файлы следует скопировать на дискету.

После загрузки консоли восстановления перейдите в каталог Windows:

C: [ENTER]
cd\windows [ENTER]

Теперь скопируйте все файлы один за другим с помощью следующих команд. Все файлы располагаются в двух различных каталогах.

copy a:\dmboot.sys system32\drivers
copy a:\dmboot.sys system32\dllcache
copy a:\dmconfig.dll system32
copy a:\dmconfig.dll system32\dllcache
copy a:\dmadmin.exe system32
copy a:\dmadmin.exe system32\dllcache

Создаём массив RAID 5

Создаём массив RAID 5

Теперь перезагрузите систему. В Windows запустите консоль управления (правый щелчок по значку "Мой компьютер", затем "Управление") и выберите "Управление дисками". Здесь следует перевести все жёсткие диски, которые будут использоваться в массиве RAID 5, в динамические. Для этого нажмите правой клавишей мыши на нужном диске и выберите "Преобразовать в динамический диск". Ну, а затем можно создавать новый том.

Создаём массив RAID 5
После модификации файлов, как показано выше, Windows XP сможет поддерживать программный массив RAID 5.


Создаём массив RAID 5
Для нашего тестового массива мы использовали четыре привода Western Digital WD740 Raptor.


Создаём массив RAID 5
Следующие опции в окнах...


Создаём массив RAID 5
...не отличаются от тех, которые задаются при создании обычного тома.

Как только Windows закончит создание тома, вы можете работать с новым массивом RAID 5 под Windows как с обычным жёстким диском.

Худший случай: если привод выйдет из строя?

Даже самая мощная система резервирования не стоит и ломаного гроша, если она не работает. Поэтому, помимо привычных тестов, мы решили симулировать сбой привода, выдернув кабель SATA.

Худший случай: если привод выйдет из строя?
На этом скриншоте показано, как выглядит программа управления дисками через несколько секунд после удаления жёсткого диска из массива. Затем мы снова подключили кабель. Из соображений безопасности Windows не будет включать жёсткий диск в массив автоматически. Все другие жёсткие диски массива были отмечены как "failed redundancy" - избыточность не работает.


Худший случай: если привод выйдет из строя?
Выберите "repair volume", после чего начнётся процесс восстановления массива.


Худший случай: если привод выйдет из строя?
Конечно, нам нужен один свободный привод.


Худший случай: если привод выйдет из строя?
Процесс восстановления начался!

Переносим массив Windows RAID на другие системы

Переносим массив Windows RAID на другие системы
Мы устанавливали массив RAID 5 на плате Asus P5DGC-V, оснащённой южным мостом ICH6.

Многие администраторы опасаются не только сбоя привода, но и выхода из строя контроллера. Обычно под рукой никогда не бывает идентичной или, по крайней мере, совместимой модели контроллера, поэтому массив сложно или невозможно запустить на другом контроллере. Основной проблемой будет то, что форматы RAID у разных RAID-контроллеров обычно не совместимы друг с другом.

Конечно, мы пожелали проверить, существует ли такая проблема с массивами Windows RAID: можно ли перенести существующий массив RAID, просто подключив жёсткие диски к другому компьютеру?

Основная тестовая машина работала на Asus P5GDC-V. Она базируется на чипсете Intel 915G с южным мостом ICH6, который обеспечивает четыре "родных" порта Serial ATA. К ним мы и подключили четыре жёстких диска Western Digital WD740 Raptor.

Когда мы выбирали вторую систему для переноса массива RAID, мы специально нашли контроллер SATA, который несовместим с ICH6. Плата AOpen AX4SPE MAX II базируется на чипсете 865P со старым добрым южным мостом ICH5. С одной стороны, он не является AHCI-совместимым. С другой стороны, этот мост обеспечивает только два порта, поэтому мы подключили два оставшихся привода к контроллеру Silicon Image Sil3114, тоже установленному на плату AOpen.

Следует признать, что мы не ожидали лёгкого переноса массива. Но всё, что нам пришлось сделать, - просто подключить кабели SATA к свободным портам на плате, и всё сразу же заработало. Нам не пришлось думать ни о порядке подключения приводов к портам, ни о типе контроллера, к которому подключались диски. Приводы можно свободно подключать к контроллерам ICH5 и Sil3114.

Переносим массив Windows RAID на другие системы
Перенос массива RAID 5 из четырёх дисков на другую систему оказался очень лёгким. Ничего не надо было конфигурировать, да и порты SATA можно выбирать произвольно.

Тестовая конфигурация

Процессоры Intel (Socket 775)
FSB 800 МГц (Двухканальная DDR) Процессор Intel Pentium 4 520 (2,8 ГГц)
Материнская плата
Socket LGA-775 ASUS P5GDC-V Deluxe
Чипсет Intel 915P
BIOS 1002
Память
DDR SDRAM 2x 512 Crucial Ballistic
Задержки: CL 2,5-3-3-7
Общее аппаратное обеспечение
Графическая карта Линейка nVidia GeForce 6
GPU: nVidia GeForce 6800 GT
Память: 256 Мбайт GDDR3 SDRAM
Жёсткий диск I - ОС Hitachi HDS722525VLSA80
250 Гбайт, кэш 8 Мбайт, 7200 об/мин
Жёсткий диск II - RAID Western Digital WD 740 Raptor
74 Гбайт, кэш 8 Мбайт, 10 000 об/мин
DVD/CD-ROM MSI MS-8216 16x DVD
Программное обеспечение
Графическая карта nVidia nVidia Detonator 61.77
Драйвер чипсета Intel Installation Utility 6.0.1.1002
DirectX 9.0c
ОС Windows XP Professional 5.10.2600, Service Pack 1
Тесты и измерения
Офисные приложения ZD WinBench 99 - Business Disk Winmark 2.0 c't h2benchw
High-End приложения ZD WinBench 99 - High-End Disk Winmark 2.0
Измерение производительности c't h2benchw
Производительность ввода/вывода Intel I/O meter 2003.05.10

Результаты тестирования

Диаграмма передачи данных

Диаграмма передачи данных

Производительность ввода/вывода

Производительность ввода/вывода

Производительность ввода/вывода

Производительность ввода/вывода

Производительность ввода/вывода

Производительность передачи данных

Производительность передачи данных

Производительность передачи данных

Производительность передачи данных

Производительность передачи данных

ZD WindBench

ZD WindBench

Заключение

Честно говоря, результат установки массива RAID 5 под Windows XP оказался намного лучше, чем мы ожидали. Перенос управления RAID-массивом с контроллера на операционную систему, конечно, нельзя назвать производительным решением, однако здесь мы получаем высокий уровень гибкости и совместимости, столь редко встречающийся в области хранилищ данных. Любая система Windows XP технически способна поддерживать массивы RAID, конечно, если вы подключите требуемое количество жёстких дисков. И здесь совершенно не важно, какие контроллеры SATA вы будете использовать. А для включения поддержки RAID 5 под Windows XP следует изменить всего три файла.

Симуляция сбоя одного жёсткого диска прошла без всяких проблем, причём с процессом повторной перестройки массива смогут справиться даже не слишком опытные пользователи. Кроме того, на перестройку требуется примерно столько же времени, сколько и в случае использования аппаратных RAID-решений. Не следует упоминать, что доступ к функциям создания и изменения массива RAID доступен только пользователям с определёнными правами, то есть на пути неосторожных пользователей и злоумышленников встанет подсистема безопасности Windows.

Ещё одним преимуществом массива RAID 5 под Windows XP является великолепная цена. Кроме покупки жёстких дисков, всё, что вам нужно, - обеспечить необходимое количество портов SATA на вашей материнской плате или контроллере. Ну, а от покупки дорогого RAID-контроллера вполне можно и отказаться.

Наконец, перейдём к недостаткам такого решения. Программный массив RAID 5 под Windows работает не так быстро, как аппаратные решения. Однако файловым серверам не всегда нужна максимальная производительность. Если вам нужно установить сервер для нечастого доступа с небольшим объёмом трафика, то Windows RAID будет вполне достаточно. Но будьте осторожны. Как только вы создадите массив RAID, вы не сможете перенести его на аппаратный контроллер RAID. Для этого придётся переставлять весь массив.

КОНЕЦ СТАТЬИ


Координаты для связи с редакцией:

Общий адрес редакции: thg@thg.ru;
Размещение рекламы: Roman@thg.ru;
Другие координаты, в т.ч. адреса для отправки информации и пресс-релизов, приглашений на мероприятия и т.д. указаны на этой странице.


Все статьи: THG.ru

 

Rambler's Top100 Рейтинг@Mail.ru