RAID: Matriz Redundante de Discos Independentes ou Redundant Array of Independent Disks

O que é RAID?

Alguns sites traduzem RAID como sendo

  • Matriz redundante de discos independentes(redundant array of independent drives)  ou
  • Matriz redundante de discos baratos( Redundant Array of Independent Disks)

Quando falamos em matriz nos referimos, praticamente, a grupo.

Mas  a ideia por trás de RAID é combinar diversos discos pequenos, baratos em uma matriz(grupo). Esses discos, quando combinados, aparecem para o usuário como um único dispositivo.

Para se formar um RAID é necessário no mínimo 2 discos.

Há diversos tipos  de Array e eles podem ser redundantes, ter performance melhorada, espaços combinados de forma que, por exemplo, dois discos de 100 GB se unam formando um disco virtual de 200 GB.

Os dados a serem armazenados no RAID são quebrados em pequenas partes, geralmente de 32 ou 64K e armazenados nos discos de acordo com o nível do RAID.

Os níveis/tipos mais usados são RAID 0, RAID 1, RAID 5 e RAID 10.

É bom montar um RAID com discos de diferentes lotes evitando que ao colocar discos de um mesmo lote ocorra falhas simultâneas.

 Termos Usados

  • Array ou Matriz: é um grupo de discos.
  • Segmento de Disco:  é um disco ou parte de um que é usado para se criar um array.
  • Segmento de RAID: é um segmento(pedaço) de um array
  • Segmento Disponível: como sugere o nome, é um pedaço disponível, porém ainda não usado na matriz.
  • Hot Spare: Discos pré-instalado mas não em uso. Na verdade é um disco reserva, preparado e pronto para entrar em campo. Podemos ver que se trata de um “segmento disponível”. Esse hot spare não precisa de intervenção para ser colocado em uso. Caso um dos discos do RAID falhe o Hot Spare é usado automaticamente.
  • Striping: traduzindo para português, significa tiras(pedaço). É uma técnica onde os dados sendo gravados(escritos) no array são quebrados em pedados ou tiras(strips) menores e são armazenados nos discos membros da matriz.
  • Paridade: É uma informação de paridade(igualdade) calculada e baseada no conteúdo do restante dos membros do array. Essa informação pode ser usada para reconstruir dados quando um disco falhar e ficar inacessível. O dado reconstruído pode então ser usado para satisfazer as solicitações de Leitura e Escrita(I/O) feitas ao disco que falhou até que ele possa ser substituído.
  • Standby Spare: é um disco em espera para uso.

Obs.: paridade prover redundância e striping melhora o desempenho.

RAID Usando Hardware ou RAID por Software?

Você pode montar um RAID usando um hardware(uma placa geralmente chamada de controladora raid) ou usando um software(programas, no Linux temos o md, por exemplo)

RAID usando Hardware 

O RAID baseado em hardware gerencia o RAID independente do Sistema Operacional e dos demais hardwares.

Geralmente possibilita a troca quente(hot swap) de um disco danificado por um novo sem que seja  necessário desligar o sistema.

Se você planeja implantar RAID usando a controladora saiba que terá que desembolsar uma grana a mais, visto que placas controladoras de raid não costuma ser baratas.

Os discos são conectados à um placa conhecida como controladora raid. Então os discos do RAID são apresentados ao sistema operacional e aos demais hardwares do computador  como um único disco.

Todo o gerenciamento dos discos são realizados pela Controladora raid, sem consumir nenhum recurso das demais peças do computador, ou seja, a placa controladora possui um sistema de processamento independente. Sendo uma sobrecarga a menos para o processador e memória da placa mãe.

 

RAID usando Software

Todos os níveis de RAID são implementadas e gerenciadas pelo sistema operacional.

É uma solução muito mais barata que se usasse RAID por hardware; mas acaba usando a parte ociosa, que não está em atividade, do processador, memória e demais hardwares da placa mãe.

Mas com as CPUs/processadores cada vez mais potentes nos dias de hoje, RAID por software supera RAID por hardware.

O raid por software também aceita a troca quente(hot swap) de um disco danificado por um novo sem a necessidade de desligar o sistema operacional

Linux contém drivers md que possibilita a criação e gerenciamento de RAIDS ‘descartando’ a necessidade de uma placa controladora de raid.

Uma vantagem de se usar software para raid é a possibilidade de mover o array(grupo de discos) para outro computador sem a necessidade de reconstruir ou instalar.

