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

Есть ли разница между RAID 10 (1 + 0) и RAID 01 (0 + 1)?

Я видел оба перечисленных, и чередующиеся, и зеркальные на нескольких дисках, но есть ли разница между ними, которую я не улавливаю?

Это связано с порядком, в котором выполняются операции, и применяется только к массивам, состоящим из 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.

Рейд 0 + 1 против Рейда 1 + 0 (вероятность неудачи)

Вот немного математики, которая должна показать разницу в частоте отказов. Для простоты предположим, что количество дисков четное.

В обеих конфигурациях массива каждый диск разбит на блоки. В Raid 0 + 1 сначала происходит чередование, а затем зеркальное отображение. В Raid 1 + 0 сначала происходит зеркальное отображение, а затем чередование.

Мы всегда можем разделить Raid 0 + 1 на две группы (G1 и G2).
Обратите внимание, что я использую «разделение» в математическом смысле.
Для n дисков мы можем определить:
G1 = {D1, D2, ..., Dп / 2}
G2 = {Dп / 2 + 1, Dп / 2 + 2, ..., Dп}

Raid 0+1

4 Disks:                       6 Disks:
Disk1 Disk2 Disk3 Disk4        Disk1 Disk2 Disk3 Disk4 Disk5 Disk6
----- ----- ----- -----        ----- ----- ----- ----- ----- -----
| 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}
...
граммп / 2 = {Dп-1, Dп}

Raid 1+0

4 Disks:                       6 Disks:
Disk1 Disk2 Disk3 Disk4        Disk1 Disk2 Disk3 Disk4 Disk5 Disk6
----- ----- ----- -----        ----- ----- ----- ----- ----- -----
| 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, если два диска умрут.

Number of Disks (n) = 4
2 Disks Die : Raid Failure
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 Failure | 2 Disks die) = 2/3


2/6 из этих комбинаций приведет к сбою конфигурации Raid 1 + 0. (33% шанс неудачи)
Можно сказать, что:

P2 = P (Raid 1+0 Failure | 2 Disks die) = 1/3


Мы можем провести тот же тест с n = 6, но я опущу таблицу.

P1 = 9/15 = 3/5
P2 = 3/15 = 1/5
P3 = P (No failures | 2 Disks die) = 4/15
P1P2 = 1/15

С 6 дисками возможны c (n, 2) = c (6, 2) = 15 возможных комбинаций.
Существует 60% вероятность того, что конфигурация Raid 0 + 1 не сработает.
Существует 20% вероятность того, что конфигурация Raid 1 + 0 не удастся.

Теперь эти результаты можно обобщить для 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))     // We can use L'Hopital's rule

              = 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.

Это относится к 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 требуется как минимум четыре диска: два для хранения данных с чередованием и еще два для зеркалирования первой пары.