Оригинал материала: https://3dnews.ru./166134

RAID 0 без дополнительного оборудования в Windows 2000



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

Существует несколько подходов оптимизации работы жестких дисков и увеличения надежности хранения информации. Самым простым и эффективным выходом было бы использования жестких дисков, основанных на флэш-памяти (так называемые Solid-State Disks). К недостаткам такого решения относится дороговизна оборудования - такие диски не по карману большинству пользователей.

Более доступным решением стало использование систем RAID - массива независимых дисковых накопителей с избыточностью (Redundant Array of Independent Disks). Но они популярны лишь при использовании недорогих IDE дисков. Диски с интерфейсом SCSI до сих пор остаются дорогим удовольствием. Но о них чуть позднее. В основном, RAID используется для увеличения как производительности, так и надежности хранения информации. При этом используется несколько дисков. Отметим, многие пользователи не рассматривают систему RAID Mode 0 (чередование дисков - striping) как систему RAID, так как никакой избыточности она не предоставляет. То есть данные хранятся вовсе не надежно, и если сломается хотя бы один диск, все данные будут потеряны.

Именно по этой причине массивы RAID 0 не предназначены для длительного хранения данных. Но они могут стать подходящим решением для кратковременного использования, когда нужна высокая производительность (swap файлы, временные диски, видео-монтаж, видео-кодирование).


Фрагментация данных - конец высоким скоростям

Иногда нам кажется, что винчестеры работают слишком медленно. Причин тому несколько. Больше всего на скорости чтения сказывается фрагментация данных. Ниже мы объясним суть проблемы:


Обычно файлы сохраняются последовательно, друг за другом.


При удалении файла возникает пустое пространство между оставшимися файлами...


... которое заполняется при записи новых файлов.. Если размер нового файла больше размера освободившегося пространства, дисковая система разделит файл - фрагментирует его (конечно, если нет другого свободного места).

Не обязательно иметь техническое образование, чтобы оценить влияние фрагментации. Когда файл хранится в одном месте, он считывается последовательно (и чтение происходит с максимальной скоростью). Для чтения фрагментированных файлов приходится осуществлять операции позиционирования головки, что увеличивает время считывания и таким образом значительно сокращает производительность жесткого диска.

Хотя время доступа и не зависит напрямую от фрагментации (не важно, фрагментирован файл, или нет), головки чтения/записи могут закончить считывание последнего фрагмента в другой позиции, отличной от начальной. К сожалению, алгоритмы кэширования не могут справиться с этим эффектом. Так что даже кэш-память не поможет обеспечить высокой скорости работы жесткого диска.

Вполне очевидно, что фрагментации избежать нельзя, но её эффект можно снизить, если регулярно дефрагментировать диски. В зависимости от количества данных, которые вы храните на вашем диске, вы можете проводить дефрагментацию с различной периодичностью: либо каждые несколько недель - если вы регулярно записываете файлы и удаляете их, либо раз в несколько месяцев - если оборот данных не очень велик.


IDE vs. SCSI RAID

Хотя многие полагают, что интерфейс SCSI уже не актуален на рынке ПК, этот интерфейс всё же имеет преимущества перед интерфейсом IDE.

IDE SCSI
Пропускная способность 100 MB/s (UltraATA/100) 160/320 Мб/с
(Ultra160, Ultra320 SCSI)
Длина кабеля 45 см ~150 см
Устройства на канал 2 7/15
Масштабируемость Средняя Превосходная
Многозадачная производительность В зависимости от контроллера - обычно средняя В зависимости от контроллера - обычно высокая
Цена Низкая Средняя - высокая
Загрузка процессора Средняя Низкая

Если для дома и офиса масштабируемость, многозадачная производительность и загрузка процессора не имеют особого значения, такая банальная вещь, как длина кабеля, может сыграть важную роль. Длина кабеля интерфейса IDE не может превышать 45 сантиметров, поэтому бывает очень трудно подключить несколько IDE дисков в верхних отсеках. То же самое касается high-end RAID контроллеров типа Promise SuperTrak100: это устройство даже поддерживает RAID 5, но подключить нужное количество устройств (обычно 5 или 6) в некоторых корпусах бывает очень и очень сложно. В случае SCSI можно запросто подключить одним кабелем друг за другом до 7 устройств.


Программный RAID 0