Além do mais, possui a capacidade de auto-detectar o processador(CPU) de forma  ter vantagens de certas otimizações específicas de cada modelo de CPU.

 

 

Qual Importância de um RAID?

Discos combinados podem trazer confiabilidade, aumentar o desempenho e oferece tolerância  a falhas.

RAID é mais usado em empresas, mas seria uma boa ideia termos um em casa guardando documentos, fotos e vídeos.  Deixar dados apenas em celular é muito arriscado. Seu celular pode cair, ser roubado ou danificar o chip de armazenamento sem uma explicação plausível.

Lembre-se disso: FOTOS E VÍDEOS NÃO PODEM SER RECRIADOS APÓS PERDIDOS!

 

Tipos de RAID

 

RAID 0

raid 0
raid 0
  • RAID 0 também é chamado de “striping”. A técnica de striping aumenta a velocidade de Leitura e Escrita(ou i/o) mas não oferece redundância.
  • RAID 0 aumenta a velocidade de leitura e escrita, porém, não há proteção dos dados.
  • É somado o tamanho dos discos que fazem parte da matriz. Em nosso exemplo acima temos dois discos de 100 GB cada, que são somados com na criação de um RAID 0 totalizando 200GB.
  • Pode ser usado discos de diversos tamanhos para no RAID 0, porém o tamanho do disco menor prevalecerá; por exemplo, se quiser montar um RAID 0 com 2 discos, um de 100 GB e outro de 80 GB, o tamanho final será de apenas  80 + 80 = 160 GB . E não de 180 GB.
  • Quando você cria um arquivo e o salva no disco, esse arquivo, internamente, é quebrado em diversas partes menores e  as partes que o formam são armazenadas nos dois discos. Na imagem acima temos um arquivo onde a parte 01 está no disco01 e a parte 02 no disco02, a parte 03 está no disco01, a parte 04 no disco 02 e assim continua até a parte 06 que está no disco02.
  • Não existe redundância no RAID 0. Ou seja, se o disco01 “queimar” todo o conteúdo será perdido! As partes do arquivo dentro do disco02 serão inúteis já que estará faltando as partes do disco 01 que foram perdidas.

Não use RAID 0 em um sistema com dados importantes/críticos!

 

RAID 1

raid 1
raid 1

Também é conhecido como Espelhamento de Discos(disck mirroring).

RAID 1 é criado usando, no mínimo, dois discos; onde um dos discos é um espelho(mirror) do outro. Os dados são armazenados nos dois discos de forma duplicada ou redundante, ou seja, se o arquivo foto.jpeg, por exemplo, estará tanto no disco01 quanto no disco02. Se um dos discos “queimar”  você ainda terá todos os dados. Não perderá nada.

A capacidade, todavia, é de apenas 50% do total. Um RAID 1 com dois discos de 100 GB cada não totalizará 200 GB mas apenas 100 GB. Isso porque toda vez que salvar um arquivo em um disco será salva uma cópia no outro.

Com redundância/espelhamento, no RAID 1, se um dos discos falhar você terá uma cópia de todos os seus dados no disco que se encontra em perfeito estado.  Bastando para você substituir o disco danificado por um novo; o programa que gerencia o raid irá automaticamente criar uma imagem espelhada com todos os seus dados nesse novo disco. Essa capacidade em raid é conhecida como Troca Quente ou Hot Swap.

RAID 1 não tem striping o paridade.

Possui também uma boa performance. Geralmente é usado apenas dois discos para formar o RAID 1. A leitura de arquivos pelo sistema é beneficiado já que o sistema estará lendo separadamente dois arquivos(com o mesmo conteúdo) em dois discos.

Se o tempo de busca(leitura) é reduzido, melhorando a resposta, o tempo de gravação(escrita) não obtém melhora de desempenho, pois a escrita terá que ser feita duas vezes, uma vez em cada disco.

Obs.: Se tentar usar RAID 1 em discos antigos IDE, pode ser que não tenha benefício de leitura; o sistema pode ler dados apenas de um dos discos  mesmo espelhados.

É recomendado que cada disco tenha a sua própria controladora.

RAID 1 é essencial em situações onde se deseja ter arquivos importantes com garantia de que não perderá facilmente eles.

RAID 1 Enhanced

Conhecido também como RAID 1E.

Enhanced significa melhorado. É parecido com RAID 1 mas com espelhamento e striping. Para se ter um  RAID 1E é preciso, no mínimo, 3 discos.

