55.10.0. RAID




RAID - Redundant Array of independed disks


JBOD

JBOD (Just bunch of disks)


RAID-0

RAID-0 Stripe Set








RAID-1

RAID-1 Mirror










RAID-1E






RAID-2

RAID-2 Hamming code ECC (7,4) SECDEC


RAID-3/RAID-4









RAID-3 and RAID-4 Stripe set with Parity Разница в том, что RAID-3 parity побайтно, а RAID-4 поблочно.





RAID-4:


RAID-5

RAID-5 Stripe set w/Rotated Parity Parity распределена по всем дискам - поэтому работает быстрее чем RAID-3 1 колонка parity







{a,b,P} a + b = P (a,b) a, b (b,P) a = P - b (a,p) b = P - a RAID-5 имеет два основных варианта Правовращающееся parity Левовращающееся симметричное (более быстрый) Отказ одного диска:

Отказ двух дисков:


RAID-5 with spare




RAID-5E




RAID-5EE




Другие варианты расширенного RAID-5




RAID-6

RAID-6 Stripe set w/Rotated Parity 2 колонки parity





{a,b,P,Q} a + b = P log{a} + log{b} = Q для Q обычно берут GF(2^8) log{x} дискретный имеет для 1..FF значения показателя степени образующего полинома 0..FE для 00 считают что степень будет бесконечностью и представляют ее как FF. Что происходит ели вылетит 2 диска: (a,b) a,b (a,P) b = P - a (b,P) a = P - b (a,Q) b = antilog(Q - log{a}) (b,Q) q = antilog(Q - log{b}) {a,b,c,P,Q} если вылетели диски с четностью - то нормально если вылетел диск с четностью и данными - то смотри выше вылетело 2 диска с данными (a,P,Q) имеем систему уравнений: | b + c = P - a | log{b} + log{c} = Q - log{a} решая ее получаем a и b один из вариантов решения просто подбором по b (всего 256 вариантов в среднем 128) в пересчете на байт. TP = P ^ a; // XOR TQ = Q - log{a} b = 0; while (b < 256) { c = TP ^ b; // XOR lb = log_table[b]; lc = log_table[c]; if ((lb + lc) == TQ)) { return b,c; } b++; } естественно имеем в памяти таблицу дискретных алгоритмов. порядка 7 операций на итерацию на востановление байта: 7-1792 операций в среднем 896 на сектор (512 байт): 3584-917504 операций получается на современном процессорном ядре можно востановить в худшем случае порядка 1-2К секторов в секунду то есть порядка 1MB. Неудивительно что используют специальные контроллеры.


RAID-6E

Аналогично как RAID-5E


RAID-10

RAID-10:






RAID0+1




RAID_30

RAID-30:




RAID-50



RAID-50:




RAID-51




RAID-60




RAID-61




RAID-DP








Повышается надежность:









Software и Hardware Hardware:



Software:







Index Prev Next