quinta-feira, 12 de março de 2015

Entendendo o funcionamento de todos os tipos de RAID

Fala aêêê!
Pessoal, neste paper serei muitíssimo breve. O objetivo deste é agrupar as características essenciais dos tipos de RAID existentes no mercado. Não vou comentar sobre a tecnologia ou entrar em detalhes profundos porque (1) existem, pelas minhas contas, trocentos artigos com esse conteúdo na internet e (2) esse material é um "resumasso" para concursos de TI.

Caso você queira mais detalhes sobre a tecnologia RAID, veja:
http://www.thegeekstuff.com/2011/11/raid2-raid3-raid4-raid6/
http://www.thegeekstuff.com/2011/10/raid10-vs-raid01/
http://pt.wikipedia.org/wiki/RAID

Well, let's go.



RAID 0 - Striping (distribuição)


Características:
- Os dados são distribuídos em segmentos consecutivos (stripes ou faixas), escritos através de cada um dos discos;
- Cada segmento tem um tamanho definido de blocos.

Vantagens:
- Leitura rápida (até 50% mais rápido);
- Expansão de memória com baixo custo.

Desvantagens:
- Caso algum disco falhe (algum setor que contenha um trecho do arquivo, por exemplo), não é possível recupear.



RAID 1 - Mirror (espelhamento)


Características:
 - Todos os dados são gravados nos dois (ou mais) discos. Se um falhar ou for removido, os dados podem ser obtidos do outro(s) disco.

Vantagens:
- Se um disco falhar, basta pegar os setores (ou arquivos) do outro;
- Leitura ocorre em todas as unidades ao mesmo tempo.

Desvantagens:
- Aumenta tempo de escrita.



RAID 2 - Bits Striped with ECC (distribuição dos bits com ECC - Error Correction Codes)


Características:
- Utilizado na época em que os HDs não possuiam algoritmos de checagem de erros;
- Utiliza algoritmo Hamming ECC para checar os dados;
- Distribui bits entre os discos (ao invés de blocos, como nos RAIDs mais atuais);
- Precisa de dois grupos de discos: um grupo para os dados e outro grupo para armazenar os ECCs (códigos de erros para os dados);
- Quando ele escreve dados, calcula os ECCs e escreve-os no grupo pertinente;
- Na leitura, ele obtém os dados e calcula novamente para verficiar a integridade.

Vantagens:
- O uso do Hamming ECC diminiu muito a taxa de erros.

Desvantagens:
- Obsoleto;
- Dependendo das configurações de arquitetura do hardware, era necessário a mesma quantidade de discos para guardar os ECCs.



RAID 3 - Bytes Striped and Dedicated Parity Disk (distribuição de bytes, disco dedicado para paridade)


Características:
- Utiliza distribuição de bytes pelos discos (ao invés de blocos);
- Utiliza alguns discos para dados e um disco dedicado para paridade.

 Vantagens:
- Leituras e escritas sequenciais possuem boa performance;
- Possui paridade para correção dos erros.

Desvantagens:
- Leituras e escritas não sequenciais possuem performance ruim;
- Exige que todos os eixos das unidades de disco estejam sincronizados (configuração difícil).



RAID 4 - Blocks Striped and Dedicated Parity Disk (distribuição dos blocos, disco dedicado para paridade)


Características:
- Utiliza distribuição de blocos pelos discos (melhor que bytes ou bits);
- Funciona com 3 ou mais discos, sendo um exclusivo para paridade;
- Configura-se os discos de dados com segmentos suficientemente grandes (tamanho medido em blocos) para acomodar um registro inteiro (permite leituras independentes), tornando-o apropriado para ambientes transacionais;
- Útil para criar discos com grande dimensão, pois soma o espaço total dos discos (exceto o de paridade);
- Operações de escrita apresentam desempenho ruim pelo fato dele executar uma leitura e escrita no disco de paridade para cada novo dado inserido no array de discos.

Vantagens:
- Leitura com boa performance;
- Simular um disco de grande espaço.

Desvantagens:
- Escrita lenta, pois escreve em um único disco de paridade;
- Em caso de falha, a reconstrução dos arquivos é difícil e com baixo desempenho;
- Obsoleto em relação aos RAIDs 5 e 6.



RAID 5 - Blocks Striped and Distributed Parity (distribuição dos blocos, paridade distribuída pelos discos)


Características:
- Os dados de paridade ficam distribuídos por todos os discos;
- Utiliza distribuição de blocos pelos discos (melhor que bytes ou bits)
- Funciona com 3 ou mais discos;
- Útil para criar discos com grande dimensão;
- O desempenho geral de um array RAID 5 é equivalente ao de um RAID 4, excepto no caso de leituras sequenciais, que reduzem a eficiência dos algoritmos de leitura por causa da distribuição das informações sobre paridade.

Vantagens:
- Leitura rápida (pode ser realizada em todas unidades ao mesmo tempo);
- Escrita com melhor desempenho do que RAID 1;
- Utilizado em servidores que precisam de muita performance.

