Fundado em 2008 · Edição Digital · 15 Junho 2026

SMB IT Journal

O Recurso de Tecnologia da Informação para Pequenas Empresas

Português
Armazenamento

Comparando RAID 10 e RAID 01

Esses dois níveis de RAID frequentemente geram uma enorme confusão, em parte porque são usados incorretamente como sinônimos e, muitas vezes, simplesmente porque são mal compreendidos.

Primeiro, convém destacar que ambos podem ser escritos com ou sem o sinal de mais: RAID 10 é RAID 1+0 e RAID 01 é RAID 0+1. Curiosamente, RAID 10 quase nunca é escrito com o sinal de mais e RAID 01 quase nunca é escrito sem ele. Os engenheiros de armazenamento geralmente concordam que o sinal de mais nunca deve ser usado, pois é supérfluo.

Ambos os níveis de RAID são níveis “compostos” formados pela combinação de dois tipos de RAID diferentes e simples. Ambos são RAID composto ou aninhado baseado em espelhamento, sem paridade. Ambos têm características de desempenho essencialmente idênticas – sobrecarga e latência nominais, com velocidade de leitura de NX e velocidade de gravação de (NX)/2, em que N é o número de discos no array e X é o desempenho de um disco individual no array.

O que diferencia os dois níveis de RAID é como eles lidam com a falha de disco. Em resumo, o RAID 10 é extremamente seguro em quase todos os cenários razoáveis. O RAID 01, no entanto, torna-se rapidamente bastante arriscado à medida que o tamanho do array aumenta.

Em um RAID 10, a perda de qualquer disco isolado resulta na degradação de um único conjunto RAID 1 dentro do stripe RAID 0. O nível do stripe não sofre nenhuma degradação; apenas aquele único espelho RAID 1 sofre. Todos os outros espelhos permanecem inalterados. Isso significa que nosso único risco adicional é que aquele único disco passe a operar sem redundância e sem proteção. Todos os outros conjuntos espelhados ainda mantêm proteção total. Portanto, nossa exposição é a de um único disco desprotegido – muito semelhante ao que se esperaria em uma máquina de mesa.

A reparação de um array em um RAID 10 degradado é o cenário de reparação mais rápido possível. Ao substituir um disco com falha, tudo o que acontece é que aquele único espelho é reconstruído – o que é uma simples operação de cópia que ocorre no nível do RAID 1, abaixo do stripe RAID 0. Isso significa que, se o array como um todo estiver ocioso, o processo de espelhamento pode prosseguir em velocidade máxima e o array como um todo nem sequer percebe que isso está acontecendo. Um espelhamento de disco para disco é extremamente rápido, eficiente e confiável. Esse é um cenário de recuperação ideal. Mesmo que vários espelhos sofram degradação simultaneamente e estejam sendo reparados ao mesmo tempo, não há impacto adicional, pois a reconstrução de um não afeta os demais. Tanto o risco quanto o impacto da reparação no RAID 10 escalam extremamente bem.

O RAID 01, por outro lado, quando perde um único disco, perde imediatamente um stripe RAID 0 inteiro. Em um espelho RAID 01 típico, há dois stripes RAID 0. Isso significa que metade de todo o array falhou. Se estivermos falando de um array RAID 01 de oito discos, a falha de um único disco deixa quatro discos instantaneamente inoperantes e efetivamente em estado de falha (o hardware não precisa ser substituído, mas os dados nos discos estão desatualizados e precisam ser reconstruídos para serem úteis). Assim, do ponto de vista do risco, podemos encará-la como a falha de todo o stripe.

O que resta após a falha de um único disco não é nada além de um único stripe RAID 0 desprotegido. Isso é muito mais perigoso do que a falha equivalente em um RAID 10 porque, em vez de haver apenas um único disco isolado em risco, agora há no mínimo dois discos e, potencialmente, muitos mais em risco, e cada disco exposto a esse risco amplia consideravelmente o risco.

Como exemplo, no menor array RAID 10 ou 01 possível, temos quatro discos. No RAID 10, se um disco falha, nosso risco é que seu disco par correspondente também falhe antes de reconstruirmos o array. Preocupamo-nos apenas com aquele único disco; todos os outros discos do conjunto RAID 10 continuam protegidos e seguros. Apenas esse é motivo de preocupação. Em um RAID 01, quando o primeiro disco falha, seu par no conjunto RAID 0 torna-se instantaneamente inútil e efetivamente em estado de falha, pois já não é operável no array. O que resta são dois discos sem proteção alguma executando apenas RAID 0 e, portanto, temos o mesmo risco que o RAID 10 tinha, duas vezes. Cada disco tem o mesmo risco que aquele único disco tinha antes. Isso torna nosso risco, no melhor cenário possível, muito mais elevado.

Mas, para um exemplo mais dramático, vejamos um grande array RAID 10 e RAID 01 de vinte e quatro discos. Novamente, com o RAID 10, se um disco falha, todos os demais, exceto seu único par, continuam protegidos. O tamanho adicional do array acrescentou praticamente zero de risco adicional. Ainda receamos apenas a falha daquele único disco solitário. Compare isso com o RAID 01, no qual um de seus arrays RAID 0 teria falhado, retirando doze discos de uma só vez com a falha de um único, deixando os outros doze discos em um RAID 0 sem qualquer forma de proteção. A probabilidade de um entre doze discos falhar é significativamente maior do que a probabilidade de um único disco falhar, obviamente.

