Raid 0 скорость не увеличилась

Обновлено: 06.07.2024

При старте компа появилась новая надпись для настройки RAID.
Настроил на RAID 0 (в BIOS он называется Striping) - это когда одновремено с одного читается, на другой пишется, или пишется сразу на оба, короче скорость работы такого массива увеличивается в 2 раза.

Зарядил в CD-ROM диск от матери и стартонул, диск предложил создать дискету-драйвер для RAID - создал.

Начал установку XP PRO SP2 RUS, в самом начале нажал F6, но винда после нажатия сразу не требует драйвер для RAID, только после установки своих необходимых файлов попросила нажать S для выбора SCSI-устройств.
После нажатия S, надо вставить дискету и нажать ENTER - появится список из 2-ух драйверов, которые оба надо установить. Дальше всё как обычно.

Когда хотел поставить вторую ОСЬ - XP PRO x64 Edition, не пошло, винда писала, что не поддерживает это устройство.
Для WIN XP x64 скачал свежие дрова SATA-2, так что теперь полный комплект.

Теперь в списке устройств появилось 2 контролёра SCSI, установленных с дискеты при инсталяции WIN XP.

Прикрепленные файлы

RAID 0 (в BIOS он называется Striping) - это когда одновремено с одного читается, на другой пишется, или пишется сразу на оба, короче скорость работы такого массива увеличивается в 2 раза.

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

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


Что за raid, диски, интерфейс, контроллер, размеры буферов I/O?


С такими детальными ответами диалог будет длиться два дня. Какой именно?

Файловая система ext4 4 идентичных диска:


Stride и Stripe width как считал?

Я ничего не считал, просто сделал по умолчанию


Тады посчитай тулзой по ссылке, а потом примени с помощью tune2fs.


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

выключил торрент и повторил:


А скока надо? Отдельно каждый винт как выдает?
Вообще, завидую. С межделмаш-хранилища по SAS обычно меньше 150 имел.

И почему скорость записи БОЛЬШЕ скорости чтения . Как это вообще может быть ?


Надо делать sync и сбрасывать буферы

тогда не будет странно.


Размер блока ФС, как я понимаю.

Что не так делаю ?

По умолчанию, Stride и Stripe width получились такие, как рекомендует тулзовина.

Что удивительного? Запись закэшировалась в буфер. Можно посмотреть что будет с опцией oflag=direct. Нужно ещё bs больше сделать

Почему такая большая разница .

Уточни пожалуйса, какая именно разница интересует :)

Почему падает скорость с 5.7 GB/c до 205 MB/c ?

> Почему падает скорость с 5.7 GB/c до 205 MB/c ?

Файловый кэш. Ваш К.О.

В первом случае все 4гб влезают в кеш и чтение идёт из памяти. Во втором 6гб не помещаются целиком и приходится всё читать с диска.


>Вообще, завидую. С межделмаш-хранилища по SAS обычно меньше 150 имел.

Меньше 150 если все диски в RAID-0 объеденить?

В первом случае все 4гб влезают в кеш и чтение идёт из памяти. Во втором 6гб не помещаются целиком и приходится всё читать с диска.


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


Вроде да, да и цифры, как видишь, поменялись.

Вообще скорость обычного диска примерно 30мб/с(запись) 90мб/с(чтение)

Где вы такие диски берёте. Давно уже линейные скорости чтения и записи примерно одинаковые, от 70-100 мб/сек для обычных дисков.

Пусть так, но почему скорость чтение МЕНЬШЕ скорости записи .

Это не номинальная скорость носителя, а фактическая с учётом отложенной записи через кэш. Для устранения эффектов кэша нужно использовать oflag=direct и писать прямо на блочное устройство, а не в файл.

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

Как настроить RAID 0 массив и установить на него Windows 10. Или как увеличить быстродействие дисковой системы в два раза


Как вы догадались, сегодняшняя статья о создании и настройке дискового массива RAID 0 состоящего из двух жёстких дисков. Задумал я её несколько лет назад и специально приобрёл два новых винчестера SATA III (6 Гбит/с) по 250 ГБ, но в силу сложности данной темы для начинающих пользователей пришлось её тогда отложить. Сегодня же, когда возможности современных материнских плат подошли к такому уровню функциональности, что RAID 0 массив может создать даже начинающий, я с большим удовольствием возвращаюсь к этой теме.