Na imagem ilustrativa acima temos 3 discos de 100GB cada. Temos um arquivo dividido em pequenas partes. As partes em negrito são as tira(unidades de striping) e as sem negrito são as partes espelhadas.

RAID 2

Atualmente não se utiliza esse tipo. É importante apenas de forma teórica ou histórica.

RAID 3

Não é usado atualmente.

RAID 4

RAID 4 usa um disco paridade dedicado à paridade. São necessários 3 discos, no mínimo, para se criar um RAID 4.

Conforme descrito acima, paridade de dados é uma redundância para correção de erros que é usado para  recriar dados se um dos discos falhar.

A capacidade de armazenamento em RAID 4 é igual à capacidade dos membros do array menos a capacidade de um disco.

No site da Red Hat está informando que eles não usam o RAID 4 porque tem a mesma quantidade de espaço que RAID 5, mas RAID 5 tem vantagens a mais.

RAID 5

Também conhecido como disco de striping com paridade(disk striping with parity) é criado a partir de 3 discos e é o tipo mais comum de RAID. Ganhou popularidade graças ao baixo custo de redundância.

Por possuir paridade e striping dos dados e paridade possui velocidade melhorada e redundância.

Assim como acontece com RAID 0, ao salvar um arquivo no RAID 5 esse arquivo é quebrado em pequenas partes(striping ou tiras) que são escritas/gravadas de forma espalhada em alguns ou todos os discos do array.

RAID 5 elimina o gargalo nas escritas(gravações) dos dados que o RAID 4 possui, mas, por outro lado, sofre um pouco ao calcular paridade quando se usa processadores mais fracos. A leitura de dados é um benefício maior que a escrita.

RAID 5 geralmente é usado com um cache conhecido como write-back.

Além de striping os dados ele também armazena bits de paridades nos drivers/discos. Um bit de paridade é um dígito binário adicional que ajuda o array a checar se há algum erro ou seguimento perdido. Esses bits de dados pode também servir como redundância.

Assim como em espelhamento de disco(RAID 1) , os discos nesse array também possuem a funcionalidade de troca quente(hot swap).

Porém, RAID 5 não irá proporcionar a você a mesma velocidade do RAID 1 ou a mesma capacidade do RAID 0. Ele irá precisar de poder de processamento para criar os bits de paridade e algum espaço de armazenamento irá ser colocado de lado para servir de redundância.

A capacidade de armazenamento em RAID 5 é igual a soma dos discos menos a valor de um deles. Se possuir um grupo de 3 discos com 100 GB cada, o resultado será 200 GB  ao invés de 300 GB.

Tomando como exemplo a imagem acima, Se um dos 4 discos falhar o sistema continuará funcionando com os 3 restantes. Dos 3 restantes, se mais um vier a falar você perderá tudo!

O número máximo de disco em um RAID 5 é praticamente ilimitado. Porém, quanto maior a quantidade de discos maior a probabilidade que um ou mais venha a falhar.

RAID 10

raid 10

 

RAID 10 ou RAID 1+0 a combinação entre RAID 1 e RAID 0, conforme imagem acima.

RAID 10 requer no mínimo 4 discos e é também conhecido como “stripe of mirrors” ou stripes espelhados, bom…. não ficou nada fácil essa tradução 🙂 já que stripe quer dizer tiras/pedaços.

Tem excelente redundância e performance. Se tiver dinheiro essa pode ser a melhor solução para programas ou proteção/backup de dados críticos.

RAID Linear

É um grupo simples de discos que cria um disco virtual grande.

Em RAID Linear os pedaços dos arquivos são alocados sequencialmente  de um disco, indo para o próximo apenas quando o primeiro estiver preenchido.

Esse agrupamento de discos não traz melhoras de performance, pois  nenhuma operação de I/O será dividida entre os discos do grupo.

Também não oferece redundância, pelo contrário, diminui a confiabilidade; se qualquer dos discos falhar todo o array não poderá ser usado.

A capacidade no armazenamento é a soma de todos os discos.

 

Conclusão

Agrupar discos e formar uma matriz é  uma solução bastante usada em empresas. Na verdade é algo essencial nesse mundo empresarial cheio de arquivos de crítica importância.

 

 

Fontes: redhat, thegeekstuff, oracle, wikipedia

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

One Comment to “RAID: Matriz Redundante de Discos Independentes ou Redundant Array of Independent Disks”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *