Практическая производительность RAID?

5489
wag2639

Я всегда думал, что следующее общее правило для RAID:

  • RAID 0: лучшая производительность для READ и WRITE от вскрытия, наибольший риск
  • RAID 1: избыточный, подходит для чтения (я думаю, что он может читать из разных частей файла с разных жестких дисков), не самый лучший для записи
  • RAID 0 + 1 (01): сочетает избыточность RAID 1 с производительностью RAID 0
  • RAID 1 + 0 (10): немного лучшая версия RAID 0 + 1
  • RAID 5: хорошая производительность чтения, плохая производительность записи, избыточность

Правильно ли это предположение? (и как они сравниваются с настройкой JBOD для производительности R / W IO)

Являются ли определенные практические настройки RAID лучше для различных приложений: игр, редактирования видео, базы данных (Acccess или SQL)?

Я думал о жестких дисках, но относится ли это и к твердотельным накопителям?

8
Мое понимание избыточности каждого из классов RAID довольно хорошее, я просто не уверен в производительности операций ввода-вывода для чтения и записи. wag2639 14 лет назад 0
Что касается JBOD, я знаю, что он не предлагает производительности или избыточности, я просто упомянул это как базовую ссылку. wag2639 14 лет назад 0

3 ответа на вопрос

12
bubu

Рейд 0 . Отличная скорость чтения и записи. Риск сбоя увеличивается по мере увеличения количества элементов диска. Нет паритета.

Рейд 1 . Высокая скорость чтения, только если драйвер реализован правильно - если вы используете рейд-контроллеры Areca и LSI, они могут обеспечить почти те же возможности чтения для наборов Raid 1, что и наборы Raid 0 (в пределах 10%). Обратите внимание, что для программных рейдовых решений существует два типа: программное обеспечение для ОС и программное обеспечение для материнской платы.

Большинство Raid типа материнской платы не обеспечивают хорошую производительность чтения Raid 1. В прошлый раз, когда я проверял Windows и Linux, не было хорошей реализации чтения Raid 1. В BSD была правильно реализованная реализация Raid 1, которая использует метод чтения Roundrobin.

Короче говоря, используйте Raid 1 для избыточности и для скорости чтения, если вы используете продвинутые контроллеры.

Рейд 1/0 и Рейд 0/1 . Это комбинация. Допустим, у вас есть 10 дисков. Рейд 1/0 состоит в том, что в каждом наборе есть зеркало: Набор A (1 + 2), Набор B (3 + 4), Набор C (5 + 6), Набор D (7 + 8), Набор E (9+ 10), затем сделайте набор полос через 5 комплектов (AE). Таким образом, каждый набор может иметь один сбой диска, но если два диска выходят из строя в одном и том же наборе, все готово.

Рейд 0/1 состоит в том, чтобы иметь набор полос A (1 + 2 + 3 + 4 + 5) и набор B (6 + 7 + 8 + 9 + 10) и отразить два набора. Таким образом, если диск 2 и диск 9 выходят из строя, большинство контроллеров считают это полным отказом (который, на самом деле, у вас все еще есть все данные).

Существует небольшая разница в производительности между ними, но я не думаю, что вы обычно получаете оба от контроллера Raid.

Рейд 5 . очень смешанный пакет: для последовательного чтения он быстрее, чем рейд 1/0, а для случайного чтения он немного медленнее. Обратите внимание, что производительность рейда 5 очень зависит от скорости контроллера (например, вы не можете ожидать многого в бортовом рейде).

Рейд 6 . Избыточность увеличилась по сравнению с Raid 5. Два диска могут выйти из строя в любое время, и при восстановлении массива после сбоя 1 диска сохраняется избыточность (обратите внимание, что при сбое диска raid 5 массив аналогичен raid 0 - любой сбой диска = полная потеря ).

JBOD . Никаких преимуществ, о которых я могу думать.

спасибо .. так что из того, что я читаю, используя обычные потребительские материнские платы с целью повышения производительности игр, raid 0 лучше всего без отдельного выделенного контроллера raid? (Мне все равно, если мне придется переустановить программы OS + и данные будут в другом месте, возможно, массив raid 5) wag2639 14 лет назад 0
ты очень прав. хотя я боюсь, что производительность при использовании raid на материнской плате не будет сильно отличаться от использования raid на базе операционной системы (хотя, конечно, разница в том, что ваш системный диск не может быть проверен в raid на основе OS). Кроме того, производительность raid5 в raid на материнских платах жалкая (в некоторых случаях она снижается до 15-20 МБ / с!) bubu 14 лет назад 2
2
Jeremy

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

Не вдаваясь в подробности о контроллерах и программном обеспечении, вот мои эмпирические правила.

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

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

RAID 2 - 4 (не в вопросе), как правило, не используются, за исключением продуктов некоторых поставщиков на стороне предприятия.

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

RAID 1/0 и 0/1 имеют практически одинаковые характеристики производительности. 1/0 предпочтительнее, потому что сбой означает восстановление только пары задействованных дисков, а не всей полосы дисков. RAID 1/0 - самая быстрая конфигурация общего назначения из упомянутых в вопросе. Производительность чтения и записи велика (чтение может происходить практически со всех дисков одновременно, запись должна выполняться на несколько дисков, но не требуется цикл чтения / чтения / записи / записи, такой как RAID 5), хотя RAID 5 может выиграть в определенных обстоятельствах. RAID 1/0 (неудивительно) также самый дорогой почти во всех случаях. Его следует использовать только в тех случаях, когда производительность критична, данные очень ценны, а приложение не допускает простоев. Часто серверы баз данных (или, по крайней мере, их файлы данных) являются хорошими кандидатами на RAID 1/0.

Твердотельные накопители действительно могут быть встроены в конфигурации RAID, особенно по значению избыточности. Однако многие SSD могут превзойти шину (SATA), к которой они подключены, особенно для операций чтения, поэтому влияние RAID на производительность меньше, чем у SSD.

0
Nick

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

Да, это относится и к твердотельным накопителям. Тест SSD в Raid0 показал почти линейное увеличение скорости.

Raid5, безусловно, является наиболее используемой технологией в мире серверов, но для ноутбука только с двумя жесткими дисками я бы посоветовал использовать зеркальную копию raid1.

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

JBOD обычно не может чередоваться, потому что он предназначен для использования с дисками разных размеров - если у вас одинаковый размер, вы уже должны использовать RAID 1 или RAID 0. Darth Android 14 лет назад 1

Похожие вопросы