Примечание : Для создания RAID 0 массива можно взять диски любого объёма, например по 1 ТБ. В статье, для простого примера, взяты два диска по 250 ГБ, так как свободных дисков другого объёма не оказалось под руками.

Всем компьютерным энтузиастам важно знать, что RAID 0 («striping» или «страйпинг»), это – дисковый массив из двух или более жёстких дисков с отсутствием избыточности. Перевести данную фразу на обычный русский можно так: при установке в системный блок двух или более жёстких дисков (желательно одного объёма и одного производителя) и объединении их в дисковый массив RAID 0, информация на эти диски записывается/читается одновременно, что в два раза увеличивает производительность дисковых операций. Единственное условие - ваша материнская плата должна поддерживать технологию RAID 0 (в наше время практически все материнки поддерживают создание рейд-массивов). Внимательный читатель может спросить: «А что такое отсутствие избыточности?» Ответ. Технология виртуализации данных RAID разработана в первую очередь для безопасности данных и начинается с RAID 1 массива, который обеспечивает двойную надёжность (запись данных производится на два жёстких диска параллельно и при поломке одного винчестера вся информация остаётся в сохранности на другом HDD). Так вот, технология RAID 0 не записывает данные параллельно на два жёстких диска, RAID 0 разбивает при записи информацию на блоки данных и записывает её на несколько винчестеров одновременно, за счёт этого производительность дисковых операций вырастает в два раза, но при выходе из строя любого жёсткого диска вся информация на втором HDD теряется. Вот по этому создатели технологии виртуализации RAID - Ренди Кац и Дэвид Паттерсон, не считали RAID 0 за какой-либо уровень RAID и назвали его "0", так как он не является безопасным из-за отсутствия избыточности. Друзья, но согласитесь, что жёсткие диски ломаются не каждый день, а во вторых, с двумя HDD, объединёнными в RAID 0 массив, можно работать как с простым жёстким диском, то есть, если вы периодически будете делать резервные копии операционной системы, то вы застрахуете себя от возможных проблем на 100%. Итак, перед созданием RAID 0 массива предлагаю установить один из двух наших новых жёстких дисков SATA III (6 Гбит/с) в системный блок и проверить его на скорость чтения записи утилитами CrystalDiskMark и ATTO Disk Benchmark. Уже после создания RAID 0 массива и установки на него Windows 10 мы ещё раз проверим скорость чтения записи этими же утилитами и посмотрим, на самом ли деле данная технология увеличит быстродействие нашей операционной системы. Для проведения эксперимента возьмём далеко не новую материнскую плату ASUS P8Z77-V PRO построенную на чипсете Intel Z77 Express. Преимущества материнских плат построенных на чипсетах Intel Z77, Z87 и более новых H87, B87 заключаются в продвинутой технологии Intel Rapid Storage Technology (RST), которая специально разработана для RAID 0-массивов даже из SSD.


Подсоединяем жёсткий диск SATA III WDC WD2500AAKX 250 ГБ к высокоскоростному порту SATA III на материнской плате и включаем компьютер.


Забегая вперёд скажу, результаты теста вполне обычные для обычного HDD самого современного интерфейса SATA III . Является старейшей программой для тестирования производительности жёстких дисков, скачать можете на моём облачном хранилище, ссылка . Программа производит тест случайного и последовательного чтения/записи на винчестер блоками по 512 и 4 кб. Выбираем нужный накопитель, к примеру наш с Вами HDD под буквой C: и жмём All. Итоговый результат. Максимальная скорость записи информации на жёсткий диск достигала 104 Мб/с, скорость чтения - 125 Мб/сек.


Итоговый результат. Максимальная скорость записи информации на жёсткий диск достигала 119 Мб/с, скорость чтения - 121 Мб/сек.


Ну а теперь настраиваем наш RAID 0 массив в БИОС и устанавливаем на него операционную систему Windows 10. Подсоединяем к нашей материнской плате два одинаковых в объёме (250 ГБ) жёстких диска SATA III : WDC WD2500AAKX-00ERMA0 и WDC WD2500AAKX-001CA0.



На нашей материнке есть 4 порта SATA III (6 Гбит/с), использовать будем №5 и №6



Включаем компьютер и входим в БИОС с помощью нажатия клавиши DEL при загрузке.

