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

8

Я всегда думал, что следующее общее правило для 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)?

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

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

Ответы:

12

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

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

Большинство 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
2
ты очень прав. хотя я боюсь, что производительность при использовании raid на материнской плате не будет сильно отличаться от использования raid на базе ОС (хотя, конечно, разница в том, что ваш системный диск не может быть подвергнут рейду в raid, основанном на OS). Кроме того, производительность raid5 в raid на материнских платах жалкая (в некоторых случаях она снижается до 15-20 МБ / с!)
bubu
2

Как следует из вашего вопроса, на самом деле не существует «лучшей» конфигурации 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

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

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

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

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

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