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)?

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

3 ответа3

12

Рейд 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. Никаких преимуществ, о которых я могу думать.

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 1/0, если их будет много или они запускают приложения с интенсивным использованием дисков, которые меня действительно волнуют.

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

0

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .