RAID означает избыточный массив независимых дисков (некоторые из них учат «Недорого», чтобы указать, что они «нормальные» диски; исторически существовали диски с внутренним резервированием, которые были очень дорогими; так как они больше не доступны, аббревиатура адаптирована).
На самом общем уровне RAID - это группа дисков, которые выполняют одни и те же операции чтения и записи. Ввод-вывод SCSI выполняется на томе («LUN»), и они распределяются по базовым дискам таким образом, чтобы повысить производительность и / или увеличить избыточность. Повышение производительности является функцией чередования: данные распределяются по нескольким дискам, чтобы позволить чтения и записи использовать все очереди ввода-вывода дисков одновременно. Избыточность - это функция зеркалирования. Целые диски можно хранить как копии, или отдельные полосы могут быть написаны несколько раз. В качестве альтернативы, в некоторых типах рейдов, вместо копирования битов данных в бит, избыточность достигается за счет создания специальных полос, содержащих информацию о четности, которую можно использовать для воссоздания любых потерянных данных в случае аппаратного сбоя.
несколько конфигураций, которые обеспечивают разные уровни этих преимуществ, которые описаны здесь, и каждая из них имеет тенденцию к производительности или избыточности.
Важный аспект при оценке того, какой уровень RAID будет работать для вас, зависит от его преимуществ и требований к оборудованию ( Например: количество дисков).
Еще одним важным аспектом большинства этих типов RAID (0,1,5) является то, что они не обеспечивают целостность ваших данных , потому что они абстрагируются от фактических хранимых данных. Таким образом, RAID не защищает от поврежденных файлов. Если файл поврежден любыми средствами, повреждение будет зеркально отражено или парировано и сохранено на диск в любом случае. Однако RAID-Z утверждает, что обеспечивает целостность ваших данных на уровне файлов .
Существует два уровня, на которых 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 (сетевое хранилище). Эти устройства управляют своим собственным хранилищем и позволяют подключенным серверам получать доступ к хранилищу различными способами. Поскольку несколько рабочих нагрузок содержатся на одних и тех же нескольких дисках, обычно желателен высокий уровень избыточности.
Основное различие между NAS и SAN заключается в экспорте на уровне блоков и файловой системы. SAN экспортирует целое «блочное устройство» например, раздел или логический том (включая те, которые построены поверх массива RAID). Примеры SAN включают Fibre Channel и iSCSI. NAS экспортирует «файловую систему», например файл или папку. Примеры NAS включают CIFS / SMB (общий доступ к файлам в Windows) и NFS.
RAID0 (также известный как чередование) иногда называют «объемом данных, который у вас останется при выходе из строя диска». Это действительно противоречит структуре «RAID», где «R» означает «избыточный».
RAID0 берет ваш блок данных, разбивает его на столько частей, сколько у вас дисков (2 диска → 2 части, 3 диска → 3 штуки), а затем записывает каждую часть данных на отдельный диск.
Это означает, что сбой одного диска разрушает весь массив (потому что у вас есть Часть 1 и Часть 2, но нет Часть 3), но это обеспечивает очень быстрый доступ к диску.
Это не часто используется в производственных средах, но его можно использовать в ситуации, когда у вас есть строго временные данные, которые могут быть потеряны без каких-либо последствий. Он довольно часто используется для кэширования устройств (таких как устройство L2Arc).
Общее используемое дисковое пространство - это сумма всех дисков в массиве, сложенных вместе (например, 3 диска по 1 ТБ = 3 ТБ пространства).
RAID 1 (также известный как зеркалирование) берет ваши данные и дублирует их идентично на двух или более диски (хотя обычно всего 2 диска). Если используется более двух дисков, одна и та же информация сохраняется на каждом диске (все они идентичны). Это единственный способ обеспечить избыточность данных, когда у вас меньше трех дисков.
RAID 1 иногда улучшает производительность чтения. Некоторые реализации RAID 1 будут читать с обоих дисков, чтобы удвоить скорость чтения. Некоторые будут читать только с одного из дисков, что не дает дополнительных преимуществ в скорости. Другие будут читать одни и те же данные с обоих дисков, обеспечивая целостность массива при каждом чтении, но это приведет к той же скорости чтения, что и отдельный диск.
Обычно он используется на небольших серверах, которые имеют очень небольшое расширение диска, например как серверы 1RU, на которых может быть место только для двух дисков, или на рабочих станциях, требующих резервирования. Из-за больших накладных расходов на "потерянное" пространство, это может быть непомерно дорого с небольшими, высокоскоростными (и дорогими) дисками, так как вам нужно потратить вдвое больше денег, чтобы получить такой же уровень полезной памяти.
Общее используемое дисковое пространство - это размер самого маленького диска в массиве (например, 2 диска по 1 ТБ = 1 ТБ пространства).
Уровень RAID 1E аналогичен RAID 1 в том, что данные всегда записываются в (при минимум) два диска. Но в отличие от RAID1, он позволяет использовать нечетное количество дисков путем простого чередования блоков данных между несколькими дисками.
Характеристики производительности аналогичны RAID1, отказоустойчивость аналогична RAID 10. Эта схема может быть расширена до нечетного количества дисков. более трех (возможно, называется RAID 10E, но редко).
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 10. Это создает два массива RAID 0, а затем помещает RAID 1 поверх. Это означает, что вы можете потерять по одному диску из каждого набора (A1, A2, A3, A4 или B1, B2, B3, B4). Это очень редко можно увидеть в коммерческих приложениях, но это возможно с помощью программного RAID.
Для полной ясности:
Он не обеспечивает дополнительной скорости по сравнению с RAID 10, но обеспечивает значительно меньшую избыточность, и его следует избегать любой ценой.
RAID 5 был наиболее часто используемый уровень RAID на протяжении десятилетий. Он обеспечивает системную производительность всех дисков в массиве (за исключением небольших случайных записей, которые влекут за собой небольшие накладные расходы). Он использует простую операцию XOR для вычисления четности. В случае отказа одного диска информация может быть восстановлена с оставшихся дисков с помощью операции XOR с известными данными.
К сожалению, в случае сбоя диска процесс восстановления требует очень больших затрат ввода-вывода. Чем больше диски в RAID, тем больше времени потребуется на восстановление и тем выше вероятность отказа второго диска. Поскольку большие медленные диски имеют гораздо больше данных для восстановления и намного меньшую производительность, чтобы сделать это, обычно не рекомендуется использовать RAID 5 со скоростью 7200 об / мин или ниже.
Возможно, самая критическая проблема с массивами RAID 5 при использовании в потребительских приложениях почти гарантированно выходят из строя, когда общая емкость превышает 12 ТБ. Это связано с тем, что частота неисправимой ошибки чтения (URE) потребительских дисков SATA составляет один на каждые 10 14 бит, или ~ 12,5 ТБ.
Если мы возьмем пример с Массив RAID 5 с семью дисками по 2 ТБ: при выходе из строя диска остается шесть дисков. Чтобы восстановить массив, контроллеру необходимо прочитать шесть дисков по 2 ТБ каждый. Глядя на рисунок выше, можно почти наверняка, что еще до завершения перестройки произойдет еще одно URE. Как только это произойдет, массив и все данные на нем будут потеряны.
Однако URE / потеря данных Отказ / array с проблемой RAID 5 на потребительских дисках был несколько смягчен тем фактом, что большинство производителей жестких дисков повысили рейтинг URE своих новых дисков до 1 из 10 15 бит. Как всегда, проверьте спецификацию перед покупкой!
Также обязательно, чтобы RAID 5 был оставлен позади надежный (с батарейным питанием) кэш записи. Это позволяет избежать накладных расходов на небольшие записи, а также нестабильного поведения, которое может возникнуть при сбое в середине записи.
RAID 5 является наиболее экономичным решением для добавления избыточного хранилища в массив, поскольку для этого требуется потеря только 1 диска (например, 12 дисков по 146 ГБ = 1606 ГБ полезного пространства). Требуется минимум 3 диска.
RAID 6 похож на RAID 5, но он использует два диска четности вместо одного (первый - XOR, второй - LSFR), поэтому вы можете потерять два диска из массива без потери данных. Штраф за запись выше, чем у RAID 5, и у вас на один диск меньше места.
Стоит учесть, что в конечном итоге массив RAID 6 столкнется с проблемами, аналогичными RAID 5. Диски большего размера вызывают большее время восстановления и больше скрытых ошибок, в конечном итоге приводит к отказу всего массива и потере всех данных до завершения перестройки.
RAID 50 - это вложенный уровень, очень похожий на RAID 10. Он объединяет два или более массива RAID 5 и чередование данных между ними в RAID 0. Это обеспечивает как производительность, так и избыточность нескольких дисков, если несколько дисков потеряны из разных массивов RAID 5.
В RAID 5 50, емкость диска равна nx, где x - количество RAID 5 с чередованием. Например, если простой 6-дисковый RAID 50, минимально возможный, если бы у вас было 6 дисков по 1 ТБ в двух массивах RAID 5, которые затем были разделены на RAID 50, у вас было бы полезное хранилище 4 ТБ.
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 радикально меняет способ взаимодействия хранилища и файловой системы. ZFS включает в себя традиционные роли управления томами (RAID - это функция диспетчера томов) и файловой системы. Из-за этого ZFS может выполнять RAID в файле ' s уровень блока хранения, а не уровень полосы тома. Это именно то, что делает 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 развивались и стандартизировались в результате широкого использования. Многие поставщики производят продукты, которые отличаются от приведенных выше описаний. Они также довольно часто изобретают новую причудливую маркетинговую терминологию для описания одной из вышеперечисленных концепций (чаще всего это происходит на рынке SOHO). По возможности, постарайтесь, чтобы поставщик действительно описал функциональность механизма резервирования (большинство добровольно предоставит эту информацию, поскольку на самом деле больше нет секретного соуса).
Стоит упомянуть, что существуют реализации, подобные RAID 5, которые позволяют вам запустить массив только с двумя дисками. Он будет хранить данные на одной полосе и четность на другой, аналогично RAID 5 выше. Это будет работать как RAID 1 с дополнительными накладными расходами на вычисление четности. Преимущество состоит в том, что вы можете добавлять диски в массив, пересчитывая четность.
Также RAID ОДИН МИЛЛИОН !!!!
128 дисков, поэтому чтение будет быстрым, запись ужасная, но очень надежная, я полагаю, о, и вы получите 1/128 доступную пространство, поэтому не очень хорошее с точки зрения бюджета. Не делайте этого с флешками, я пробовал поджечь атмосферу ...