Вопрос или проблема
Я видел, что оба варианта перечислены, оба используются для чередования и зеркалирования на нескольких дисках, но есть ли разница, которую я не замечаю?
Это связано с порядком, в котором выполняются операции, и касается только массивов, состоящих из 6 дисков или более (если у вас 4 диска, они практически одинаковы).
RAID 1+0 (10): Диски 1 + 2, 3 + 4, 5 + 6 зеркалируются для создания массива RAID-1, и массив RAID 0 создается на основе этих массивов.
RAID 0+1 (01): Диски 1 + 2 + 3 чередуются для создания массива RAID 0, а затем диски 4 + 5 + 6 создают резервирование RAID 1.
С RAID 0+1 потеря одного диска с одной стороны массива (1,2,3 или 4,5,6) снизит массив до состояния, когда вы фактически работаете с RAID 0 (что плохо).
С RAID 1+0 вы можете потерять по одному диску из каждой пары (1,2 или 3,4 или 5,6), и массив останется работоспособным. Единственный способ, как этот массив может выйти из строя, — это когда оба диска в паре выйдут из строя.
Если ваши обстоятельства не исключительны, вам никогда не следует использовать 0+1.
Raid 0+1 против Raid 1+0 (Вероятность сбоя)
Вот немного математики, которая должна показать различия в вероятностях сбоев. Для простоты предположим, что количество дисков четное.
В обоих конфигурациях массива каждый диск разбивается на блоки. В RAID 0+1 сначала выполняется чередование, а затем зеркалирование. В RAID 1+0 сначала выполняется зеркалирование, а затем чередование.
Мы всегда можем разделить RAID 0+1 на две группы (G1 и G2).
Обратите внимание, что я использую слово ‘разделить’ в математическом смысле.
Для n дисков мы можем определить:
G1 = {D1, D2, …, Dn/2}
G2 = {Dn/2+1, Dn/2+2, …, Dn}
Raid 0+1
4 Диска: 6 Дисков:
Диск1 Диск2 Диск3 Диск4 Диск1 Диск2 Диск3 Диск4 Диск5 Диск6
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
| a | | b | | a | | b | | a | | b | | c | | a | | b | | c |
| c | | d | | c | | d | | d | | e | | f | | d | | e | | f |
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
G1 = {D1, D2} G1 = {D1, D2, D3}
G2 = {D3, D4} G2 = {D4, D5, D6}
Для RAID 1+0 мы всегда можем разделить диски на n/2 группы.
Обратите внимание, что я использую слово ‘разделить’ в математическом смысле.
Для n дисков мы можем определить:
G1 = {D1, D2}
G2 = {D3, D4}
…
Gn/2 = {Dn-1, Dn}
Raid 1+0
4 Диска: 6 Дисков:
Диск1 Диск2 Диск3 Диск4 Диск1 Диск2 Диск3 Диск4 Диск5 Диск6
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
| a | | a | | b | | b | | a | | a | | b | | b | | c | | c |
| c | | c | | d | | d | | d | | d | | e | | e | | f | | f |
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
G1 = {D1, D2} G1 = {D1, D2}
G2 = {D3, D4} G2 = {D3, D4}
G3 = {D5, D6}
Теперь, когда это выяснено, давайте перейдем к математике!
Для сбоя в конфигурации RAID 0+1, как минимум 1 жесткий диск из каждой группы должен выйти из строя.
Для сбоя в конфигурации RAID 1+0 все жесткие диски в любой одной группе должны выйти из строя.
В любой конфигурации RAID как минимум два диска должны выйти из строя. Давайте рассмотрим все возможные способы, которыми обе конфигурации RAID могут выйти из строя, если два диска выйдут из строя.
Количество дисков (n) = 4
2 Диска вышли из строя : Сбой RAID
D1D2 : R10
D1D3 : R01
D1D4 : R01
D2D3 : R01
D2D4 : R01
D3D4 : R10
С 4 дисками всего есть C(n, 2) = C(4, 2) = 6 комбинаций.
4/6 из этих комбинаций приведут к сбою конфигурации RAID 0+1. (66% вероятность сбоя)
Мы можем сказать, что:
P1 = P (Сбой RAID 0+1 | 2 Диска вышли из строя) = 2/3
2/6 из этих комбинаций приведут к сбою конфигурации RAID 1+0. (33% вероятность сбоя)
Мы можем сказать, что:
P2 = P (Сбой RAID 1+0 | 2 Диска вышли из строя) = 1/3
Мы можем провести тот же тест с n = 6, но я опущу таблицу.
P1 = 9/15 = 3/5
P2 = 3/15 = 1/5
P3 = P (Без сбоев | 2 Диска вышли из строя) = 4/15
P1P2 = 1/15
С 6 дисками всего есть c(n, 2) = c(6, 2) = 15 возможных комбинаций.
Вероятность сбоя конфигурации RAID 0+1 составляет 60%.
Вероятность сбоя конфигурации RAID 1+0 составляет 20%.
Теперь эти результаты могут быть обобщены для n дисков.
P1 = c(n/2, 1) * c(n/2, 1) / c(n, 2)
= (n/2 * n/2) / (n * (n - 1) / 2)
= (n/2 * n/2) * (2 / (n * (n - 1)))
= (n * n / 4) * (2 / (n * (n - 1)))
= (n / 2) * (1 / (n - 1))
= n / (2 * (n - 1))
P2 = (n/2) / c(n, 2)
= (n/2) / (n * (n - 1) / 2)
= (n/2) * (2 / (n * (n - 1)))
= 1 / (n - 1)
Теперь самое полезное и интересное в математике. Мы можем взять пределы двух уравнений выше. Ниже я использую ‘inf’ для обозначения бесконечности.
Lim n->inf P1 = Lim n->inf n / (2 * (n - 1)) // Мы можем использовать правило Лопиталя
= Lim n->inf 1 / 2 = 1 / 2
Другими словами, всегда будет как минимум 50% вероятность сбоя, если 2 диска выйдут из строя на конфигурации RAID 0+1!
Теперь давайте посмотрим, как обстоит дело с конфигурацией RAID 1+0.
Lim n->inf P2 = Lim n->inf 1 / (n - 1) = 0
Другими словами, чем больше дисков мы добавляем к конфигурации RAID 1+0, тем ближе мы подходим к теоретической вероятности сбоя 0%!
Последняя таблица (Обратите внимание, что я округляю значения до целых чисел.)
-------------------
| n | P1 | P2 |
-------------------
| 4 | 66% | 33% |
| 6 | 60% | 20% |
| 8 | 57% | 14% |
| 10 | 55% | 11% |
| 12 | 54% | 9% |
| 16 | 53% | 7% |
| 20 | 52% | 5% |
| 24 | 52% | 4% |
| 32 | 51% | 3% |
| 64 | 50% | 1% |
| 128 | 50% | 0% |
-------------------
Таким образом, для одновременного отказа дисков RAID 1+0 следует использовать вероятность “И”, в то время как RAID 0+1 следует использовать вероятность “ИЛИ” для риска потери данных.
Заключение: используйте RAID 1+0.
Это должно быть на ServerFault, но вот краткий обзор различий из Википедии
RAID 10
RAID 1+0 (или 10) — это зеркальный набор данных (RAID 1), который затем чередуется (RAID 0), откуда и название “1+0”. Массив RAID 1+0 требует минимум четырех дисков — два зеркальных диска для хранения половины чередующихся данных и еще два зеркальных для другой половины данных. В Linux MD RAID 10 — это не вложенный тип RAID, похожий на RAID 1, который требует минимум два диска и может обеспечить производительность чтения на уровне RAID 0.
RAID 01
RAID 0+1 (или 01) — это чередующийся набор данных (RAID 0), который затем зеркалируется (RAID 1). Массив RAID 0+1 требует минимум четырех дисков: два для хранения чередующихся данных и еще два для зеркалирования первой пары.
.
Ответ или решение
RAID 10 (1+0) и RAID 01 (0+1): основные отличия
RAID (избыточный массив независимых дисков) – это технология, предназначенная для объединения нескольких физических дисков в одну логическую единицу с целью повышения надежности данных и производительности. В рамках данной технологии часто используются различные уровни RAID, среди которых RAID 10 и RAID 01 занимают особое место. Несмотря на то что обе конфигурации обеспечивают одновременно и полосу пропускания, и отказоустойчивость, у них есть ключевые различия, которые необходимо учитывать.
Структура и схема хранения данных
-
RAID 10 (1+0):
- Сначала осуществляется зеркалирование пар дисков (RAID 1), где каждая пара хранит одну и ту же информацию. Например, если у вас есть диски 1 и 2, то они будут зеркалировать данные друг друга.
- Затем данные разделяются на части (полоса) между парами зеркал. То есть, данные будут распределены по двум основным группам зеркал (например, диски 1 и 2, а затем диски 3 и 4).
- Минимальное количество дисков для RAID 10 — 4.
-
RAID 01 (0+1):
- Начинается с разделения данных между дисками (RAID 0), что позволяет увеличить производительность чтения и записи данных. Например, диски 1, 2 и 3 формируют полосу.
- Затем каждая такая полоса зеркалится, создавая резервные копии данных (RAID 1).
- Также требуется минимально 4 диска для RAID 01.
Отказоустойчивость и вероятность потери данных
Основное различие между RAID 10 и RAID 01 заключается в том, как они обрабатывают сбои в дисках:
-
RAID 10:
- Позволяет потерять один диск (из пары) без потери работоспособности массива. Он остается функциональным, пока не потеряно оба диска в одной паре. То есть, независимые пары позволяют легче восстанавливать данные.
-
RAID 01:
- Если один диск из полосы выйдет из строя, это приведет к деинсталяции массива RAID до уровня RAID 0, что означает, что данные находятся в высоком риске потери. В случае потери одного диска в RAID 01 крайне важно обращаться с оставшимися дисками очень осторожно, поскольку второй сбой приведет к потере данных.
Вероятностные аспекты
Матhematical анализ показывает, что вероятность потери данных при двух сбоях выше для RAID 01, чем для RAID 10. В RAID 01 требуется, чтобы один диск вышел из строя в каждой из групп (пары), тогда как в RAID 10 достаточно, чтобы упала только одна пара.
Заключение
Таким образом, хотя RAID 10 и RAID 01 могут для неопытного пользователя показаться схожими, они имеют значительные различия в архитектуре, отказоустойчивости и вероятности потери данных. Рекомендуется использовать RAID 10 в большинстве сценариев, поскольку он предлагает более высокую защиту данных и лучшую производительность по сравнению с RAID 01. Инвестиции в оборудование для реализации RAID 10 оправданы, учитывая потенциальные риски, связанные с потерей данных.