Desvantagens:
- Sistema complexo para controle dos HDs;
- Em caso de falha, a reconstrução dos arquivos é difícil e com baixo desempenho;
- Permite a falha de no máximo um disco.



RAID 6 - Blocks Striped and Two Distributed Parity (distribuição dos blocos, paridade distribuída por dois entre todos os discos)


Características:
- Os dados de paridade ficam distribuídos em dois discos, entre todos. Ou seja, no RAID 5, a paridade fica distribuída, mas alocada em 1 disco. Neste caso também há distribuição, porém em 2 discos;
- Utiliza distribuição de blocos pelos discos (melhor que bytes ou bits);
- Funciona com N+2 discos;
- Garante integridade com falha em até dois discos (diferente do RAID 5, que permite a falha de no máximo 1 disco);

Vantagens:
- Permite a falha de até dois discos;

Desvantagens:
- Precisa de N+2 discos para implementar;
- Escrita lenta;
- Sistema complexo para controle dos HDs.



RAID 0+1 - Striping and Mirror (distribuição e espelhamento)


Características:
- Também chamado de RAID 01 ou "mirror of stripes"; 
- Exige no mínimo 3 discos, mas no geral é implementado com 4 discos (ou mais);
- Exemplo de funcionamento: crie dois grupos (DiskGroup), por exemplo, dois grupos com dois discos cada. Os dados são distribuídos entre os dois discos do primeiro grupo, e os discos deste grupo são espelhados no segundo grupo;
- Ou seja, os discos no mesmo grupo são distribuídos (RAID 0), enquanto os grupos são espelhados (RAID 1).

Vantagens:
- Segurança contra perda de dados (porém inferior ao RAID 1+0);
- Podem falhar 1, ou até mesmo os 2 HDs do mesmo grupo, pois o grupo está espelhado.

Desvantagens:
- Alto custo de expansão de hardware;
- Os drivers devem ficar em sincronismo de velocidade para se obter a máxima performance;
- Se um dos discos vier a falhar, torna-se um RAID 0;
- Tolerância a falhas é inferior a do RAID 1+0. Isso ocorre, por exemplo, no gráfico anterior, quando os discos 1 e 4 falham simultaneamente, não será possível recuperar o dado.



RAID 1+0 - Mirror and Striping (espelhamento e distribuição)


Características:
- Também chamado de RAID 10 ou "stripe of mirrors";
- Requer no mínimo 4 discos;
- Cria-se grupos (DiskGroup) de 2 discos. O segundo disco espelhará o primeiro. Esse comportamento ocorre em cada grupo. A distribuição ocorrerá entre os grupos, ou seja, o primeiro bloco será salvo no grupo 1, o segundo no grupo 2, etc;
- A tolerância a falhas é superior ao RAID 0+1. Como cada grupo só possui dois HDs, a tendência é haver vários grupos;
- Em uma situação hipotética com 3 grupos de 2 HDs, se três discos falharem, um em cada grupo, o sistema continua funcionando. Por exemplo, se falharem os discos 0 e 2 da figura, os dados não são perdidos.

Vantangens:
- Segurança contra perda de dados;
- Nível RAID recomendado para base de dados, por ser o mais seguro e o mais veloz;
- Preferível se comparado com o RAID 0+1.

Desvantagens:
- Alto custo de expansão de hardware;
- Os drivers devem ficar em sincronismo de velocidade para se obter a máxima performance;
- Se falhar os dois discos do mesmo grupo, haverá perda de dados. Por isso constuma-se utilizar dois discos de fabricantes ou lotes diferentes em cada lado do espelho.



RAID 50 - RAID 5 + RAID 0



Características:
- Arranjo que utiliza as técnicas de paridade distribuída em conjunto com a segmentação dos dados entre os grupos (DiskGroup);
- São grupos de 3 ou mais discos (mínimo necessário para o RAID 5), cujos dados são segmentados entre os grupos.


Vantagens:
- Alta taxa de transferência;
- Ótimo para uso em servidores.

Desvantagens:
- Alto custo de implementação e expansão de memória.



RAID 100 - RAID 1+0 + RAID 0


Características:
- Basicamente a implementação de grupos de RAID 1+0, segmentados com outro RAID 0 em nível superior;
- Normalmente é implementado utilizando uma combinação de software e hardware, ou seja, implementa-se o RAID 0 (superior) via software sobre o RAID 1+0 via hardware.


Vantagens:
- Superioridade do RAID 1+0 incrementada com segmentação, proporcionando um sistema muito performático.

Desvantagens:
- Obviamente, o custo elevado de implementação e expansão.



É isso senhores. Muito obrigado pela leitura e bons concursos!!
Abraços.

"Não importa quão boa seja sua desculpa, seria muito melhor você não estragar seu sonho por causa dela." (William Douglas)

Nenhum comentário:

Postar um comentário