Идём на вкладку Advanced, опция SATA Configuration.


Опцию SATA Mode Selection выставляем в положение RAID


Для сохранения изменений жмём F10 и выбираем Yes. Происходит перезагрузка.


Если вы подключили в БИОС технологию RAID, то при следующей загрузке на экране монитора появится предложение нажать клавиатурное сочетание (CTRL-I), для входа в панель управления конфигурации RAID.

Ещё в данном окне отображены подключенные к портам 4 и 5 наши жёсткие диски WDC, пока находящихся не в RAID-массиве (Non-RAID Disk). Жмём CTRL-I и входим в панель настроек.


В начальном окне панели нам нужна первая вкладка Create RAID Volume (Создать том RAID), чтобы войти в неё жмём Enter.


Здесь производим основные настройки нашего будущего RAID 0 массива.

Name : (Имя RAID-массива).

Нажмите на клавишу "пробел" и введите имя.


Пусть будет "RAID 0 new" и жмём Enter. Передвигаемся ниже с помощью клавиши Tab.


RAID Level : (Уровень RAID).

Мы создаём RAID 0 (stripe) - дисковый массив из двух жёстких дисков с отсутствием избыточности. Выберите этот уровень стрелками на клавиатуре и нажмите Enter.


Опускаемся ниже с помощью клавиши Tab.

Оставляем как есть.


Выставляется автоматически. Объём двух наших винчестеров 500 ГБ, так как мы используем уровень RAID 0 (stripe) и два наших жёстких диска работают как один. Ж мём Enter.


Больше ничего не меняем и передвигаемся к последнему пункту Create Volume и жмём Enter.


WARNING: ALL DATA ON SELECTED DISKS WILL BE LOST.

Are you sure you want to create this volume? (Y/N):

ВНИМАНИЕ: ВСЕ ДАННЫЕ на выбранных дисках будут потеряны.

Вы уверены, что хотите создать этот объем ? (Y / N):

Жмём Y (Да) на клавиатуре.


RAID 0 массив создан и уже функционирует, находится со статусом Normal (нормальный). Для выхода из панели настроек жмём на клавиатуре клавишу Esc.


