Назад | Перейти на главную страницу

Каковы различные широко используемые уровни RAID и когда их следует учитывать?

Это Канонический вопрос об уровнях RAID.

Что:

RAID: почему и когда

RAID расшифровывается как Redundant Array of Independent Disks (некоторые из них учат «Недорого», чтобы указать, что они «нормальные» диски; исторически были диски с внутренним резервированием, которые были очень дорогими; поскольку они больше не доступны, аббревиатура адаптирована).

На самом общем уровне RAID - это группа дисков, выполняющих одинаковые операции чтения и записи. Ввод-вывод SCSI выполняется на томе («LUN»), и они распределяются по базовым дискам таким образом, чтобы повысить производительность и / или увеличить избыточность. Повышение производительности является функцией чередования: данные распределяются по нескольким дискам, чтобы позволить чтения и записи использовать все очереди ввода-вывода дисков одновременно. Избыточность - это функция зеркального отображения. Целые диски можно хранить как копии, или отдельные полосы можно записывать несколько раз. В качестве альтернативы в некоторых типах рейдов вместо копирования битов данных в бит избыточность достигается за счет создания специальных полос, содержащих информацию о четности, которую можно использовать для воссоздания любых потерянных данных в случае аппаратного сбоя.

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

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

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


RAID с прямым подключением: программное и аппаратное обеспечение

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

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

Вообще говоря, если кто-то собирается выбрать программный RAID, он должен избегать FakeRAID и использовать собственный пакет ОС для своей системы, такой как динамические диски в Windows, mdadm / LVM в Linux или ZFS в Solaris, FreeBSD и других связанных дистрибутивах. . FakeRAID использует комбинацию аппаратного и программного обеспечения, которая приводит к первоначальному виду аппаратного RAID, но фактической производительности программного RAID. Кроме того, обычно чрезвычайно сложно переместить массив на другой адаптер (если исходный не работает).


Централизованное хранилище

Другое распространенное место RAID - это централизованные устройства хранения, обычно называемые SAN (Storage Area Network) или NAS (Network Attached Storage). Эти устройства управляют своим собственным хранилищем и позволяют подключенным серверам получать доступ к хранилищу различными способами. Поскольку несколько рабочих нагрузок содержатся на одних и тех же нескольких дисках, обычно желателен высокий уровень избыточности.

Основное различие между NAS и SAN заключается в экспорте на уровне блоков и файловой системы. SAN экспортирует целое «блочное устройство», такое как раздел или логический том (включая те, которые построены поверх RAID-массива). Примеры SAN включают Fibre Channel и iSCSI. NAS экспортирует «файловую систему», например файл или папку. Примеры NAS включают CIFS / SMB (совместное использование файлов Windows) и NFS.


RAID 0

Хорошо, когда: Скорость любой ценой!

Плохо, когда: вы заботитесь о своих данных

RAID0 (также известный как чередование) иногда называют «объемом данных, который у вас останется при выходе из строя диска». Это действительно противоречит сути «RAID», где «R» означает «избыточный».

RAID0 берет ваш блок данных, разбивает его на столько частей, сколько у вас есть дисков (2 диска → 2 части, 3 диска → 3 части), а затем записывает каждую часть данных на отдельный диск.

Это означает, что сбой одного диска разрушает весь массив (потому что у вас есть Часть 1 и Часть 2, но нет Часть 3), но это обеспечивает очень быстрый доступ к диску.

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

Общее используемое дисковое пространство - это сумма всех дисков в массиве, сложенных вместе (например, 3 диска по 1 ТБ = 3 ТБ пространства).


RAID 1

Хорошо, когда: у вас ограниченное количество дисков, но требуется резервирование

Плохо, когда: вам нужно много места для хранения

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

RAID 1 иногда улучшает производительность чтения. Некоторые реализации RAID 1 будут читать с обоих дисков, чтобы удвоить скорость чтения. Некоторые будут читать только с одного из дисков, что не дает дополнительных преимуществ в скорости. Другие будут читать одни и те же данные с обоих дисков, обеспечивая целостность массива при каждом чтении, но это приведет к той же скорости чтения, что и отдельный диск.

Обычно он используется на небольших серверах с очень небольшим расширением диска, например на серверах 1RU, на которых может быть место только для двух дисков, или на рабочих станциях, требующих избыточности. Из-за высоких накладных расходов, связанных с «потерянным» пространством, он может быть непомерно дорогим с малой емкостью, высокоскоростными (и дорогими) дисками, так как вам нужно потратить вдвое больше денег, чтобы получить такой же уровень полезной памяти.

Общее используемое дисковое пространство - это размер самого маленького диска в массиве (например, 2 диска по 1 ТБ = 1 ТБ пространства).


RAID 1E

В 1E Уровень RAID аналогичен RAID 1 в том, что данные всегда записываются (как минимум) на два диска. Но в отличие от RAID1 он позволяет использовать нечетное количество дисков, просто чередуя блоки данных между несколькими дисками.

Характеристики производительности аналогичны RAID1, отказоустойчивость аналогична RAID 10. Эта схема может быть расширена на нечетное количество дисков более трех (возможно, называется RAID 10E, хотя и редко).


RAID 10

Хорошо, когда: вам нужна скорость и избыточность

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

RAID 10 представляет собой комбинацию RAID 1 и RAID 0. Порядок 1 и 0 очень важен. Скажем, у вас есть 8 дисков, он создаст 4 массива RAID 1, а затем применит массив RAID 0 поверх 4 массивов RAID 1. Для этого требуется как минимум 4 диска, и дополнительные диски нужно добавлять попарно.

Это означает, что может выйти из строя один диск из каждой пары. Итак, если у вас есть наборы A, B, C и D с дисками A1, A2, B1, B2, C1, C2, D1, D2, вы можете потерять по одному диску из каждого набора (A, B, C или D) и все еще иметь функционирующий массив.

Однако если вы потеряете два диска из одного набора, то массив будет полностью потерян. Ты можешь проиграть вплоть до (но не гарантируется) 50% дисков.

В RAID 10 вам гарантирована высокая скорость и доступность.

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

Доступное дисковое пространство составляет 50% от суммы общего пространства. (например, 8 дисков по 1 ТБ = 4 ТБ полезного пространства). Если вы используете разные размеры, с каждого диска будет использоваться только наименьший размер.

Стоит отметить, что программный raid-драйвер ядра Linux называется md позволяет использовать конфигурации RAID 10 с нечетным количеством дисков, т.е. 3- или 5-дисковый RAID 10.


RAID 01

Хорошо, когда: никогда

Плохо, когда: всегда

Это противоположность RAID 10. Он создает два массива RAID 0, а затем помещает RAID 1 поверх них. Это означает, что вы можете потерять по одному диску из каждого набора (A1, A2, A3, A4 или B1, B2, B3, B4). Это очень редко можно увидеть в коммерческих приложениях, но возможно и с программным RAID.

Чтобы быть абсолютно ясным:

  • Если у вас есть массив RAID10 с 8 дисками и одним штампом (назовем его A1), у вас будет 6 резервных дисков и 1 без избыточности. Если другой диск умирает, 85% шанс, что ваш массив все еще работает.
  • Если у вас есть массив RAID01 с 8 дисками и одним штампом (назовем его A1), то у вас будет 3 избыточных диска и 4 без избыточности. Если другой диск умирает, 43% шанс, что ваш массив все еще работает.

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


RAID 5

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

Плохо, когда: у вас высокая рабочая нагрузка произвольной записи или большие диски

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

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

Возможно, наиболее важной проблемой массивов RAID 5, используемых в потребительских приложениях, является то, что они почти гарантированно выйдут из строя, когда общая емкость превышает 12 ТБ. Это потому, что неустранимая ошибка чтения (URE) скорость потребительских дисков SATA - один на каждые 1014 бит или ~ 12,5 ТБ.

Если мы возьмем для примера массив RAID 5 с семью дисками по 2 ТБ: при выходе из строя диска остается шесть дисков. Чтобы восстановить массив, контроллеру необходимо прочитать шесть дисков по 2 ТБ каждый. Глядя на рисунок выше, можно почти наверняка, что еще до завершения перестройки произойдет еще одно URE. Как только это произойдет, массив и все данные на нем будут потеряны.

Однако проблема URE / потери данных / отказа массива с проблемой RAID 5 на потребительских дисках была несколько смягчена тем фактом, что большинство производителей жестких дисков повысили рейтинг URE своих новых дисков до одного из 10.15 биты. Как всегда, перед покупкой сверяйтесь со спецификацией!

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

RAID 5 - это наиболее экономичное решение для добавления избыточного хранилища в массив, поскольку он требует потери только 1 диска (например, 12 дисков по 146 ГБ = 1606 ГБ полезного пространства). Требуется минимум 3 диска.


RAID 6

Хорошо, когда: вы хотите использовать RAID 5, но ваши диски слишком большие или медленные.

Плохо, когда: у вас высокая рабочая нагрузка произвольной записи

RAID 6 похож на RAID 5, но в нем используются два диска с контролем четности вместо одного (первый - XOR, второй - LSFR), поэтому вы можете потерять два диска из массива без потери данных. Штраф на запись выше, чем у RAID 5, и у вас на один диск меньше места.

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


RAID 50

Хорошо, когда: у вас есть много дисков, которые должны быть в одном массиве, и RAID 10 не подходит из-за емкости

