RAID 01 vs RAID 10

Há uns tempos atrás fiz aqui um post sobre RAID, volto agora ao tema para falar um pouco sobre RAID 01 e 10.

RAID 01 não é RAID 1. RAID 01 e 10 não são a mesma coisa. Ambos são híbridos pois usam RAID 1 e 0 juntos, ambos requerem um mínimo de 4 discos para implementar e em ambos a perda de um disco não leva à falha do sistema. A diferença está em qual o RAID que usam primeiro - RAID 01 RAID 0 e depois 1, e o RAID 10 vice-versa, o que leva a diferentes características.

Exemplos de RAID 01 e RAID 10. Cada RAID tem dois arrays e cada array tem dois discos.

Exemplos de RAID 01 e RAID 10. Cada RAID tem dois arrays e cada array tem dois discos.

Ambos os tipos de RAID combinam a redundância do RAID 1 e a velocidade do RAID 0, oferecendo elevada performance sem efectuarem cálculos de paridade. Outros RAIDs como seja o 5 são mais lentos devido a estes cálculos.

RAID 0+1 (01) - Mirror of Stripes
Consiste no mirror de segmentos RAID 0.
Se um dos discos falhar, os dados podem ser transferidos de outro array. Não suporta a falha simultânea de dois discos, excepto se pertencerem ao mesmo array. Para recuperar os dados, todos os discos do outro array são necessários no processo.
Se adicionarmos um disco extra a um array necessitamos também de
adicionar outro disco a todos os outros arrays. Trata-se assim de tipo
de RAID caro e pouco escalável. É adequado para aplicações de tratamento de imagens e fileservers.

RAID 1+0 (10) - Stripe of Mirrors
Consiste na configuração striped com segmentos RAID 1.
Num array podem falhar todos os discos excepto um de forma a manter os dados intactos, denotando assim a mesma tolerância a que o RAID 1.
RAID 10 permite múltiplas falhas de discos num mesmo array.
Trata-se do RAID indicado para balanceamento de carga em grandes bases de dados porque não calcula paridade e permite uma maior velocidade de escrita.

RAID 10 vs 01
Assim, durante a recuperação de dados o RAID 10 é mais rápido pois está simplemente a re-espelhar um dos discos enquanto que no RAID 01 re-espelha o array inteiro.
Se perderem dois discos, no RAID 01 terão de pertencer ao mesmo array enquanto que no RAID 10 podem ser de arrays diferentes. O requisito é haver sempre pelo menos uma cópia intacta com os dados em cada array.
Por estas duas razoes, o RAID 10 mostra-se mais flexível em relação ao RAID 01.

A propósito, lembro-me de uma entrevista que fiz para a Amazon há uns
meses atrás que foi mais ou menos assim:
A: - How many minimum disks you need for RAID 10?
J: - For ..?
A: - Four! That’s correct.
J: - No, no! For … what?
A: - … RAID 10.
J: - I suppose… four.
A: - That didn’t count.