Идея чередования дисков возникла ещё давно, поэтому нет ничего удивительного в том, что Windows 2000 не требует аппаратного контроллера для установки RAID 0. Можно установить RAID 0 программно - Windows 2000 поддерживает не только использование одного винчестера, или нескольких винчестеров как единого целого (drive spanning), но и чередование. Скептики возразят, что использование дисков в режиме программного чередования нагружает процессор. Конечно, доля правды в этом есть, но не стоит забывать о мощности современных процессоров. На самом же деле, программное решение RAID нагрузит процессор лишь немногим более аппаратного решения с использованием RAID контроллера.


Требования для программного решения RAID

Windows 2000 способна чередовать любое количество дисков, независимо от их интерфейсов. Вы можете, например, чередовать три IDE диска и один SCSI диск. Чередование позволяет подключать несколько дисков, но при этом за основу будет браться самый маленький. Так, например, три 40Гб диска и один 8 Гб в итоге дадут лишь только 32Гб - емкость самого маленького винчестера, помноженная на количество устройств. Однако чтобы достичь максимальной емкости и производительности, лучше использовать сходные по параметрам диски.

Дополнительный IDE контроллер, такой как этот Promise Ultra 100 TX2 не так дорог, как RAID контроллер и он позволяет реализовать программное чередование.


Установка программного RAID под Windows 2000

Во-первых, необходимо установить требуемые контроллеры и диски. После этого запустите "Управление компьютером" (Computer Management) - для этого можно набрать в командной строке "compmgmt.msc /s", откройте раздел управления дисками (Disk Management) в разделе Storage.

В нижней правой части окна вы увидите все диски и их разделы. Перед тем как создавать чередование, необходимо удалить все разделы на тех дисках, которые вы собираетесь использовать для чередования. Для этого вызовите меню, щелкнув правой кнопкой по разделу. Теперь необходимо конвертировать эти диски в динамические диски (dynamic drives). Щелкните правой кнопкой по полю слева от области с разделом и выберите пункт "Преобразовать в динамический диск" ("Convert To Dynamic Drive").

После перезапуска системы (что обязательно) чтобы создать новый раздел нужно щелкнуть правой кнопкой по области раздела требуемого диска. Мастер позволит вам создать простые разделы, создавать чередование или иным способом объединять диски. Далее, определите размер сектора и метку диска, далее он автоматически отформатируется. Вуаля, готово!


Коварность программных RAID

Пока всё выглядит очень хорошо. Тем не менее, мы обнаружили, что система Windows 2000 не может быть установлена на программном RAID. Когда мы специально для установки Windows организовали массив, установочная программа не распознала чередующихся дисков. Вероятно, причиной тому является то, что стандартные винчестеры не поддерживают модель динамических дисков Windows 2000. Если вы всё же выберете один из дисков массива для установки системы, Windows 2000 скажет, что необходимо сначала его отформатировать.

Интересно, что системе нет дела до того, в каком порядке установлены диски в массиве. Главное, чтобы все диски были и чтобы все они работали. Например, если поменять устройство с мастера на слейв - на производительность это почти не повлияет. Удаление же любого из дисков массива приводит в нерабочее состояние всю систему - поэтому будьте бдительны.


Чередование в работе

Было бы неплохо установить Windows 2000 на RAID, но, к сожалению, система этого не позволяет. Тем не менее, существует масса других применений такому массиву. С одной стороны, мы можете держать файл подкачки (swap file) в массиве. Тем не менее, сначала убедитесь, что вы ничего туда не записали. Кроме того, указывайте одинаковые числа первоначального и максимального размера, чтобы файл подкачки не был фрагментирован. Ещё одно применение чередованию - использование его как временного диска для сложных и требовательных приложений, таких как Adobe Photoshop. Если можно, указывайте фиксированный размер для временных файлов.


Тестовая система

Тестовая система
Процессор Intel Pentium III, 866 MHz
Материнская плата Asus CUSL2, i815 Chipset
RAM 128 MB SDRAM, 7ns (Crucial/Micron) CL2
Интерфейс IDE i815 UltraDMA/100 Interface (ICH2)
Promise FastTrak100
Promise Ultra100
Графическая карта i815 On-Board Graphics
Сетевая карта 3COM 905TX PCI 100 MBit
Операционная система Windows 2000 Pro 5.00.2195 SP2
Тесты
Тест офисных приложений 
(Office Applications Benchmark)
ZD WinBench 99 - Business Disk Winmark 2.0
Тест Highend Applications  ZD WinBench 99 - High-End Disk Winmark 2.0
Передачи данных ZD WinBench 99 - Disk Inspection Test 2.0
Производительности SiSoft Sandra 2001
Настройки
Видео-драйверы Intel i815 Reference Drivers 4.3
Драйверы IDE Intel Bus Master DMA Drivers 6.03
Promise Ultra100 Driver 1.60
Promise FastTrak100 Driver 2.00
Версия DirectX  8.0a
Экранное разрешение 1024x768, 16 Bit, 85 Hz Refresh


