Как настроить смартфоны и ПК. Информационный портал

RAID и скорость. Пример построения массива на базе ASUS

У энтузиастов есть неписаное правило: жёсткий диск Western Digital WD1500 Raptor является идеальной моделью для настольных ПК, если вам нужна максимальная производительность. Но по этому пути могут последовать далеко не все пользователи, поскольку тратить $240 на жёсткий диск ёмкостью всего 150 Гбайт - решение не очень привлекательное. Остаётся ли Raptor лучшим выбором? Цена не менялась уже многие месяцы, а сегодня за такие деньги можно легко купить пару 400-Гбайт накопителей. Не настало ли время сравнить производительность современных RAID массивов с Raptor?

Энтузиасты хорошо знакомы с жёсткими дисками Raptor, поскольку это единственный 3,5" жёсткий диск для настольных ПК, который вращается на скорости 10 000 об/мин. Большинство винчестеров в этом секторе рынка имеют скорость вращения 7 200 об/мин. Только дорогие жёсткие диски для серверов вращаются быстрее. Первые жёсткие диски WD Raptor на 36 и 74 Гбайт были представлены три года назад. Около года назад на рынок вышел Western Digital Raptor-X , который обеспечивает более высокую производительность, доступны также модели с прозрачной крышкой, которая позволяет заглянуть внутрь жёсткого диска.

Жёсткие диски Western Digital Raptor после своего выхода обошли все другие 3,5" винчестеры Serial ATA для настольных ПК, хотя изначально они позиционировались на недорогие серверы.

Скорость вращения шпинделя 10 000 об/мин даёт два существенных преимущества. Во-первых, скорость передачи данных заметно увеличивается. Да, максимальная последовательная скорость чтения не особо впечатляет, но минимальная скорость намного превосходит любые жёсткие диски на 7 200 об/мин. Кроме того, у жёсткого диска на 10 000 об/мин меньше задержки на вращение, то есть накопителю требуется меньшее время на получение данных после того, как головки чтения/записи будут позиционированы.

Главным недостатком WD Raptor является цена - около $240 за 150-Гбайт модель. Среди других недостатков отметим более высокий (хотя и не критичный) уровень шума и более высокое тепловыделение. Впрочем, энтузиасты легко смирятся с подобными недостатками, если этот жёсткий диск даст более высокую производительность подсистемы хранения данных.

Если посчитать стоимость хранения гигабайта данных, то Raptor будет уже не так привлекателен. За $240 можно взять пару 400-Гбайт жёстких дисков, да и до уровня $300 за 750-Гбайт Seagate Barracuda 7200.10 уже недалеко. Если обратить взор на дешёвый сегмент, то можно взять пару 160-Гбайт жёстких дисков на 7 200 об/мин по $50 каждый, которые обеспечат ту же ёмкость, что и Raptor, но более чем в два раза дешевле. Поэтому сегодня даже энтузиасты часто спрашивают себя: стоит ли брать WD Raptor, не лучше ли выбрать конфигурацию RAID 0 на двух жёстких дисках на 7 200 об/мин?

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

Быстрый или разумный жёсткий диск?

Производительность Ёмкость Безопасность хранения данных Цена
Один винчестер (7 200 об/мин) Хорошая От достаточной до отличной Достаточная * От низкой к высокой, от $50 до $300
150-Гбайт WD Raptor (10 000 об/мин) Отличная Достаточная Достаточная * Высокая: $ 240+
2x 160 Гбайт (7 200 об/мин) От очень хорошей до отличной От хорошей до отличной Недостаточная * От низкой до высокой: от $50 за жёсткий диск
2x 150 Гбайт WD Raptor (10 000 об/мин) Отличная Хорошая Недостаточная * От высокой до очень высокой: от $240 за накопитель

* Следует помнить, что любой жёсткий диск рано или поздно выйдет из строя. Технология базируется на механических компонентах, а время жизни у них ограниченное. Производители указывают для жёстких дисков время наработки на отказ (MTBF, Mean Time Between Failures). Если вы установили массив RAID 0 на двух жёстких дисках на 7 200 об/мин, то риск потери данных увеличивается в два раза, поскольку при сбое одного винчестера вы потеряете весь массив RAID 0. Поэтому регулярно проводите резервирование важных данных и создавайте образ операционной системы.

Сегодня можно купить 40-80-Гбайт жёсткие диски чуть ли не за копейки, и если у вас нет особых требований по ёмкости, то такого объёма будет достаточно даже сегодня. Впрочем, мы рекомендуем брать жёсткие диски по цене $50-$70, поскольку вы можете легко взять модели с ёмкостью от 120 до 200 Гбайт. В интернет-магазинах уже начали появляться модели на 250 и 320 Гбайт по цене меньше $100. За те деньги, которые вы потратите на WD Raptor с 10 000 об/мин, можно легко получить ёмкость от 800 Гбайт до 1 Тбайт на жёстких дисках с 7 200 об/мин.

Если вам не нужна такая высокая ёмкость, можно довольствоваться жёсткими дисками на 7 200 об/мин начального уровня. Два накопителя WD1600AAJS от Western Digital обойдутся в $55 каждый, при этом вы легко получите ёмкость 320 Гбайт в массиве RAID 0. И потратите в два раза меньше денег, и получите в два раза большую ёмкость. Насколько оправдана подобная экономия? Давайте разберёмся.

7 200 или 10 000 об/мин? RAID 0 или Raptor?

Мы решили протестировать разные конфигурации жёстких дисков. В нашем тестировании участвуют одиночный WD Raptor WD1500ADFD, одиночный WD4000KD, Raptor в массиве RAID 0 и WD4000 в массиве RAID 0. Мы решили взять 400-Гбайт жёсткие диски WD на 7 200 об/мин, поскольку два таких винчестера примерно соответствуют по цене одному Raptor. Посмотрим, насколько хорошо "бюджетный" RAID-массив покажет себя по сравнению с одним Raptor.

WD4000KD оснащён 16 Мбайт кэша и имеет интерфейс Serial ATA/150. Основное отличие по сравнению с WD Raptor на 10 000 об/мин кроется в производительности и ёмкости. Raptor существенно уступает по стоимости хранения одного гигабайта, которая оказывается, как минимум, в шесть раз больше по сравнению с 400-Гбайт WD4000KD. Тесты покажут, насколько сильны различия в производительности. На момент публикации цена WD4000KD Caviar составляла $130.

Raptor - бесспорный чемпион по производительности на рынке настольных ПК, но это и самый дорогой жёсткий диск. WD1500 Raptor использует интерфейс Serial ATA/150, которого по-прежнему вполне достаточно. Если взглянуть на результаты тестов, то ни один другой жёсткий диск не может обойти Raptor, пусть даже с интерфейсом SATA 300 Мбайт/с. В общем, скорость интерфейса SATA не должна влиять на решение о покупке. На момент публикации цена WD1500ADFD Raptor составляла $240.

Данная конфигурация должна сразиться с WD1500 Raptor. Смогут ли два жёстких диска WD4000KD в массиве RAID 0 обойти Raptor?

Этот сценарий самый дорогой в нашем тестировании, поскольку он требует двух жёстких дисков WD Raptor, но он, тем не менее, очень интересен. Два жёстких диска Raptor на 10 000 об/мин в массиве RAID 0 должны "порвать" буквально всех.

RAID 0

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

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

Если построить конфигурацию RAID на нескольких жёстких дисках, "узким местом" может стать контроллер накопителей. Обычная шинная PCI позволяет передавать, максимум, 133 Мбайт/с, что легко поглощается двумя современными жёсткими дисками. Контроллеры Serial ATA, которые входят в чипсет, дают, как правило, более высокую пропускную способность, поэтому они не ограничивают производительность массивов RAID.

Мы получили до 350 Мбайт/с на четырёх жёстких дисках WD Raptor с 10 000 об/мин на чипсетах с южными мостами Intel ICH7 и ICH8 . Великолепный результат, который очень близок к суммарной пропускной способности четырёх отдельных жёстких дисков. В то же время, чипсет nVidia nForce 680 показал максимум в 110 Мбайт/с, увы. Похоже, что не каждый интегрированный RAID-контроллер способен обеспечить высокую производительность массивов RAID, пусть даже технически такая возможность есть.

Сравнение режимов RAID

Следует отметить, что RAID 0 на самом деле не раскрывает идею массивов RAID, что расшифровывается как Redundant Arrays of Independent/Inexpensive Drives (избыточный массив недорогих/независимых дисков). Избыточность подразумевает хранение данных, по крайней мере, в двух местах, чтобы они сохранились даже при сбое одного жёсткого диска. Так и происходит, например, в случае массива RAID 1, в котором все данные зеркалируются на втором жёстком диске. Если один из винчестеров "умрёт", то вы узнаете об этом только из сообщений RAID-контроллера. Массив RAID 5 намного более сложный и рассчитан на профессиональный сектор. Он работает подобно массиву RAID 0, распределяя данные по всем жёстким дискам, но к данным добавляется информация избыточности. Поэтому чистая ёмкость массива RAID 5 равняется суммарной ёмкости всех жёстких дисков за исключением одного. Информация избыточности записывается не на один жёсткий диск (как в случае RAID 3), а распределяется по всем накопителям, чтобы не создавать "узкое место" при чтении или записи информации избыточности на один HDD. Массив RAID 5, вполне понятно, требует не меньше трёх жёстких дисков.

Риски и побочные эффекты

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

Даже если вы купите мощный и дорогой отдельный RAID-контроллер, вы всё равно будете зависеть от "железа". Два разных контроллера могут поддерживать RAID 5, но конкретная реализация может очень сильно отличаться.



Intel Matrix RAID: на одном наборе жёстких дисков можно создавать разные массивы RAID.

Если RAID-контроллер достаточно "умный", то он может позволять устанавливать два или больше массивов RAID на один набор жёстких дисков. Хотя каждый RAID-контролер может поддерживать несколько массивов RAID, для этого, чаще всего, требуются разные наборы жёстких дисков. Поэтому южные мосты Intel ICH7-R и ICH8-R оказались очень интересными: они поддерживают функцию Intel Matrix RAID.

Типичной реализацией можно назвать два массива RAID на двух жёстких дисках. Первую треть ёмкости двух жёстких дисков можно отвести на быстрый массив RAID 0 для операционной системы, а остальную часть - на массив RAID 1 для хранения важных данных. Если один из жёстких дисков выйдет из строя, то операционная система будет потеряна, но важные данные, которые зеркалируются на второй жёсткий диск, сохранятся благодаря RAID 1. Кстати, после установки Windows можно создать образ операционной системы и хранить его на надёжном массиве RAID 1. Тогда, если винчестер выйдет из строя, ОС можно будет быстро восстановить.

Следует помнить, что многие RAID-массивы требуют установки драйвера RAID (например, Intel Matrix Storage Manager), что может создавать проблемы во время загрузки и восстановления системы. Любому загрузочному диску, который вы будете использовать для восстановления, потребуются драйверы RAID. Поэтому приберегите дискету с драйверами для такого случая.

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

Конфигурация для тестов низкого уровня

Процессоры 2x Intel Xeon (ядро Nocona), 3,6 ГГц, FSB800, кэш L2 1 Мбайт
Платформа Asus NCL-DS (Socket 604), чипсет Intel E7520, BIOS 1005
Память Corsair CM72DD512AR-400 (DDR2-400 ECC, reg.), 2x 512 Мбайт, задержки CL3-3-3-10
Системный жёсткий диск Western Digital Caviar WD1200JB, 120 Гбайт, 7200 об/мин, кэш 8 Мбайт, UltraATA/100
Контроллеры накопителей Intel 82801EB UltraATA/100 Controller (ICH5)
Silicon Image Sil3124, PCI-X
Сеть Встроенный контроллер Broadcom BCM5721 Gigabit Ethernet
Видеокарта Встроенная ATi RageXL, 8 Мбайт
Тесты и настройки
Тесты производительности c"t h2benchw 3.6
PCMark05 V1.01
Тесты ввода/вывода IOMeter 2003.05.10
Fileserver-Benchmark
Webserver-Benchmark
Database-Benchmark
Workstation-Benchmark
Системное ПО
ОС Microsoft Windows Server 2003 Enterprise Edition, Service Pack 1
Драйвер платформы Intel Chipset Installation Utility 7.0.0.1025
Графический драйвер Default Windows Graphics Driver

Конфигурация для SYSmark2004 SE

Системное аппаратное обеспечение
Процессор Intel Core 2 Extreme X6800 (Conroe 65 нм, 2,93 ГГц, 4 Мбайт кэша L2)
Материнская плата Gigabyte GA-965P-DQ6 2.0, чипсет: Intel 965P, BIOS: F9
Общее аппаратное обеспечение
Память 2x 1024 Мбайт DDR2-1111 (CL 4,0-4-4-12), Corsair CM2X1024-8888C4D XMS6403v1.1
Видеокарта HIS X1900XTX IceQ3, GPU: ATi Radeon X1900 XTX (650 МГц), память: 512 Мбайт GDDR3 (1550 МГц)
Жёсткий диск I 150 Гбайт, 10 000 об/мин, кэш 8 Мбайт, SATA/150, Western Digital WD1500ADFD
Жёсткий диск II 400 Гбайт, 7 200 об/мин, кэш 16 Мбайт, SATA/300, Western Digital WD4000KD
DVD-ROM Gigabyte GO-D1600C (16x)
Программное обеспечение
Драйверы ATi Catalyst Suite 7.1
Драйверы чипсета Intel Software Installation Utility 8.1.1.1010
Драйверы RAID Intel Matrix Storage Manager 6.2.1.1002
DirectX 9.0c (4.09.0000.0904)
ОС Windows XP, Build 2600 SP2
Тесты и настройки
SYSmark Version 2004 Second Edition, Official Run

Что ж, придётся перейти к итогам битвы между текущими 150-Гбайт жёсткими дисками WD Raptor и 400-Гбайт винчестерами WD4000KD в массиве RAID 0. Результат оказался удивительным. Хотя WD Raptor остаётся, без сомнения, самым быстрым настольным жёстким диском Serial ATA, массив RAID 0 выходит на первое место в большинстве тестов, не считая времени доступа и производительности ввода/вывода. Стоимость хранения гигабайта данных на Raptor вызывает наибольшие сомнения, поскольку вы можете купить в три раза более ёмкий жёсткий диск на 7 200 об/мин в два раза дешевле. То есть по цене гигабайта Raptor сегодня проигрывает в шесть раз. Впрочем, если вы беспокоитесь за сохранность данных, то дважды подумайте, прежде чем предпочесть массив RAID 0 на двух дешёвых жёстких дисках на 7 200 об/мин по сравнению с WD Raptor.

В ближайшие месяцы цена на 500-Гбайт жёсткие диски упадёт ниже $100. Но возрастут требования к доступному объёму, чтобы хранить видео высокого разрешения, музыку и фотографии. Наконец, плотность записи на пластины жёстких дисков продолжает увеличиваться, поэтому вскоре появятся более производительные модели на 7 200 об/мин. В перспективе привлекательность Raptor будет падать.

Как нам кажется, Western Digital следует изменить ценовую политику модельного ряда Raptor, поскольку прирост производительности происходит за счёт больших компромиссов по ёмкости жёстких дисков. И, надо сказать, подобные компромиссы не всем покажутся оправданными. Мы хотели бы увидеть появление обновлённого жёсткого диска Raptor на 300 Гбайт, который, возможно, стал бы ещё и гибридным винчестером со встроенной флэш-памятью для Windows Vista.

