Поиск по сайту:

Какой тип RAID следует использовать для ваших серверов?


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

Что такое RAID?

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

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

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

Во многих отношениях RAID намного лучше, чем один большой диск. Один большой диск емкостью 8 ТБ не так устойчив, как пять дисков емкостью 2 ТБ, сконфигурированных в RAID 5. Вам будет сложно найти сервер, на котором установлен только один диск.

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

Все это обсуждение действительно применимо только в том случае, если вы сами управляете сервером, например, домашним NAS, содержащим много жестких дисков; в этом случае очень важен тип RAID, который вы выберете. Если вы арендуете виртуальные серверы у AWS или любого другого провайдера, RAID обычно настраивается для вас хостинговой компанией, поскольку этот уровень контроля абстрагируется от вас.

Примечание перед тем, как мы начнем: числа, используемые для обозначения разных уровней RAID, на самом деле ничего не значат. RAID 5 не в пять раз лучше, чем RAID 1. Существуют и другие странные уровни RAID, такие как RAID 2, 3 и 4, но они не используются на практике и не стоят объяснения.

JBOD

Технически это не конфигурация RAID, но здесь стоит упомянуть. Технически JBOD расшифровывается как «Joint Batch Of Disks», но вы можете назвать это «просто набором дисков», так как в основном это и есть. JBOD просто объединяет диски в один большой диск. Это не дает никакого повышения производительности и не имеет избыточности, но ему совершенно все равно, какие диски в нем находятся.

Многие RAID-контроллеры предлагают режим JBOD. Вам, вероятно, не следует его использовать, если только вы не получили кучу дисков разного размера и не хотите связать их вместе.

RAID 0

Данные в RAID 0 чередуются на нескольких дисках; например, если вы хотите прочитать файл из массива RAID, вы будете читать данные с нескольких дисков параллельно, что делает RAID 0 намного быстрее, чем любой отдельный диск.

Однако в нем нет зеркалирования, контроля четности или другого механизма избыточности, поэтому в случае сбоя одного диска вы теряете все данные всего массива. По этой причине RAID 0 используется, когда важна скорость, избыточность не нужно.

В некотором смысле RAID 0 очень похож на полное отсутствие RAID. Это дает вам преимущество наличия всех дисков в одном большом томе, а также гораздо более высокие скорости доступа. Однако сбой одного диска может привести к катастрофическим последствиям для данных в массиве, поэтому никогда не запускайте RAID 0 без решения для резервного копирования, если только данные не должны быть на 100 % эфемерными.

RAID 0 также максимально увеличивает емкость, так как пространство не используется для резервирования. Если у вас есть два диска по 1 ТБ, размер массива будет 2 ТБ. Однако RAID 0 ограничен наименьшим размером диска из массива — если вы попытаетесь объединить в RAID 0 диск емкостью 2 ТБ с диском емкостью 1 ТБ, у вас будет только 2 ТБ пространства, а 1 ТБ будет полностью потрачен впустую.

RAID 0 с твердотельными накопителями является распространенным явлением и более разумным, учитывая более низкую частоту отказов твердотельных накопителей. Это обычная установка в высокопроизводительных настольных системах, поскольку скорость имеет большее значение, чем избыточность.

RAID 1

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

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

RAID 1 — ваш единственный практичный выбор, если у вас есть два диска и вы не можете допустить, чтобы сбой диска уничтожил ваши данные. Однако это не самый эффективный способ, поскольку вы сокращаете объем хранилища вдвое, и, следовательно, он будет стоить в два раза дороже, чем сопоставимый одиночный диск.

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

RAID 5

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

Четность — это форма проверки ошибок, похожая на хэш, но намного проще. Он обычно используется, чтобы убедиться, что сетевой трафик не искажается в проводах. По сути, скажем, у вас есть 7 бит данных, которые вы хотите отправить кому-то, и вы хотите убедиться, что они дойдут туда в целости и сохранности. Если бы что-то перевернулось в передаче, у них не было бы возможности узнать. Решение состоит в том, чтобы подсчитать все положительные биты; Если имеется четное количество единиц, четность будет 0. Если единиц нечетное, четность будет 1. Вы добавляете это к отправляемым данным, и когда человек на другом конце получает их, он сам вычисляет четность. Если произошла ошибка и бит был перевернут (даже сам бит четности), другой человек узнает об этом и запросит повторную отправку данных. Конечно, если в одной передаче две ошибки, эта система ломается, но это не так часто.

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