Esse não é o quadro completo. A recuperação do único disco do RAID 10 é rápida; trata-se de uma operação direta de cópia de um disco para o outro. Ela usa recursos mínimos e leva apenas o tempo necessário para que um único disco leia e grave a si mesmo por completo. O RAID 01 não tem a mesma sorte. Ao contrário do RAID 10, que reconstrói apenas um pequeno subconjunto de todo o array – e um subconjunto que não cresce à medida que o array cresce: o tempo para recuperar um RAID 10 de quatro discos ou um RAID 10 de quarenta discos após a falha é idêntico – o RAID 01 precisa reconstruir uma metade inteira de todo o array pai. No caso do array de quatro discos, isso representa o dobro do trabalho de reconstrução do RAID 10, mas, no caso do array de vinte e quatro discos, representa doze vezes o trabalho de reconstrução a ser realizado. Portanto, as reconstruções do RAID 01 levam mais tempo para serem executadas, ao mesmo tempo em que ficam expostas a um risco significativamente maior durante esse período.

Existe um mito bastante persistente de que o RAID 01 e o RAID 10 têm características de desempenho diferentes, mas não têm. Ambos usam striping e espelhamento simples, que são operações de sobrecarga efetivamente nula e exigem quase nenhum processamento adicional. Ambos obtêm desempenho de leitura total de cada dispositivo de disco a eles conectado e cada um perde metade de seu desempenho de gravação para sua operação de espelhamento (presumindo espelhos de duas vias, que é o único uso comum de qualquer um dos tipos de array). Simplesmente não há nada que torne o RAID 01 ou o RAID 10 mais rápido ou mais lento que o outro. Ambos são extremamente rápidos.

Por causa das características dos dois tipos de array, fica claro que o RAID 10 é o único tipo, dentre os dois, que deveria existir dentro de uma única controladora de array. O RAID 01 é desnecessariamente perigoso e não traz vantagem alguma. Eles usam a mesma sobrecarga de capacidade, têm o mesmo desempenho, custam o mesmo para implementar, mas o RAID 10 é significativamente mais confiável.

Então, por que o RAID 01 sequer existe? Em parte, ele existe por ignorância ou confusão. Muitas pessoas, ao implementarem seus próprios arrays RAID compostos, escolhem o RAID 01 porque ouviram o mito de que ele é mais rápido e, como geralmente acontece com RAID, não investigam por que ele seria mais rápido e esquecem de analisar sua confiabilidade e outros fatores. O RAID 01 só é realmente implementado em arrays locais por engano.

No entanto, quando levamos o RAID à camada de rede, há novos fatores a considerar e o RAID 01 pode se tornar importante, assim como seu raro primo, o RAID 61. Indicamos, por meio da Notação de RAID em Rede, onde existem as camadas local e de rede do RAID. Assim, nesse caso, queremos dizer RAID 0(1) OU RAID 6(1). Os parênteses indicam que o espelho RAID 1, a porção “mais alta” da pilha de RAID, está sobre uma conexão de rede e não na controladora de RAID local.

Como isso ficaria em um RAID 0(1)? Se você tiver dois servidores, cada um com um array RAID 0 padrão, e quiser que eles sejam sincronizados entre si para atuarem como um único array confiável, você poderia usar uma tecnologia como o DRBD (no Linux) ou o HAST (no FreeBSD) para criar um array RAID 1 em rede a partir do armazenamento local de cada servidor. Obviamente, isso tem muita sobrecarga de desempenho, pois o array RAID 1 precisa ser mantido sincronizado por meio da conexão de LAN de alta latência e baixa largura de banda. RAID 0(1) é a notação para essa configuração. Se cada array RAID 0 local fosse substituído por um RAID 6 mais confiável, escreveríamos toda a configuração como RAID 6(1).

Por que aceitamos o risco do RAID 01 quando ele está sobre uma rede, mas não quando ele é local? Isso se deve à natureza do enlace de rede. No caso do RAID 10, dependemos da porção RAID 1 de baixo nível da pilha de RAID para a proteção, e o RAID 0 fica por cima. Se replicarmos isso em nível de rede, como em um RAID 1(0), o que acabamos obtendo é cada host com um único espelho que representa apenas uma parte dos dados do array. Se algo acontecesse a qualquer nó do array ou se a conexão de rede falhasse, o array seria instantaneamente destruído e cada nó ficaria com dados inúteis e incompletos. É a natureza do alto risco de falha de nó e o risco no nível da conexão de rede que torna as decisões de RAID em um ambiente de rede extremamente diferentes. Esse se torna um assunto complexo por si só.

Basta dizer que, ao trabalhar com controladoras de array RAID normais ou com armazenamento local e RAID por software, utilize exclusivamente o RAID 10 e nunca o RAID 01.

Marcadoraid raid 01 raid 10

Publicidade

SMB IT Journal — the IT resource for small business