Год назад фирмой Seagate был выпущен революционный диск Barracuda ATA IV - это был первый винчестер с 40ГБ-пластинами со скоростью вращения шпинделя 7200 оборотов в минуту. Одним из новшеств, которое Seagate привнёсла на рынок IDE-винчестеров, был бесшумный гидромотор, который придал жёстким дискам Seagate дополнительную привлекательность. Диск Barracuda ATA IV заслужил множество наград от различных тестовых лабораторий, журналов, сайтов и т.п. Надо сказать, награды были заслуженными, так как диск и вправду сочетал высокую надёжность, бесшумность работы и разумную цену.
Но через некоторое время диски на 40ГБ-пластинах выпустили фирмы-конкуренты, и Barracuda ATA IV постепенно исчез с первых страниц журналов и новостных лент интернет-изданий.
Однако, чуть позже в интернет-сообществе возникла и покатилась, набирая силу, волна слухов: -"Barracuda ATA IV не работает в RAID0!".
Поначалу я был даже ошарашен. Я не понимал, как это винчестер не работает в RAID0... Весь мой предыдущий опыт общения с винчестерами (небольшой, конечно, но всё же...) говорил мне, что это невозможно, но количество "пострадавших" всё возрастало, и голос их звучал всё громче. Наконец, мои нервы не выдержали, и я решил выяснить, сколько в вышеупомянутых словах правды и сколько - вымысла.

Тестовая система и методика тестирования

В тестировании приняли участие шесть винчестеров Barracuda ATA IV ёмкостью 40ГБ с тремя версиями firmware: 3.10, 3.19 и 3.75. Как легко догадаться, шесть винчестеров - это три пары винчестеров с одинаковой прошивкой.
Для тестов винчестеров использовался широко распространённый (особенно в качестве интегрированного контроллера на материнских платах) контроллер Promise FastTRAK100 TX2.
Тестирование винчестеров проводилось в два этапа. Сначала три винчестера с разными прошивками были протестированы на контроллере FastTRAK100 TX2 в режиме SPAN, т.е. как одиночные диски. Затем испытаниям подверглись не одиночные винчестеры, а массивы из двух винчестеров, объединённых в RAID0. Размер stripe-блока при создании массивов устанавливался в 64КБ. Для тестов в WinBench массивы размечались в FAT32 и NTFS одним разделом с размером кластера по умолчанию.
Тесты проводились по четыре раза, результаты усреднялись. Винчестеры между тестами не охлаждались.
Использовались следующие тесты:

WinBench 99 1.2
IOMeter 1999.10.20

Для сравнения скорости работы контроллера в различных типах RAID-массивов при помощи теста IOMeter использовались новые паттерны StorageReview, анонсированные в третьей редакции их методики тестирования жёстких дисков.

Паттерны StorageReview

File Server Web Server
80% Read, 100% Random 100% Read, 100% Random
512b 10% 22%
1KB 5% 15%
2KB 5% 8%
4KB 60% 23%
8KB 2% 15%
16KB 4% 2%
32KB 4% 6%
64KB 10% 7%
128KB 0% 1%
512KB 0% 1%

Эти паттерны призваны измерить производительность дисковой подсистемы при нагрузке, типичной для file&web-серверов.

На основании проведённого Storagereview исследования о характере нагрузки на дисковую подсистему при работе с обычными Windows-приложениями наш автор, Романов Сергей aka GReY, создал паттерн для теста IOMeter (паттерн создавался по усреднённой статистике IPEAK, приведённой на StorageReview для режимов работы Office, Hi-End и Bootup):

Паттерн Workstation

Transfer Size Request % of Access Specification % Reads % Random

512B 1 0 100
1KB 2 0 100
2KB 1 0 100
4KB 50 60 80
8KB 4 50 100
16KB 6 50 100
20KB 2 50 100
24KB 2 50 100
28KB 1 50 100
32KB 13 70 70
48KB 1 50 100
52KB 1 50 100
64KB 14 80 60
64KB+512B 2 50 100

Этим паттерном мы будем руководствоваться для оценки привлекательности винчестеров и RAID-контроллеров для обычного Windows-пользователя.

Дополнительно проведено сравнение скорости работы контроллера с различными типами RAID-массивов при изменяемом соотношении операций чтения/записи. Был создан паттерн, в котором использовались 100% случайные 8КБ-блоки данных, а соотношение числа чтений/записей менялось от 100/0 до 0/100 c шагом -10/+10.

Ну и, наконец, была проверена способность контроллеров работать с Sequential-запросами переменного размера на чтение и запись в различных типах RAID-массивов.

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

материнская плата - Asustek P3B-F
процессор - Intel P3 600E;
память - 2*128Mb SDRAM Hyundai PC100 ECC;
винчестер - IBM DPTA 372050;
видеокарта - Matrox Millennium 4Mb;
Promise FastTRAK100 TX2 BIOS v2.00.0.24/Drivers v2.00.0.25
операционная система - Windows 2000 Pro SP2;

Winbench99

Как мы помним, в последнем нашем тестировании IDE-винчестеров, Barracuda ATA IV показала весьма неплохие результаты в Winbench99. Интересно, как зависят результаты Barracuda ATA IV в Winbench99 от версии firmware винчестера, а также насколько растут результаты в Winbench99 при объединении винчестеров Barracuda ATA IV в RAID0-массив.


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


Картину в целом можно оценить по интегральным тестам - скорость винчестеров и RAID0-массивов немного зависит от версии прошивки. В тестах на одиночном винчестере самые высокие результаты показал винчестер с прошивкой 3.10, а среди RAID0-массивов большую скорость показали винчестеры с прошивкой 3.19.
Под NTFS результаты немного другие:



Как видим, для RAID0 самой быстрой прошивкой оказалась 3.19, а среди одиночных дисков лучшие результаты показали винчестеры с firmware 3.19 и 3.75.
В целом, нужно признать, что коэффициент полезности RAID0 на Barracuda ATA IV в Winbench99 весьма невелик.
В заключение этого раздела предлагаю Вам посмотреть на графики линейного чтения одиночных винчестеров Barracuda ATA IV (с разными версиями firmware) и RAID0-массивов:

IOMeter: Sequential Read/Write

Низкоуровневые тесты Barracuda ATA IV и RAID0-массивов на этом винчестере мы начнём с тестов последовательного чтения. Суть теста в том, что на винчестер (массив) подаются запросы на чтение блоков данных, с последовательно увеличивающимся адресом. Размер блока данных, запрашиваемый одной командой изменяется от 512байт до 1МБ. Глубина очереди команд устанавливается равной четырём запросам.


Сравним скорость работы одиночных винчестеров:


Оказывается, скорость работы винчестеров Barracuda ATA IV с запросами на чтение блоков данных разного размера довольно сильно зависит от версии firmware! Диск с самой "старой" прошивкой из тех, что принимали участие в наших тестах, показал вдвое меньшую скорость при работе с 8КБ-блоками, чем диск с firmware 3.19! Самая новая же прошивка - 3.75 неожиданно показала средние результаты.


Но, если мы посмотрим на результаты винчестеров в RAID0, то увидим, что лучшую скорость показывает пара винчестеров с 3.75-й прошивкой!
Обратите внимание, что при работе с мелкими блоками (до 1КБ) никакого увеличения скорости по сравнению с одиночными винчестерами не наблюдается. Но, когда размер запрашиваемого блока данных достигает 64КБ, все массивы "выходят на режим" - так что, размер имеет значение?
Посмотрим, что у нас будет при записи:



При последовательной записи винчестеры с различными версиями firmware демонстрируют примерно равную скорость, но от нашего взора не укрылось, что лучшие результаты показал диск с firmware 3.10, а худшие - диск с firmware 3.75.


При сравнении скорости записи RAID0-массивов выясняется, что firmware 3.10 действительно лучше справляется с записью. Впрочем, массив из дисков с firmware 3.75 тоже выглядит неплохо, но только при работе с блоками данных, чей размер превышает 16КБ. Хуже всех в этом режиме работает массив из дисков с firmware 3.19.
Итак, синтетические тесты показали, что удвоения скорости чтения на массиве из двух дисков Barracuda ATA IV добиться вполне возможно. Однако для этого нужно два условия - большой размер запроса (FAT32 с кластером 32КБ?) и большая интенсивность запросов.

Дописал предыдущую фразу и подумал, а ведь насчёт интенсивности запросов - это ещё проверить надо. Как говорил один мультперсонаж - "Мне для работы своей головы не жалко"! :)
Итак, на следующих двух диаграммах представлены зависимости трансфера с/на RAID0-массив от размера блока данных при пяти вариантах нагрузки (1,4,16,64,256 запросов).