Are you sure you want to exit (Вы уверены что хотите выйти? Нажимаем Y (Да). Происходит перезагрузка.


Теперь при каждой загрузке компьютера на экране монитора на несколько секунд будет появляться информация о состоянии нашего RAID 0 массива и предложение нажать сочетание клавиш (CTRL-I), для входа в панель управления конфигурации RAID.


Установка Windows 10 на RAID 0 массив

Подсоединяем к нашему системному блоку загрузочную флешку Windows 10, перезагружаем компьютер, входим в БИОС и меняем приоритет загрузки на флешку. А можно просто войти в меню загрузки компьютера и выбрать загрузку с установочной флешки Windows 10 (в нашем случае Kingston). В меню загрузки можно увидеть созданный нами RAID 0 массив с названием "RAID 0 new".




Принимаем условия лицензии и жмём Далее.


Выборочная: Только установка Windows (для опытных пользователей)


Можете создать разделы в этом окне или сделать это после инсталляции операционной системы, без разницы.



Windows 10 установлена на RAID 0 массив.


Идём в Управление дисками. Операционная система Windows 10 видит пространство двух наших жёстких дисков по 250 ГБ как один жёсткий диск объёмом 500 ГБ.


Диспетчер устройств. В дисковых устройствах находится наш RAID 0 массив.


Ну а теперь, самое главное, проводим тесты скорости работы RAID 0 массива.

Максимальная скорость записи информации на жёсткий диск достигала 186 Мб/с, скорость чтения - 248 Мб/сек.


Максимальная скорость записи информации на жёсткий диск достигала 221 Мб/с, скорость чтения - 237 Мб/сек.


1. Самые простые тесты дисковой активности показывают двойное превосходство RAID 0 массива над обычным жёстким диском. 2. С RAID 0 операционная система работает точно также, как и с обычным HDD. 3. С ама реализация RAID 0 выглядит на новых материнских платах очень просто и под силу даже начинающему. В следующей статье мы создадим RAID 0 новейших твердотельных накопителей SSD M.2 NVMe Samsung 970 EVO Plus и существенно превзойдём пропускную способность самого современного и быстрого интерфейса SATA 6 Гбит/с. Рекомендуем другие статьи по данной теме

Комментарии (116)

Рекламный блок

Подпишитесь на рассылку

Навигация

Облако тегов

Архив статей

Сейчас обсуждаем

ираклий казанцев

У меня задействована утилита KillUpdate которая отключает обновление (в службах диспетчера, и я

Дмитрий

Здравствуйте! Опять от меня чисто теоретический вопрос. Упоминавшийся мною в другом разделе

Фёдор

Цитата: STAROGIL При запуске AOMEI Backupper в главном окне было предложено создать загрузочную

Фёдор

Цитата: Владимир С.П. Лично я уже 15 лет пользуюсь Acronis. Просто скачиваю на торренте Acronis

RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.

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


Коллеги с соседнего отдела (UCDN) обратились с довольно интересной и неожиданной проблемой: при тестировании raid0 на большом числе SSD, производительность менялась вот таким вот печальным образом:

По оси X — число дисков в массиве, по оси Y — мегабайтов в секунду.

Я начал изучать проблему. Первичный диагноз был простой — аппаратный рейд не справился с большим числом SSD и упёрся в свой собственный потолок по производительности.

После того, как аппаратный рейд выкинули и на его место поставили HBA, а диски собрали в raid0 с помощью linux-raid (его часто называют 'mdadm' по названию утилиты командной строки), ситуация улучшилась. Но не прошла полностью -цифры возросли, но всё ещё были ниже рассчётных. При этом ключевым параметром были не IOPS'ы, а многопоточная линейная запись (то есть большие куски данных, записываемых в случайные места).

Ситуация для меня была необычной — я никогда не гонялся за чистым bandwidth рейдов. IOPS'ы — наше всё. А тут — надо многомногомного в секунду и побольше.

Я начал с определения baseline, то есть производительности единичного диска. Делал я это, скорее, для очистки совести.

Вот график линейного чтения с одной SSD.


Хотя меня смутила версия ядра на стенде — 3.2. По своему предыдущему опыту зная прискорбные особенности LSI, меняющие в драйверах (mpt2sas) от версии к версии буквально всё, я подумал, «а вдруг»?

Немного предыстории. mpt2sas — драйвер LSI для HBA. Живёт невероятно бурной жизнью, начав с версии с версии v00.100.11.15 через версии 01.100.0x.00 дойдя аж до версии 16.100.00.00 (интересно, что означает цифра «100»?). За это время драйвер отличился перестановкой имён букв дисков при обновлении минорной версии ядра, отличающемся от аносируемого биосом порядком дисков, падениями на «неожиданных» конфигурациях LUN'ов, на таймаутах бэкплейна, на неожиданном числе дисков, логгинг ошибок в dmesg со скоростью бесконечного цикла в самом ядре (де-факто это эквивалент зависания системы) и тому подобные весёлые вещи.

Обновились, запустили тест. И этот «вдруг» случился. Вот как выглядит тот же график на 3.14. А ведь я чуть-чуть было не забраковал невинные SSD'шки.


После того, как производительность дисков стабилизировалась, был проведён второй тест: на все диски запустили независимые тесты параллельно. Цель была проста — проверить, нет ли бутылочного горлышка где-то на шине или HBA. Производительность дисков оказалась вполне приличной, «затыка» по шине не было. Основная задача была решена. Однако, график производительности всё-таки отличался. Не сильно, но явно с намёком на хуже чем линейную скорость записи.

Почему запись так себя ведёт по мере увеличения числа дисков в массиве? График (в начале статьи) очень сильно напоминал график производительности многопоточных приложений по мере роста числа потоков, на которые обычно показывают программисты и Intel'овцы, когда говорят о проблемах у взаимных блокировок тредов…

Во время теста в blktop наблюдалось что-то странное: часть дисков загружена в потолок, часть почти простаивает. Причём загружены в потолок те, кто показывает низкую производительность, а «быстрые» диски простаивают. Более того, диски иногда меняются местами — то есть раньше загруженный на 100% диск вдруг показывает бОльшую скорость и меньшую загрузку, и наоборот, диск, который был загружен на 50%, вдруг оказывается загружен на 100% и при этом показывает меньшую скорость. Почему?

И тут до меня дошло.

Если мы пишем много данных, то запись обычно идёт большими кусками. Эти куски разделяются на меньшие куски драйвером raid0, который записывает их одновременно на все диски из raid0. За счёт этого мы получаем N-кратное увеличение производительности. (В raid0 на N дисков).

Но давайте рассмотрим запись подробнее…

Допустим, у нас raid использует chunk'и размером в 512k. В массиве 8 дисков. Приложение хочет записать много данных, и мы пишем на raid кусками по 4Мб.

  1. raid0 получает запрос на запись, делит данные на 8 кусков по 512кб каждый
  2. raid0 отправляет (параллельно) 8 запросов на 8 устройств по записи 512кб (каждый своё)
  3. raid0 ожидает подтверждение от всех 8 устройств о завершении записи
  4. raid0 отвечает приложению «записал» (то есть возвращает управление из вызова write())



Видите, как неровно гуляет запись в сравнении с чтением?

У SSD дисков latency на запись очень неровная. Связано это с их внутренним устройством (когда за раз записывается блок большого размера, при необходимости, перемещая и перенося данные с места на место). Чем больше этот блок, тем сильнее пики latency (то есть сиюминутные провалы в производительности). У обычных магнитных дисков графики совсем другие — они напоминают ровную линию практически без отклонений. В случае линейного последовательного IO эта линия проходит высоко, в случае постоянного случайного IO — постоянно низко, но, ключевое — постоянно. Latency у жёстких дисков предсказуема, latency у SSD — нет. Заметим, это свойство есть у всех дисков. У самых дорогих latency оказывается смещена (либо очень быстро, либо очень-очень быстро) — но разнобой всё равно сохраняется.

При подобных колебаниях latency производительность у SSD, в среднем, отличная, но в отдельные моменты времени запись может занять чуть больше, чем в другое время. У тестируемых дисков она падала в этот момент до позорных величин порядка 50Мб/с (что ниже, чем линейная запись у современных HDD раза в два).

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

Но если запись зависит от всех дисков в массиве? В этом случае, любой «тормознувший» диск тормозит всю операцию целиком. В результате, чем больше дисков массиве, тем больше вероятность, что хотя бы один диск отработает медленно. Чем больше дисков, тем больше кривая производительности их суммы в raid0 начинает приближаться к сумме производительности их минимумов (а не средних значений, как хотелось бы).

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



В случае 7 дисков различия составили около 10%.

Простое математическое симулирование (с данными по latency реального диска для ситуации множества дисков в массиве) позволило предсказать, что по мере увеличения числа дисков деградация может дойти до 20-25%.

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

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

Другое дело, что массив из 20-30 HDD — это нормально. 30 SSD в raid0 вызовут слюнки у гиков и приступ печёночной колики у финансового отдела. То есть обычно сравнивают множество HDD c несколькими SSD. Если же мы отнормируем цифры по IOPS'ам (охохо), то есть добьёмся от HDD тех же попугаев, что от SSD, то цифры станут, внезапно, другими — массив из большого числа HDD будет сильно обгонять массив из нескольких SSD по скорости записи.

Другое дело, что крупный массив из HDD — это уже экстрим другого рода, и там ждут сюрпризы из-за общего использования шины, производительности HBA и особенностей поведения бэкплейнов.

Легко понять, что для всех этих массивов проблема с ожиданием «самого медленного» сохраняется, и даже слегка усиливается (то есть проблема возникает при меньшем размере блока и меньшей интенсивности нагрузки).

Админское: Не люблю LSI. При обнаружении каких-либо нареканий в работе дисков при участии LSI в системе отладку следует начинать с сравнения поведения разных версий дравйера mpt2sas. Это как раз тот случай, когда смена версии может влиять на производительность и стабильность самым драматичным образом.

Академическое: При планировании высоконагруженных систем с использованием SSD в raid0 следует учитывать, что чем больше в массиве SSD, тем сильнее становится эффект от неравномерной latency. По мере роста числа устройств в raid0 производительность устройства начинает стремиться к произведению числа устройств на минимальную производительность дисков (а не среднюю, как хотелось бы ожидать).

Рекомендации: в случае с подобным типом нагрузки следует стараться выбирать устройства с наименьшим разбросом по latency на запись, по возможности использовать устройства с большей ёмкостью (для уменьшения числа устройств).

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

Читайте также: