RAID: Redundant Array of Independent Drives (originamente: Redundant Array of Inexpensive Drives)

RAID é uma tecnologia que possibilita o uso de múltiplos discos a fim de formar um único volume, o qual pode fornecer tolerância a falhas, dependento do nível escolhido.

Implementações de RAID

Há dois tipos de implementação de RAID, sendo elas por hardware e por software:

RAID por software

É implementado pelo próprio sistema operacional e não usa um controlador de hardware dedicado para gerenciar o array RAID.
Essa implementação tem um custo mais baixo e mais simples de ser implementada, comparando-a com a implementação por hardware, porém apresenta as seguintes limitações:

  • Desempenho: Há um declínio no desempenho geral do sistema devido aos ciclos adicionais de CPU necessários para executar os cálculos de RAID;
  • Recursos suportados: Não há suporte para todos os níveis de RAID;
  • Compatibilidade com o sistema operacional: Por estar ligado ao sistema operacional, possíveis atualizações do SO devem ter sua compatibilidade validada, o que pode causar inflexibilidade no ambiente.

RAID por hardware

Nesse tipo de implementação, um controlador específico de RAID é adicionado ao host e os discos acoplados a ele. Há alguns fabricantes que integram os controladores RAID diretamente na placa mãe do host, o que reduz o custo total, mas causa certa inflexibilidade.

O controlador RAID externo atua como interface entre o host e os discos e apresenta volumes de armazenamento para o host. Suas funções chave são:

  • Gerenciamento e controle de agregação de discos;
  • Tradução de solicitações de I/O entre discos lógicos e físicos;
  • Regeneração de dados no caso de falhas de disco.

Níveis de RAID

Níveis
Descrição breve
 RAID 0  Array fracionado sem tolerância a falhas
 RAID 1  Espelhamento de disco
 RAID 3  Acesso paralelo com disco dedicado de paridade
 RAID 4  Array fracionado com discos independentes e disco dedicado de paridade
 RAID 5  Array fracionado com discos independentes e disco distribuído de paridade
 RAID 6   Array fracionado com discos independentes e disco dual de paridade
 Aninhado  Combinações de níveis de RAID. Exemplo: RAID 1 + RAID 0

RAID 0

Em uma configuração RAID 0, os dados são distribuídos pelos HDs de um conjunto RAID. Quanto mais discos fizerem parte do array, melhor será o desempenho, porque mais dados podem ser lidos ou gravados simultaneamente. RAID 0 é usando em aplicativos que precisam de altas de taxas de transferências de I/O, porém, vale lembrar que esse tipo de organização não é tolerante a falhas.

RAID 1

Na configuração RAID 1, os dados são espelhados para melhorar a tolerância a falhas, sendo 2 o número mínimo de HDs a fazerem parte do array. No momento da gravação, os dados são “empurados” a todos os discos do array e, caso ocorra alguma falha, o controlador continuará sua operação de leitura e escrita normalmente, pois ele ainda conta pelo menos uma das origens de dados intacta, o que faz organização apropriada para aplicação que requeiram alta disponibilidade.

RAID 3

Esse nível de RAID fraciona os dados para obter alto desempenho e usa paridade para melhorar a tolerância a falhas. Informações sobre paridade são armazenadas em um drive dedicado, de modo que os dados possam ser reconstruídos se um drive falhar.

RAID 4

Semelhante a RAID 3, RAID 4 fraciona os dados para obter alto desempenho e usa paridade para melhorar a tolerância a falhas. Os dados são fracionados por todos os discos, menos o disco de paridade do array. Informações sobre paridade são armazenadas em um drive dedicado, de modo que os dados possam ser reconstruídos se um drive falhar.
De modo distinto de RAID 3, os discos de dados em RAID 4 podem ser acessados independentemente, para que os elementos de dados possam ser lidos ou gravados em um único disco sem ler ou gravar um stripe inteiro. RAID 4 tem boa taxa de transferência de leitura e taxa razoável de gravação.

RAID 5

É semelhante a RAID 4 porque usa striping e os drives (strips) são acessáveis independentemente. A diferença entre RAID 4 e RAID 5 é o local da paridade. Em RAID 4, a paridade é gravada em um drive dedicado, criando um gargalo de gravação para o disco de paridade. Em RAID 5, a paridade é distribuída por todos os discos. A distribuição de paridade em RAID 5 supera o gargalo de gravação.

RAID 6

Funciona da mesmo forma que RAID 5, exceto pelo fato de RAID 6 inclui um segundo elemento de paridade para permitir a sobrevivência em caso de falha de dois discos de um grupo RAID. Portanto, uma implementação RAID 6 requer pelo menos 4 discos. RAID 5 tem melhor desempenho de gravação que RAID 6. O operação de reconstrução em RAID 6 pode demorar mais do que a de RAID 5 devido à presença de dois conjuntos de paridade.

RAID aninhado

   

A maioria dos datacenters requer desempenho e redundância de dados dos seus arrays RAID. RAID 0+1 e RAID 1+0 combinam os benefícios de desempenho de RAID 0 com os de redundância de RAID 1. Eles usam técnicas de distribuição e espelhamento e combinam seus benefícios.

Fonte: as informações contidadas neste post estão de acordo com o livro Armazenamento e Gerenciamento de Informações da editora Bookman (EMC2) – ISBN 978-85-7780-750-5

Mais informações em Comparação de diferentes tipos de RAID

[twitter-follow screen_name='eduardorizo' show_count='yes']

3 comentários em “RAID: Redundant Array of Independent Drives (originamente: Redundant Array of Inexpensive Drives)”

  1. Pingback: Comparação de diferentes tipos de RAID « Blog do Eduardo H. Rizo

Deixe um comentário