На практике RAID 5 не использует выделенный диск для контроля четности, так как биты контроля четности быстрее распределять по всем дискам, но вы можете думать об этом таким образом, когда рассчитываете, сколько места даст вам массив RAID 5. По сути, добавьте все свои диски, кроме одного, и вот сколько места у вас будет. RAID 5 обеспечивает более эффективное использование пространства за счет большего количества дисков: эффективность трех дисков составляет 66 %, а эффективность 10 дисков — 90 %. Это значительно снижает затраты по сравнению с RAID 1.

Однако RAID 5 не лишен недостатков. Поскольку контроль четности необходимо вычислять всякий раз, когда на диск выполняется запись, производительность записи снижается. Проблема усугубляется, если принять во внимание тот факт, что переключение одного бита в одном диске требует чтения всех дисков, чтобы пересчитать четность для этого блока. На практике, если RAID 0 обеспечивает масштабирование производительности с n дисками, RAID 5 обеспечивает производительность n – 1 для операций записи. Однако с достаточно большим массивом проблема не так уж серьезна.

Кроме того, независимо от того, сколько у вас дисков, вы можете пережить только один сбой диска. Это не кажется серьезной проблемой, поскольку сбои случаются редко, и вы вряд ли столкнетесь с двумя из них одновременно, но восстановление массива может быть очень интенсивным на ваших дисках — вы в основном читаете каждый бит данных. от каждого, в то время, когда они наиболее уязвимы. Поэтому, если один из них выйдет из строя, есть большая вероятность, что другой диск также может выйти из строя.

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

RAID 6

RAID 6 похож на RAID 5, за исключением того, что «диск четности» зеркально отражен. Это позволяет вашему массиву пережить два сбоя диска. Однако при n – 2 производительность записи хуже, и, конечно, у вас будет меньше места.

На самом деле больше нечего сказать об этом. Если у вас есть большой массив дисков (6, 8 или более), вы можете рассмотреть возможность использования RAID 6 из-за его дополнительной избыточности. RAID 6 сам по себе выполняет первую часть стратегии резервного копирования 3-2-1 — храните не менее трех копий ваших данных с двумя резервными копиями на разных носителях, причем по крайней мере одна из них находится за пределами офиса. RAID 6 может пережить отказ двух дисков, что делает его функционально таким же, как RAID 1 с тремя дисками (минус время восстановления).

На практике в RAID 6 почти никогда не будет полного отказа массива, особенно если вы добавите в уравнение больше дисков четности. Благодаря этому, в сочетании с резервным копированием и копиями в других центрах обработки данных, службы архивации, такие как AWS Glacier и Backblaze, достигают надежности 99,999999999 %.

RAID 10 (1+0)

RAID 10 технически является формой вложенного RAID, который сам по себе является сложной вещью. По сути, если у вас четыре диска и вы не хотите использовать RAID 5 или 6, единственными другими вариантами являются RAID 0 и 1, у которых есть свои проблемы. Вместо этого вы разделяете эти диски пополам, создаете два массива RAID 1, а затем берете эти массивы и используете их для создания одного большого массива RAID 0. Для RAID 10 требуется как минимум четыре диска, а также требуется четное общее количество дисков.

Это дает вам все преимущества RAID 1 и RAID 0 без многих недостатков: высокая скорость чтения , высокая скорость записи, высокая избыточность и простота перестроения, при этом вы по-прежнему можете использовать половину общего пространства все ваши диски. RAID 10 на самом деле более устойчив, чем RAID 1. На приведенной выше диаграмме Диск 1 и Диск 3 могут выйти из строя, и массив все равно можно будет полностью восстановить (хотя, если и Диск 0, и Диск 1 выходят из строя, это массив не подлежит восстановлению).

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

RAID 50/60

RAID 50/60 — это, по сути, два массива RAID 5 или 6 в RAID 0. Это повышает производительность так же, как и RAID 10, что наиболее важно повышает производительность записи, поскольку чтение с других дисков при вычислении четности происходит быстрее.

Для него требуется как минимум шесть дисков (восемь в случае RAID 60), а поскольку существуют отдельные массивы RAID 5, вам потребуются дополнительные диски с контролем четности, что сделает его менее эффективным с точки зрения использования места, но немного более устойчивым. В целом, RAID 50 — это, по сути, более производительная версия RAID 5.