Как видим, при чтении глубина очереди команд очень сильно влияет на скорость передачи данных. Если при линейной нагрузке (1 исходящий запрос) скорость RAID0-массива с трудом достигает отметки в 60МБ/сек., то при queue=4 она уже достигает максимума (почти 80МБ/сек.). При дальнейшем увеличении глубины очереди команд мы наблюдаем увеличение скорости работы с блоками малого размера, но за 80МБ/сек. трансфер так и не переваливает.


При записи зависимость скорости передачи данных от глубины очереди команд также есть. Но здесь она не выражена так ярко, как при чтении. Хотя...
Обратите внимание на зависимость скорости от размера блока при queue=1. Видите излом графика, где размер блока равен 64КБ? После того, как размер блока данных становится большим, чем 64КБ (а это размер stripe-блока), он разбивается на "подзапросы" для винчестеров с размером, равным 64КБ (макс. размер адресуемого блока данных для ATA100), и эти "подзапросы" передаются на винчестер. Чем больше размер исходного блока, тем большее количество "подзапросов" возникает при его "дроблении" драйвером контроллера. Соответственно, при этом у каждого винчестера растёт своя очередь команд, и оба винчестера всё время "при деле".

Итак, мы выяснили, что винчестеры Seagate Barracuda ATA IV в RAID0 могут полностью утилизировать свой скоростной потенциал. Однако для этого нужно два условия: большой размер единовременно запрашиваемого блока (>64КБ) или большая интенсивность запросов меньшего размера.
К сожалению, при работе в реальных приложениях под Windows выполнить эти два условия не представляется возможным... Соответственно и скорость RAID0-массива на Barracuda ATA IV при потоковых запросах оказывается невысокой.

IOMeter: Database

При помощи этого теста мы исследуем, как обстоят дела у винчестеров Barracuda ATA IV и массивов RAID0 на этих винчестерах с отложенной записью.
Результаты работы паттерна Database сведены в таблицу:


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




Что же, всё логично - чем больше глубина очереди команд, тем больше шансов есть у контроллера равномерно нагрузить работой оба винчестера в массиве.
Как выяснилось, винчестеры Barracuda ATA IV в составе RAID0-массива нормально справляются с такой нагрузкой (случайные запросы на чтение и запись). Отчётливо видно, что скорость RAID0-массивов на винчестерах Barracuda ATA IV с любой версией firmware оказалась выше, чем у одиночных винчестеров при всех нагрузках, превышающих линейную (queue=1). ;)
Однако различия между винчестерами с разными прошивками и RAID0-массивами из этих винчестеров налицо. Диски с прошивкой 3.19 несколько лучше остальных реагируют на увеличение доли операций записи, а диски с прошивкой 3.75, наоборот, чуть отстают.

IOMeter: Workstation

Сначала, как обычно, результаты в табличной форме:


И, конечно, в виде диаграммы:


В паттерне Workstation, эмулирующем работу в типичных Windows приложениях под NTFS5 массив RAID0 на Barracuda ATA IV оказался быстрее одиночного диска при любой нагрузке.
Разница в быстродействии одиночных дисков с разными прошивками исчезающе мала, но при работе в RAID0 небольшое влияние версии прошивки на быстродействие наблюдается. Но так как разница в скорости массивов составляет 1-2 процента, то можно считать, что все прошивки справляются с паттерном Workstation одинаково успешно. Хотя, справедливости ради, стоит отметить, что диски с firmware 3.75 немного отстают.

IOMeter: Fileserver & Webserver

Результаты работы в этих паттернах дисков Barracuda ATA IV в составе RAID0-массивов позволят облегчённо вздохнуть всем тем, кто купил эти диски для серверов. :)




Как видите, массив RAID0 из дисков Barracuda ATA IV обеспечивает неплохой прирост скорости по сравнению с одиночным диском. Конечно, результаты могли бы быть и получше, но таких проблем, как с Sequential-запросами, здесь не наблюдается.
Надёжность дисков Barracuda ATA IV находится на высоком уровне, и, учитывая вышеизложенное, эти диски можно признать хорошим выбором для сервера с невысокой нагрузкой на дисковую подсистему.

FC-Test

Как вы помните, одной из целей, для которых создавался FC-Test было тестирование винчестеров в задачах, "близких к реальным". :)
В недавнем сравнении 12-ти дисков использование FC-Test выявило весьма необычные способности вроде бы давно исследованных вдоль и поперёк винчестеров, и поэтому мне было очень любопытно применить FC-Test к RAID-контроллерам.
Для того, чтобы это тестирование имело ещё и практическую ценность, мы сравним скорость работы трёх RAID0-массивов ёмкостью по 80ГБ со скоростью работы одиночного винчестера с такой же ёмкостью.
Тем, кто ещё не знаком с описанием программы FC-Test и методики тестирования винчестеров при помощи этого теста предлагаю ознакомиться с соответствующей статьёй, а все остальные без труда поймут, о чём у нас дальше пойдёт речь.

Тесты проводились под NTFS (результаты в FAT32 тоже снимались, но так как они принципиально не отличаются от результатов, полученных под NTFS, то я решил их в обзор не включать во имя уменьшения его размера) в следующих паттернах:

Паттерны для FC-Test

Всего файлов Объём, MB
Install 414 575
ISO 3 1600
MP3 271 990
Programs 8504 1380
Windows 9006 1060

Может быть, этот набор тестов немного великоват для того, чтобы выяснить, как винчестеры Barracuda ATA IV ведут себя при работе в RAID0-массиве (для этого хватило бы одного паттерна "ISO"), но ведь мы еще пытаемся сравнить между собой диски с разными версиями firmware...
В диаграммах приведена скорость (в МБ/сек.) работы RAID0-массивов и одиночного диска Seagate Barracuda ATA IV (80ГБ, прошивка 3.19) в четырёх режимах.
При чтении скорость RAID0-массивов на дисках с любой версией firmware всегда меньше (иногда существенно!), чем скорость одиночного диска.

Разница в скорости между массивами RAID0 на винчестерах с разными версиями firmware есть, но найти какую-то закономерность трудновато. :)
Впрочем, одна, на мой взгляд, есть - RAID0 с винчестерами 3.75 лучше остальных справляется с чтением набора файлов. Но, к сожалению, он всё равно медленнее, чем одиночный диск.
Почему же массив из двух дисков оказался медленнее, чем одиночный диск при чтении, то есть там, где RAID0-массив должен показывать максимальное превосходство перед одиночным диском?
Исследование нагрузки на дисковую подсистему при помощи Perfomance Monitor показало, что при чтении файлов максимальная глубина очереди команд составила всего 4 запроса, а среднее значение было еще меньше - 1,4 запроса! Все мы помним, как ведут себя RAID0-массивы на Barracuda ATA IV при режиме чтения при малой нагрузке, и именно в этот режим мы попадаем в нашем случае!

Выводы

По результатам проведённого тестирования можно сделать следующие выводы:

Винчестеры Barracuda ATA IV "работают" в RAID0-конфигурациях, что бы там не говорили "осведомлённые источники"

Винчестеры Barracuda ATA IV вполне успешно справляются с "серверными" паттернами

Винчестеры Barracuda ATA IV в составе RAID0-массивов плохо работают с запросами на чтение и запись блоков малого размера при малой интенсивности запросов (малой глубине очереди команд).

Все исследованные версии firmware имеют указанный выше недостаток.

Итак, можно ли исправить найденные у винчестеров Barracuda ATA IV недостатки и сохранить достоинства? По всей видимости - да. На мой взгляд, проблема низкой скорости Barracuda ATA IV в RAID0-массиве заключается в недостаточной оптимизации алгоритмов упреждающего чтения. Решить эту проблему можно, и, я думаю, Seagate сделает это. Судя по результатам винчестеров с разными версиями прошивок, программисты Seagate медленно, но верно приближаются к решению проблемы. Это видно по тому, что результаты винчестеров с большим номером фирмваре при линейном чтении выше, чем у винчестеров с более старыми прошивками.
Можно ли решить проблемы изменением настроек RAID-массива или изменением размера кластера (его увеличением)? Может быть, но мне, увы, это не удалось...

Прошивать или нет - вот в чём вопрос

По Сети "гуляет" некоторое количество прошивок к винчестерам Barracuda ATA IV, и многие из наших читателей уже не устояли перед соблазном приложить свои руки к увеличению энтропии вселенной...
Надеюсь, что после прочтения этой статьи количество желающих рискнуть своим винчестером и находящимися на нём данными ради небольшой прибавки в производительности сократится.

Часто задаваемые вопросы (FAQ)

Тактика выбора сервера.

Отказоустойчивый сервер.

Что такое RAID?

Уровни RAID

Сервер - есть решение задачи. Суть понятия.

Се́рвер (англ. server от англ. to serve — служить) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента , предоставляя ему доступ к определённым ресурсам

Итак, основная задача сервера - исполнять запросы клиентов либо программ. Отсюда следует, что сервер - вещь сугубо утилитарная, предназначенная для выполнения определенной задачи. Выполнение, или решение задачи - является главным свойством сервера. Вот почему - сначала ставиться задача , а затем под неё подбирается сервер .

Сбалансированный сервер. Как найти оптимальный баланс?

Сбалансированный сервер - это та цель, которую преследует интегратор или продавец и заказчик. Заказчику в первую очередь нужно получить сервер, отвечающий его требованиям, которые в свою очередь определяет задача , которую он будет решать. В наших интересах предоставить заказчику сервер максимально соответствующий его требованиям. Такое сотрудничество взаимовыгодно. Клиент получает сервер именно тот, который нужен ему. Не переплачивая за лишнее, и не выбрасывая денег за то, что работать не будет. Мы получаем довольного клиента и репутацию.

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

Тактика выбора сервера.

Тактика выбора сервера заключается в первую очередь в выяснении задач, которые должен будет решать сервер, какой необходим запас производительности, и возможности масштабирования. Далее выясняются требования к отказоустойчивости и наконец ориентировочный бюджет. Если задачи явно превосходят выделенный бюджет, то по возможности производиться корректировка бюджета либо задачи. Важным является предложение масштабируемого решения для растущих потребностей клиента. Это позволяет решать задачу с минимальными как начальными так и последующими вложениями, снижая TCO (Total Cost of Ownership - совокупная стоимость владения).

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

Отказоустойчивый сервер.

Как правило сервер обслуживает множество пользователей. Поэтому, сервер в идеале всегда должен быть в рабочем состоянии, чтобы исполнить тот или иной запрос. Если Ваш домашний компьютер перестанет работать, то в конечном итоге от этого пострадаете только Вы. Если же сервер перестанет работать, то пострадают множество клиентов, что может обернуться несоизмеримыми потерями по сравнению со стоимостью самого сервера.

Часто путают понятия «надежность» и «отказоустойчивость».

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

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

Время простоя сервера. Способы сокращения.

Способами повышения отказоустойчивости сервера и как следствие снижения времени простоя является применение таких элементов как: RAID-массивы (дублирование жестких дисков), дублированные блоки питания, дублированная система охлаждения, в ряде случаев - дублирование подсистемы памяти (т.н. зеркалирование модулей памяти).

Если необходимо еще больше повысить отказоустойчивость системы, то говорят уже о построении HA-кластеров (High Availability Clusters - кластеры высокой доступности или готовности). HA-кластер - представляет из себя полностью дублированную систему серверов, систем хранения, коммутации и питания. Такая система имеет один из самых высоких показателей готовности, которое измеряется временем простоя в год, либо отношением времени работы к времени простоя выраженное в процентах. Кроме того, такая система позволяет не останавливать систему для проведения ремонтных и регламентных работ, что также существенно повышает готовность в целом.

Для сравнения, показатели готовности различных вычислительных машин:

    обычный ПК - ~90% в год или 36,5 суток простоя в год.

    сервер начального уровня - ~96% в год или 14,6 суток простоя

    отказоустойчивый сервер - ~98% в год или 7,3 суток простоя

    кластер высокой готовности - 99,99% в год или 53 минуты в год

Я умею собирать компьютеры и считаю, что могу собрать сервер! Почему я должен покупать сервер у Вас?

Такой вопрос часто задается нашими клиентами, когда они пытаются рассчитать стоимость сервера из стоимости комплектующих. Действительно, стоимость комплектующих ниже стоимости сервера, иначе мы бы просто работали себе в убыток. Но давайте попробуем разобраться за что клиент «переплачивает».

Во-первых, задача технически собрать сервер не такая уж тривиальная, как может показаться сначала. Серверы имеют схожие элементы с обычными ПК, например - корпус, блок питания, материнская плата, процессоры, память, жесткие диски и т.п.

На первый взгляд - все просто. Купил нужные комплектующие, и собрал сервер! Вот здесь такого «сборщика» поджидают первые неприятные сюрпризы.

Например, серверная материнская плата работает только со специализированной серверной памятью. Да еще не со всякой, а с валидированной, т.е. явно прописанной производителем этой платы. Корпус тоже не всякий подойдет - здесь подводных камней еще больше! Формат серверной материнской платы как правило отличается от привычного ATX. Питание также специфическое. Дело в том, что сервер является активным потребителем тока по +12вольт. На этом напряжении работают преобразователи напряжения для процессоров (VRM - Voltage Regulator Module), а каждый процессор способен потреблять огромный ток! А теперь представьте, что их не один, а два! Каждый по 100Вт рассеиваемой (=потребляемой мощности). Итого 200Вт - только процессоры! Даже если предположить, что КПД VRM-ов близко к 100%, то получиться, что только процессоры потребляют ток 200/12=16,7Ампер по шине +12Вольт. Посмотрите на десктопные блоки питания - на них, как правило, указан показатель 13-15 ампер для шины +12 вольт, а кроме процессоров в сервере есть диски, сама материнская плата, память и т.д. Поэтому, сервер должен иметь специализированный серверный блок питания, который помимо надежности, способен выдавать нужный ток по +12вольт. Этот показатель для современных серверных БП составляет примерно от 30 до 80Ампер!

Этот наглядный и к сожалению далеко не единственный пример ярко иллюстрирует проблемы неквалифицированного подхода к сборке сервера.

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

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

Собственное производство, многолетний опыт, непрерывные исследования являются залогом качества продукции и профессионализма сотрудников.

Что такое RAID?

Аббревиатура RAID изначально расшифровывалась как «Redundant Arrays of Inexpensive Disks» («избыточный (резервный) массив недорогих дисков», так как они были гораздо дешевле оперативной памяти). Именно так был представлен RAID своими исследователями: Петтерсоном (David A. Patterson ), Гибсоном (Garth A. Gibson ) и Катцом (Randy H. Katz ) в 1987 году. Со временем RAID стали расшифровывать как «Redundant Array of Independent Disks» («избыточный (резервный) массив независимых дисков»), потому как для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ). RAID служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации.

Беркли представил следующие уровни RAID, которые были приняты как стандарт де-факто:

    Представлен как неотказоустойчивый дисковый массив.

    Определён как зеркальный дисковый массив.

    RAID 2 зарезервирован для массивов, которые применяют код Хемминга. В настоящее время не используется.

    RAID 3, 4, 5 используют чётность для защиты данных от одиночных неисправностей. В настроящее время используется в основном только RAID 5.

    RAID 6 используют чётность для защиты данных от двойных неисправностей

Уровни RAID

Схема RAID 0.

RAID 0 («Striping») — дисковый массив из двух или более HDD с отсутствием избыточности. Информация разбивается на блоки данных (Ai) и записывается на оба/несколько диска поочередно.

За счёт этого существенно повышается производительность (в зависимости от количества дисков зависит кратность увеличения производительности), но страдает надёжность всего массива. При выходе из строя любого из входящих в RAID 0 винчестеров полностью и безвозвратно пропадает вся информация. В соответствии с теорией вероятностей, надёжность массива RAID 0 равна произведению надёжностей составляющих его дисков, каждая из которых меньше единицы, т. о. совокупная надёжность заведомо ниже надёжности любого из дисков.

Схема RAID 1.

RAID 1 (Mirroring — «зеркало») имеет защиту от выхода из строя половины имеющихся аппаратных средств (в частном случае — одного из двух жёстких дисков), обеспечивает приемлемую скорость записи и выигрыш по скорости чтения за счёт распараллеливания запросов. Недостаток заключается в том, что приходится выплачивать стоимость двух жёстких дисков, получая полезный объем одного жёсткого диска.

Изначально предполагается, что жёсткий диск — вещь надёжная. Соответственно, вероятность выхода из строя сразу двух дисков равна (по формуле) произведению вероятностей, то есть ниже на порядки. К сожалению, данная теоретическая модель не достаточно полно отражает процессы, протекающие в реальной жизни. Так, обычно два винчестера берутся из одной партии и работают в одинаковых условиях, а при выходе из строя одного из дисков нагрузка на оставшийся увеличивается, поэтому на практике при выходе из строя одного из дисков следует срочно принимать меры — вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва HotSpare. Достоинство такого подхода — поддержание постоянной надёжности. Недостаток — ещё большие издержки (то есть стоимость трёх винчестеров для хранения объёма одного диска).

Схема RAID 5.

Cамый популярный из уровней, в первую очередь благодаря своей экономичности. Жертвуя ради избыточности ёмкостью всего одного диска из массива, мы получаем защиту от выхода из строя любого из винчестеров тома. На запись информации на том RAID 5 тратятся дополнительные ресурсы, так как требуются дополнительные вычисления, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких накопителей массива распараллеливаются.

Недостатки RAID 5 проявляются при выходе из строя одного из дисков — весь том переходит в критический режим, все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. Если в таком режиме выйдет из строя еще один диск, то вся информация будет потеряна. Поэтому, с томом RAID5 очень желательно использовать диск HotSpare. Если во время восстановления массива, вызванного выходом из строя одного диска, выйдет из строя второй диск - данные в массиве разрушаются. Уровень RAID 6 допускает выход из строя двух и более дисков.

Похож на RAID 5 но имеет более высокую степень надежности — под контрольные суммы выделяется емкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более серьезный процессор контроллера — сложная математика. Обеспечивает работоспособность после выхода из строя 2-х дисков.

Комбинированные уровни RAID 0+1, RAID 10, RAID 50, RAID 60

Помимо базовых уровней RAID 0 — RAID 5, описанных в стандарте, существуют комбинированные уровни RAID 10, RAID 0+1, RAID 30, RAID 50, RAID 60 которые различные производители интерпретируют каждый по-своему.

Суть таких комбинаций заключается в следующем.

Это массив RAID-1 из двух массивов RAID-0. Как правило такой массив часто встречается на т.н. Host RAID-контроллерах. В случае с четырьмя дисками надежность и производительность соответствует RAID-10 из 4-х дисков.

— это массив RAID-0 из массивов RAID-1. Позволяет увеличивать производительность как у RAID-0 и иметь надежность выше чем у RAID-5. Теоретически допускает отказ до половины дисков. Гарантированно выдерживает отказ одного диска. Также достоинством данного массива является отсутствие требований к вычислительной мощности RAID-контроллера, а к недостаткам - потерю емкости половины всех дисков.

— это объединение в RAID-0 томов 5-го уровня. К такому решению прибегают, когда необходимо создать массив большой емкости из большого количества дисков. Дело в том, что чем больше дисков в массиве RAID-5, тем больше нагрузка на контроллер с расчетом контрольных сумм, и тем выше вероятность выхода из строя одновременно двух и более дисков, что неминуемо приведет к потере всей информации. Усугубляет ситуацию то, что в случае отказа одного из дисков, время восстановления массива на резервный диск (HotSpare) в течение которого массив остается беззащитным увеличивается пропорционально количеству дисков. Для решения этой проблемы применяется массив RAID 50. Уменьшая количество дисков томах RAID-5 мы снижаем время восстановления массива в случае сбоя, а также такой комбинированный уровень допускает выход из строя более одного диска из разных томов RAID-5

RAID 60 — Аналогично RAID-50, только в качестве базовых "кирпичиков" используются тома RAID-6.

Какой уровень RAID быстрее и почему?

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

Отказоусточивые массивы (RAID-1, RAID-10, RAID-5 и RAID-6) имеют различную производительность под разной нагрузкой, а также удельную стоимость хранения мегабайта информации на них.

Рассмотрим производительность различных уровней RAID.

Самый простой в реализации массив. Недостаток - полезная емкость = ½ совокупной емкости дисков. Однако, этот недостаток с лихвой окупается низкой стоимостью реализации подобного массива в сервере, т.к. большинство современных адаптеров интерфейсов (интегрированных на материнских платах, т.е. по сути «бесплатных») «умеют» делать массивы RAID-0 и 1. Такие массивы не требуют ресурсоемких вычислений, поэтому легко реализуемы и как следствие дешевы.

Производительность RAID-1 на чтение теоретически вдвое превосходит производительность одиночного диска. На запись - равна скорости одиночного диска. Учитывая невысокую стоимость как дисков, так и контроллера - этот массив можно рекомендовать для применения в ненагруженных серверах.

Этот уровень массива предполагает вычисления контрольных сумм при записи, что накладывает дополнительную нагрузку на процессор сервера, либо создает необходимость в приобретении аппаратного RAID-контроллера, стоимость которого как правило составляет стоимость 3-4 жестких дисков. В ряде случаев, от RAID-5 можно отказаться в пользу RAID-1 с сохранением, либо даже увеличением емкости. Например: Вам нужно построить массив емкостью 500Гб. Это можно сделать двумя путями:

1. Купить RAID-контроллер и 3 диска по 250Гб, что при создании RAID-5 даст полезную емкость в 500Гб

2. Использовать встренный на материнскую плату RAID-1, купить два диска по 500Гб и объединить их в RAID-1 получив полезную емкость массива те же 500Гб.

Стоимость второго решения, учитывая стоимость дисков может оказаться более чем в два раза ниже, чем первого. В данном случае RAID-5 не имеет приемуществ и по производительности. Наши исследования показали, что RAID-5 из трех дисков работает практически также, как RAID-1 из двух.

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

Использование данного массива целесообразно, когда количество дисков в массиве велико, и соответственно велика вероятность выхода из строя одновременно более одного диска. RAID-6 накладывает бОльшие требования к оборудованию по сравнению с RAID-5, что в целом снижает его производительность.

Современные RAID-контроллеры обладают мощными вычислительными ресурсами, которые позволяют провести переход с уровня RAID-5 к уровню RAID-6 без видимой потери производительности.

Массив сочетает в себе высокую надежность и производительно RAID-0. Производительность растет также как у RAID-0, с тем отличием, что элементами массива являются «наборы» RAID-1 из двух дисков. Массив обладает хорошей производительностью по записи и по чтению, что позволяет назвать его «универсальным». Однако, недостатком такого массива является большая потеря емкости исходных дисков (50%), что делает нерентабельным его использования в системах хранения данных с последовательным доступом.

В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания - а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное - на самом деле все равно). Перед вашими глазами - именно такой материал.

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

RAID 0 (Stripe)

Грубо говоря, это последовательное объединение двух (или более) физических дисков в один "физический" диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла - в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.

Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.

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

RAID 1 (Mirror)

Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 - аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или "железный" RAID 1, или shadow.

При сбое тщательно проверяйте, какой именно диск сбойнул. Самый частый случай погибания данных на RAID 1 - это неверные действия при восстановлении (в качестве "целого" указан не тот диск).

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

RAID 1+0

Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и "снаружи" представляет собой тот же RAID 10.

RAID 2-3-4

Эти RAID являются редкими, т. к. в них используются коды Хэмминга, либо разбиение байт на блоки + контрольные суммы и т. п., но общее резюме таково - эти RAID дают только надежность, при 0-вом увеличении производительности, и иногда даже ее ухудшении.

RAID 5

Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива

Обычно говорится, что "RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно". Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).

Вообще RAID 5 раньше был наиболее часто используемым массивом дисков для работы с СУБД. Сейчас такой массив можно организовать и на SATA дисках, причем он получится существенно дешевле, чем на SCSI. Цены и контроллеры вы можете посмотреть в статьях
Причем, следует обратить внимание на объем покупаемых дисков - например, в одной из упомянутых статей RAID5 собирается из 4-х дисков объемом 34 гиг, при этом объем "диска" получается 103 гигабайта.

Тестирование пяти контроллеров SATA RAID - http://www.thg.ru/storage/20051102/index.html .

