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

  

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

Что такое:

  • обычно используются уровни RAID (включая семейство RAID-Z)?
  • развертывания обычно встречаются в?
  • преимущества и ловушки каждого?
173 голоса | спросил MDMarra 8 ThuEurope/Moscow2011-12-08T23:40:28+04:00Europe/Moscow12bEurope/MoscowThu, 08 Dec 2011 23:40:28 +0400 2011, 23:40:28

2 ответа


187

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

RAID - это резервный массив независимых дисков (некоторые из них учат «Недорого», чтобы указать, что они «обычные» диски, исторически существовали внутренние избыточные диски, которые были очень дорогими, поскольку они больше не доступны, акроним адаптирован) .

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

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

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

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


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

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

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

Вообще говоря, если кто-то собирается выбирать программный RAID, им следует избегать FakeRAID и использовать собственный пакет ОС для своей системы, такой как Dynamic Disks в 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 (aka Striping) иногда упоминается как «объем данных, который вы оставите при сбое диска». Он действительно работает против зерна «RAID», где «R» означает «избыточность».

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

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

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

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

RAID 1


RAID 1

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

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

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

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

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

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

RAID 1


RAID 1E

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

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

RAID 1E


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% от общей суммы пространства. (например, 8x 1TB приводов = 4 ТБ полезного пространства). Если вы используете разные размеры, с каждого диска будет использоваться только самый маленький размер.

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

https://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10

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

Максимальный размер рейда5, при котором восстановление почти гарантированно приведет к другому сбою диска, что приведет к потере всех данных, составляет около 12 ТБ.

Эта цифра основана на скорости неуправляемой ошибки чтения (URE) для дисков SATA 10 ^ 14, как это обычно сообщается производителями дисков. На практике это означает, что каждые 100 000 000 000 000 бит диск будет бросать URE. Что более или менее равно 12 ТБ.

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

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

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

RAID 5


RAID 6

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

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

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

Стоит подумать, что в итоге рейд6 столкнется с аналогичными проблемами, такими как raid5. Большие диски вызывают более длительные перестройки и более скрытые ошибки. В конце концов приведет к сбою рейда и всех данных до завершения восстановления.

RAID 6


RAID 50

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

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

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

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


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, минимально возможный, если у вас были диски 8x1TB в двух RAID 6, которые затем были чередоваться, чтобы стать RAID 60, у вас было бы 4TB используемое хранилище. Как вы можете видеть, это дает такое же количество полезного хранилища, которое 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 с дополнительными издержками вычисления четности. Преимущество состоит в том, что вы можете добавлять диски в массив путем пересчета четности.

ответил Juuso Ohtonen 13 WedEurope/Moscow2017-12-13T10:52:56+03:00Europe/Moscow12bEurope/MoscowWed, 13 Dec 2017 10:52:56 +0300 2017, 10:52:56
55

Также RAID ОДИН МИЛЛИОН !!!!

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

введите описание изображения здесь>> </p></div>
										<div class=ответил Chopper3 9 FriEurope/Moscow2011-12-09T20:08:13+04:00Europe/Moscow12bEurope/MoscowFri, 09 Dec 2011 20:08:13 +0400 2011, 20:08:13

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132