Результаты тестов
Диаграммы скорости передачи данных

Один диск

Многие, наверное, видели диаграммы передачи данных жестких дисков (например, DTLA).

Два диска, один канал

Эта диаграмма во многом похода на предыдущую, только вместо одного диска здесь используется два. Изменен масштаб: если один диск обеспечивает скорость 36 мегабайт в секунду, система с двумя дисками обеспечивает почти вдвое большую производительность - 70 мегабайт в секунду.

Два диска, два канала

Использование двух каналов вместо одного практически не сказывается на производительности.

Три диска, два канала

Добавление третьего диска не сильно повлияет на производительность - максимальная скорость не будет выше 75 мегабайт в секунду, тем не менее, гарантированная скорость будет не менее 55 мегабайт в секунду. В сравнении с двухдисковой конфигурацией, где гарантированная скорость не менее 38 мегабайт в секунду, разница довольно существенная, особенно она заметна на серьезных приложениях.

Три диска, три канала

Здесь начинается самое интересное! В результате подключения всех трех дисков (по одному на IDE канал) 32-разрядная PCI шина полностью загружается.

Четыре диска, два канала

Возможно, для увеличения емкости кто-то захочет использовать четыре диска на двух каналах. Удивительно, но это не приводит к увеличению скорости передачи данных выше 75 мегабайт в секунду. Однако, минимальная скорость в 72 мегабайта в секунду - это уже что-то.

Четыре диска, три канала

Разделение массива на три канала заметно повышает производительность - почти до 100 мегабайт в секунду, с гарантированной скоростью в 76 мегабайт в секунду.

Четыре диска, четыре канала

Казалось бы, это самый производительный вариант. Тем не менее, скорость немногим выше варианта с тремя дисками и тремя каналами.


Сравнительная диаграмма скоростей передачи данных

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


Скорость доступа к диску

Скорость доступа к диску от чередования выше не станет. Это очевидно. Хотя пропускная способность значительно выше, диски не могут позиционировать головки быстрее. Это относится не только к программному RAID, но и к любому аппаратному решению. В дорогих адаптерах могут быть встроены RISC контроллеры, использоваться большие объемы кэш-памяти, применяться сложные алгоритмы, но они не решат проблему. Отсюда вывод: если ваши приложения часто обращаются к массивам данных (например, веб-сервер), постарайтесь приобрести диски с наименьшим временем доступа.


Тестирование WinBench 99 Disk WinMarks
Business Disk WinMark

Понятно, что стандартные приложения типа Microsoft Word или Excel не очень требовательны к подсистеме хранения информации.


Highend Disk WinMark

В отличие от теста Business Disk WinMark, тест Highend Disk WinMark ясно показывает разницу при работе с более быстрой подсистемой хранения. Здесь результат почти на 50% выше у системы, использующей, по крайней мере, три IDE канала.


SiSoft Sandra 2001 Performance Index

Результаты теста Sandra похожи на Disk WinMarks. Использование двух дисков приводит к увеличению общей производительности подсистемы хранения, дальнейшее увеличение количества дисков на производительности системы практически не сказываются.


Вывод

Программная поддержка чередования - действительно полезная возможность. В зависимости от количества дисков, вы можете поднять скорость передачи данных до пропускной способности шины PCI (теоретически - это 133 мегабайта в секунду). В системах с 64-битной шиной PCI вы можете достичь ещё большей производительности - при использовании большего количества дисков и контроллеров. Многие приложения хранят все рабочие данные в кэше процессора или в оперативной памяти. В этом случая проблема скорости жестких дисков отходит на второй план.

Программное чередование может оказаться идеальным решением для "тяжелых" приложений, которым необходимы высокопроизводительные дисковые устройства. Например, вы можете хранить в таком массиве файлы подкачки Windows или какие-либо другие постоянно обновляемые данные (например, приложения, регулярно запускаемые по локальной сети). Отметим, что такие массивы не подходят для обычной работы, так как вероятность потери данных у них значительно выше, чем у однодисковых систем или систем RAID. Поэтому не рекомендуется хранить на чередующемся массиве большие базы данных и различные важные файлы.

Дополнительные материалы:

Глоссарий по RAID технологии
FAQ по практической реализации RAID


Оригинал материала: https://3dnews.ru./166134