Adaptec SATA RAID 21610SA в массивах RAID 5 - http://www.ixbt.com/storage/adaptec21610raid5.shtml .

Почему RAID 5 - это плохо - https://geektimes.ru/post/78311/

Внимание! При закупке дисков для RAID5 обычно берут 3 диска, по минимуму (скорее из-за цены). Если вдруг по прошествии времени один из дисков откажет, то может возникнуть ситуация, когда не удастся приобрести диск, аналогичный используемым (перестали выпускаться, временно нет в продаже, и т. п.). Поэтому более интересной идеей кажется закупка 4-х дисков, организация RAID5 из трех, и подключение 4-го диска в качестве резервного (для бэкапов, других файлов и прочих нужд).

Объем дискового массива RAID5 расчитывается по формуле (n-1)*hddsize, где n - число дисков в массиве, а hddsize - размер одного диска. Например, для массива из 4-х дисков по 80 гигабайт общий объем будет 240 гигабайт.

Есть по поводу "непригодности" RAID5 для баз данных. Как минимум его можно рассматривать с той точки зрения, что для получения хорошей производительности RAID5 необходимо использовать специализированный контроллер, а не то, что есть по умолчанию на материнской плате.

Статья RAID-5 must die . И еще о потерях данных на RAID5 .

Примечание. На 05.09.2005 стоимость SATA диска Hitachi 80Gb составляет 60 долларов.

RAID 10, 50

Дальше идут уже комбинации из перечисленных вариантов. Например, RAID 10 это RAID 0 + RAID 1. RAID 50 - это RAID 5 + RAID 0.

Интересно, что комбинация RAID 0+1 в плане надежности оказывается хуже, чем RAID5. В копилке службы ремонта БД есть случай сбоя одного диска в системе RAID0 (3 диска) + RAID1 (еще 3 таких же диска). При этом RAID1 не смог "поднять" резервный диск. База оказалась испорченной без шансов на ремонт.

Для RAID 0+1 требуется 4 диска, а для RAID 5 - 3. Подумайте об этом.

RAID 6

В отличие от RAID 5, который использует четность для защиты данных от одиночных неисправностей, в RAID 6 та же четность используется для защиты от двойных неисправностей. Соответственно, процессор более мощный, чем в RAID 5, и дисков требуется уже не 3, а минимум 5 (три диска данных и 2 диска контроля четности). Причем, количество дисков в raid6 не имеет такой гибкости, как в raid 5, и должно быть равно простому числу (5, 7, 11, 13 и т. д.)

Допустим одновременный сбой двух дисков, правда, такой случай является весьма редким.

По производительности RAID 6 я данных не видел (не искал), но вполне может быть, что из-за избыточного контроля производительность может быть на уровне RAID 5.

Rebuild time

У любого массива RAID, который остается работоспособным при сбое одного диска, существует такое понятие, как rebuild time . Разумеется, когда вы заменили сдохший диск на новый, контроллер должен организовать функционирование нового диска в массиве, и на это потребуется определенное время.

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

Время восстановления функционирования массива в нормальном режиме напрямую зависит от объема дисков. Например, Sun StorEdge 3510 FC Array при размере массива 2 терабайта в монопольном режиме делает rebuild в течение 4.5 часов (при цене железки около $40000). Поэтому, при организации массива и планировании восстановления при сбое нужно в первую очередь думать именно о rebuild time. Если ваша база данных и бэкапы занимают не более 50 гигабайт, и рост в год составляет 1-2 гигабайта, то вряд ли имеет смысл собирать массив из 500-гигабайтных дисков. Достаточно будет и 250-гигабайтных, при этом даже для raid5 это будет минимум 500 гигабайт места для размещения не только базы данных, но и фильмов. Зато rebuild time для 250 гигабайтных дисков будет примерно в 2 раза меньше, чем для 500 гигабайтных.

Резюме

Получается, что самым осмысленным является использование либо RAID 1, либо RAID 5. Однако, самая частая ошибка, которую делают практически все - это использование RAID "подо все". То есть, ставят RAID, на него наваливают все что есть, и... получают в лучшем случае надежность, но никак не улучшение производительности.

Еще часто не включают write cache, в результате чего запись на raid происходит медленнее, чем на обычный одиночный диск. Дело в том, что у большинства контроллеров эта опция по умолчанию выключена, т.к. считается, что для ее включения желательно наличие как минимум батарейки на raid-контроллере, а также наличие UPS.

Текст
В старой статье hddspeed.htmLINK (и в doc_calford_1.htmLINK) показано, как можно получить существенное увеличение производительности путем использования нескольких физических дисков, даже для IDE. Соответственно, если вы организуете RAID - положите на него базу, а остальное (temp, OS, виртуалка) делайте на других винчестерах. Ведь все равно, RAID сам по себе является одним "диском", пусть даже и более надежным и быстродействующим.
признан устаревшим. Все вышеупомянутое вполне имеет право на существование на RAID 5. Однако перед таким размещением необходимо выяснить - каким образом можно делать backup/restore операционной системы, и сколько по времени это будет занимать, сколько времени займет восстановление "умершего" диска, есть ли (будет ли) под рукой диск для замены "умершего" и так далее, т. е. надо будет заранее знать ответы на самые элементарные вопросы на случай сбоя системы.

Я все-таки советую операционную систему держать на отдельном SATA-диске, или если хотите, на двух SATA-дисках, связанных в RAID 1. В любом случае, располагая операционную систему на RAID, вы должны спланировать ваши действия, если вдруг прекратит работать материнская плата - иногда перенос дисков raid-массива на другую материнскую плату (чипсет, raid-контроллер) невозможен из-за несовместимости умолчательных параметров raid.

Размещение базы, shadow и backup

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

Объяснение очень простое. Backup - это чтение данных из файла БД и запись в файл бэкапа. Если физически все это происходит на одном диске (даже RAID 0 или RAID 1), то производительность будет хуже, чем если чтение производится с одного диска, а запись - на другой. Еще больше выигрыш от такого разделения - когда backup делается во время работы пользователей с БД.

То же самое в отношении shadow - нет никакого смысла класть shadow, например, на RAID 1, туда же где и база, даже на разные логические диски. При наличии shadow сервер пишет страницы данных как в файл базы так и в файл shadow. То есть, вместо одной операции записи производятся две. При разделении базы и shadow по разным физическим дискам производительность записи будет определяться самым медленным диском.

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

Тестовый стенд

Как правило в организациях малого и среднего бизнеса на роль файловых серверов, серверов уровня отдела и т.п. используется обычный ПК, собранный из обычных, бюджетных, комплектующих. Целью нашего тестирования было изучение производительности дисковой подсистемы собранной с помощью RAID контроллера чипсета и его сравнение с программными реализациями RAID массивов (средствами ОС). Поводом для проведения тестирования стало отсутствие в широком доступе объективных тестов бюджетных RAID, а также большое количество "мифов и легенд" по этому вопросу. Мы специально не подбирали железо, а воспользовались тем, что было под рукой. А под рукой оказались несколько обычных ПК для очередного внедрения, один из которых был использован в качестве тестового стенда.

Конфигурация ПК:

  • Материнская плата: ASUS M4N68T-M SocketAM3
  • Процессор: CPU AMD ATHLON II X2 245 (ADX245O) 2.9 ГГц/ 2Мб/ 4000МГц Socket AM3
  • Оперативная память: 2 х Kingston ValueRAM DDR-III DIMM 1Gb
  • Жесткие диски: HDD 320 Gb SATA-II 300 Western Digital Caviar Blue 7200rpm 16Mb
  • Операционная система: Windows Server 2008 SP2 (32-bit)
  • Файловая система: NTFS

Дисковая подсистема была сконфигурирована следующим образом: на один диск была установлена операционная система, из двух или трех других собирался RAID массив.

Методика тестирования

В качестве тестового ПО нами был выбран Intel NAS Performance Toolkit , данный пакет представляет набор тестов, позволяющий оценить производительность дисковой подсистемы на основных характерных задачах. Каждый тест выполнялся пять раз, конечный результат представляет среднее значение. За эталон мы взяли производительность одиночного жесткого диска.

Нами были протестированы массивы RAID0, RAID1 и RAID5, причем RAID5 был протестирован как в нормальном режиме, так и в аварийном, с одним изъятым диском. Почему в аварийном режиме мы протестировали только этот массив? Ответ прост: для RAID0 такого режима не существует, при отказе любого из дисков массив разрушается, а единственный оставшийся диск RAID1 ничем ни будет отличатся от одиночного диска.

Тестировались как аппаратные, так и программные реализации, первоначально мы еще замеряли среднюю загрузку ЦПУ, так как бытует мнение, что программный RAID сильно грузит процессор. Однако от включения данного замера в результаты тестов мы отказались, нагрузка на процессор оказалась приблизительно равна и составила около 37-40% для одиночного диска, RAID0, RAID1 и 40-45% для RAID5.

Файловые операции

Классическими операциями для любого накопителя являются операции чтения и записи. В Intel NASPT эти параметры оцениваются в четырех тестах: копирование на накопитель и обратно файла размером 247 Мб и 44 папок содержащих 2833 файла общим объемом 1,2 Гб.

Чтение / запись файлов

Если обратить внимание на результаты эталонного диска, то увидим, что скорость записи почти вдвое (на 89%) выше скорости чтения. Это связано с особенностями работы файловой системы и этот факт также следует учитывать. RAID0 (чередующийся массив), вне зависимости от способа реализации показал на 70% более высокую производительность, чем одиночный диск, в то время как скоростные параметры RAID1 (зеркало) полностью ему идентичны.

Отдельного разговора заслуживает RAID5, скорость записи на него неприемлемо низкая, замедление составляет до 70%, в то время как скорость чтения не уступает быстрому RAID0. Возможно это связано с недостатком вычислительных ресурсов и несовершенством алгоритмов, ведь при записи тратятся дополнительные ресурсы для вычисление контрольной суммы. При отказе одного из дисков скорость записи падает, у аппаратного решения спад менее выражен (15%), чем у программного (40%). Скорость чтения при этом падает значительно и соответствует скорости одиночного диска.

Чтение / запись папок

Каждый, кто пробовал скопировать россыпь мелких файлов, знает - лучше предварительно запаковать их в архив, так будет значительно быстрее. Наши тесты только подтверждают это эмпирическое правило, чтение россыпи мелких файлов и папок почти на 60% медленнее, чтения крупного файла, скорость записи также незначительно (10%) ниже.

RAID0 дает гораздо меньшее преимущество на операциях записи (30-40%), а на операциях чтения разницей вообще можно пренебречь. RAID1 ожидаемо не подносит нам никаких сюрпризов, идя один в один с одиночным диском.

RAID5 на мелких файлах показывает гораздо более лучший результат, но все равно продолжает уступать одиночному диску в среднем 35%. Скорость чтения ничем не отличается от остальных конфигураций, мы склонны считать, что в данном случае сдерживающим фактором является время произвольного доступа винчестера. А вот при изъятии из массива одного диска мы получили весьма неожиданный результат, который заставил нас его несколько раз перепроверить, в том числе и на другой модели винчестеров (500 Gb Seagate/Maxtor Barracuda 7200.12/DiamondMax 23 <3500418AS> 7200rpm 16Mb). Дело в том, что скорость записи аппаратного массива резко упала (почти в три раза), а скорость записи программного RAID5 наоборот выросла, возможно это связано с алгоритмом программной реализации массива. И все же мы предпочитаем оставить данный "феномен" без комментариев.

Работа с приложениями

Следующие тесты отражают производительность дисковой подсистемы при работе с различного рода приложениями, прежде всего офисными. Первый тест (Content Creation) отражает использование диска для хранения и работы с данными, пользователь создает, открывает, сохраняет документы не проявляя особой активности. Наиболее мощный тест - Office Productivity, он моделирует активную работу с документами, поиск информации в интернете (на накопитель сбрасывается кэш браузера), в общей сложности 616 файлов в 45 каталогах объемом 572 Мб. Последний тест - работа с фотоальбомом (преимущественно просмотр), более характерен для домашнего применения, включает в себя 1,2 Гб фото (169 файлов, 11 каталогов).

Работа с документами

При работе с одиночными файлами RAID0 вполне предсказуемо почти в два раза опережает RAID1 и одиночный жесткий диск (тест Content Creation), однако при активной работе теряет все свои преимущества, в тесте Office Productivity RAID0, RAID1 и одиночный диск показывают одинаковые результаты.

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

Работа с фотографиями

В данном режиме все массивы показали примерно одинаковый результат, сравнимый с производительностью одиночного диска. Хотя RAID5 показал несколько более низкий результат, хотя в данном случае отставание вряд ли удастся заметить "невооруженным глазом".

Мультимедиа

Ну и напоследок мультимедийные тесты, которые мы разбили на две части: воспроизведение и запись. В первом случае с накопителя воспроизводится HD видео в один, два и четыре потока одновременно. Во втором производится запись и одновременная запись - воспроизведение двух файлов. Данный тест применим не только к видео, так как характеризует общие процессы линейной записи / чтения с дискового массива.

Воспроизведение

RAID0

Данный вид дискового массива уверенно лидирует при работе с крупными файлами и мультимедиа. В большинстве случаев позволяет достичь значительного преимущества (около 70%) по сравнению с одиночным диском, однако имеет один существенный недостаток - крайне низкую отказоустойчивость. При выходе из строя одного диска разрушается весь массив. При работе с офисными приложениями и фотографиями особых преимуществ не имеет.

Где можно применять RAID0? В первую очередь на рабочих станциях, которым по роду задач приходится работать с большими файлами, например, видеомонтаж. Если требуется отказоустойчивость можно применить RAID10 или RAID0+1 которые представляют чередующийся массив из двух зеркал или зеркало из чередующихся массивов, данные уровни RAID сочетают скоростные параметры RAID0 и надежность RAID1, из недостатков можно назвать существенные накладные расходы - для хранения используется только половина емкости дисков входящих в массив.

RAID1

Никаких скоростных преимуществ перед одиночным диском "зеркало" не имеет, основная задача этого массива - обеспечение отказоустойчивости. Рекомендуется к применению при работе с офисными файлами и мелкими файлами, т.е. на тех задачах где разница между более скоростными массивами не столь велика. Неплохо подойдет для работы с 1С:Предприятие 7.7 в файловом режиме, который по характеру работы с диском представляет нечто среднее между Office Productivity и Dir copy from / to NAS. Для более производительных задач не рекомендуется, здесь стоит обратить внимание на RAID10 и RAID0+1.

RAID5

Мы бы не рекомендовали применять этот вид массива в бюджетных системах, на операциях записи RAID5 значительно проигрывает даже одиночному жесткому диску. Единственная сфера, где его применение будет оправдано, это создание медиасерверов для хранения мультимедийных данных, основной режим которых - чтение. Здесь на первый план выходят такие параметры как высокая скорость чтения (на уровне RAID0) и меньшие накладные расходы на обеспечение отказоустойчивости (1/3 емкости массива), что дает неплохой выигрыш при создании хранилищ значительного объема. Однако следует помнить, что попытка записи на массив приводит к резкому снижению производительности, поэтому заливку новых данных на подобные медиасервера следует производить в часы наименьшей загруженности.

Аппаратный или программный?

Результаты тестов не выявили каких либо заметных достоинств или недостатков для обоих вариантов реализации, разве что RAID5, аппаратный вариант которого показывал в ряде случаев более высокий результат. Поэтому следует исходить из других особенностей. Таких как совместимость и переносимость.

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

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

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

Из недостатков следует отметить невозможность установки Windows на тома RAID0 и RAID5, по той причине, что установка Windows на динамический том возможна только тогда, когда этот том был преобразован из базового загрузочного или системного тома. Подробнее о динамических томах можно прочитать .

  • Теги:

Please enable JavaScript to view the comments powered by Disqus.

Трекбэк

При создании файлового сервера неизбежно возникает вопрос выбора операционной системы. Здесь есть над чем задуматься: потратить деньги на Windows Server или обратить внимание на бесплатные Linux и BSD? Во втором случае придется еще определиться с выбо...

Лучшие статьи по теме