Плохо, когда: у вас так много дисков, что возможно множество одновременных сбоев до завершения восстановления или когда у вас мало дисков

RAID 50 - это вложенный уровень, очень похожий на RAID 10. Он объединяет два или более массивов RAID 5 и распределяет данные между ними в RAID 0. Это обеспечивает как производительность, так и избыточность нескольких дисков, если несколько дисков потеряны из разные Массивы RAID 5.

В RAID 50 емкость диска равна n-x, где x - количество RAID 5 с чередованием. Например, для простого 6-дискового RAID 50, минимально возможного, если бы у вас было 6 дисков по 1 ТБ в двух RAID 5, которые затем были разделены на RAID 50, у вас было бы полезное хранилище 4 ТБ.


RAID 60

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

Плохо, когда: у вас нет значительного количества дисков в массиве

RAID 6 относится к RAID 60, как RAID 5 - к RAID 50. По сути, у вас есть более одного RAID 6, данные затем чередуются в RAID 0. Эта настройка позволяет использовать до двух участников любого отдельного RAID 6 в наборе. выйти из строя без потери данных. Время восстановления массивов RAID 60 может быть значительным, поэтому обычно рекомендуется иметь по одному «горячему» резерву для каждого элемента RAID 6 в массиве.

В RAID 60 емкость диска равна n-2x, где x - количество RAID 6 с чередованием. Например, для простого 8-дискового RAID 60, минимально возможного, если бы у вас было 8 дисков по 1 ТБ в двух массивах RAID 6, которые затем были разделены на RAID 60, у вас было бы полезное хранилище 4 ТБ. Как видите, это дает тот же объем используемой памяти, что и RAID 10 для массива из 8 элементов. Хотя RAID 60 будет несколько более избыточным, время восстановления будет значительно больше. Как правило, вы хотите использовать RAID 60, только если у вас большое количество дисков.


RAID-Z

Хорошо, когда: вы используете ZFS в системе, которая его поддерживает.

Плохо, когда: производительность требует аппаратного ускорения RAID

RAID-Z немного сложно объяснить, поскольку ZFS радикально меняет способ взаимодействия хранилища и файловой системы. ZFS включает в себя традиционные роли управления томами (RAID - это функция диспетчера томов) и файловой системы. Из-за этого ZFS может выполнять RAID на уровне блока хранения файла, а не на уровне полосы тома. Именно это и делает RAID-Z: записывает блоки хранения файлов на несколько физических дисков, включая блок четности для каждого набора полос.

Пример может прояснить это. Допустим, у вас есть 3 диска в пуле ZFS RAID-Z, размер блока составляет 4 КБ. Теперь вы записываете в систему файл размером ровно 16 КБ. ZFS разделит это на четыре блока по 4 КБ (как и в обычной операционной системе); затем он вычислит два блока четности. Эти шесть блоков будут размещены на дисках аналогично тому, как RAID-5 будет распределять данные и четность. Это улучшение по сравнению с RAID5 в том, что не было чтения существующих полос данных для вычисления четности.

Другой пример основан на предыдущем. Скажем, файл был всего 4 КБ. ZFS все равно придется построить один блок четности, но теперь нагрузка записи уменьшена до 2 блоков. Третий диск будет бесплатным для обслуживания любых других одновременных запросов. Аналогичный эффект будет наблюдаться всякий раз, когда размер записываемого файла не кратен размеру блока пула, умноженному на количество дисков минус один (например, [Размер файла] <> [Размер блока] * [Диски - 1]).

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

Природа ZFS нейтрализует некоторые из классических недостатков RAID-5/6. Все операции записи в ZFS выполняются в режиме копирования при записи; все измененные блоки в операции записи записываются в новое место на диске вместо перезаписи существующих блоков. Если запись не удалась по какой-либо причине или система не работает во время записи, транзакция записи либо происходит полностью после восстановления системы (с помощью журнала намерений ZFS), либо не происходит вообще, что позволяет избежать потенциального повреждения данных. Еще одна проблема с RAID-5/6 - это потенциальная потеря данных или незаметное повреждение данных во время восстановления; регулярный zpool scrub операции могут помочь выявить повреждение данных или проблемы с диском до того, как они вызовут потерю данных, а контрольное суммирование всех блоков данных гарантирует, что все повреждения во время восстановления будут обнаружены.

Основным недостатком RAID-Z является то, что он по-прежнему является программным рейдом (и страдает от той же незначительной задержки, которую несет ЦП при вычислении нагрузки записи вместо того, чтобы позволить оборудованию HBA разгрузить его). В будущем эта проблема может быть решена с помощью HBA-адаптеров, поддерживающих аппаратное ускорение ZFS.

Прочие RAID и нестандартные функции

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

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

Также НАБЕГ ОДИН МИЛЛИОН !!!!

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