Para este artigo abordarei todos aspectos teóricos sobre RAID, procurei bastante no VOL e não achei nenhum artigo que descrevesse essa maravilhosa tecnologia que pode evitar futuros problemas e ainda oferecer muito ganho de performance. Espero que a leitura inspire vocês a usar isso em seus servidores, que pode vir a quebrar futuros galhos.
Esse nível RAID, que foi o usado na introdução é também chamado de RAID Striping ou de fragmentação. O que ele desempenha? Ele faz com que os dois discos sejam usados para gravar de forma simultânea, aumentando significantemente a performance do seu sistema quando se trata de gravar grandes arquivos.
Obviamente que você não irá usar RAID 0 se você maneja apenas arquivos pequenos, seria um gasto totalmente desnecessário. Este tipo de RAID é usado principalmente em segmentos onde se manuseia frequentemente com imagens, vídeos ou essas aplicações que gostam de ter arquivos ultrapassando os 100MB cada um.
RAID 1
Aqui vai mais uma das maravilhas do RAID. Neste nível, também apelidado de espelhamento ou mirror, você utiliza um HD para gravar seus arquivos normalmente, e o outro é usado para fazer um espelho perfeito do qual ao que você está gravando, ou seja, tudo que gravar no primeiro HD o RAID fará uma cópia no segundo.
Onde isto seria útil? Em lugares onde você simplesmente não pode tolerar perda de dados. Imagine que você tem seu servidor Samba e é lá onde os diretores gravam todas suas planilhas de planejamentos, custos, prejuízos e qualquer outro tipo de documento ao qual eles não podem perder. Então seu HD principal simplesmente resolve queimar, simples e realista como a vida. Em qualquer outra situação você já estaria juntando suas coisas para ir embora, pois como você explicaria que todo planejamento atual que seu chefe passou horas desenvolvendo está simplesmente perdido no tempo porque o HD queimou. Com o RAID 1 você simplesmente troca o HD e está lá seu sistema rodando lindo e perfeito, como se nada estivesse acontecido.
RAID 2
Este nível RAID, pouco utilizado atualmente, implementa sistema de detecção de erros. Falarei pouco dele pois a tecnologia que ele desenvolvia foi implementada fisicamente nos HDs mais atuais. Ele nada mais faz do que adaptar o sistema de detecção de erros implementada fisicamente para a memória do computador.
RAID 3
Neste nível os dados são divididos entre todos os discos com exceção de um disco que será usado para paridade. PARIDADE?!?! Paridade: nada mais é do que uma soma de 1 bit em todos os bytes deste disco, para assim permitir detecção de erros, assim sendo, se você precisar fazer uma recuperação de dados na caso de uma perda de disco ou dados, com esta paridade você tem certeza absoluta que todos os dados estão corretamente gravados. Este RAID tem como característica a alta performance e a alta confiabilidade dos dados gravados. São necessários pelo menos 3 discos para este RAID ser implementado.
RAID 4
Este nível é muito semelhante ao 3, porém este nível utiliza um disco exclusivamente para paridade, então no caso de um de seus dispositivos de armazenamento falhar, você pode fazer a recuperação de dados em tempo real. Muito recomendado para gravação de arquivos grandes, onde é necessário ter certeza que todos seus arquivos foram gravados integralmente e sem erros. Ele realiza um cálculo de paridade para cada novo arquivo gravado, o que torna a gravação um pouco mais lenta mas aumenta consideravelmente a confiabilidade do sistema.
RAID 5
Semelhante ao nível 4, mas neste mesmo a paridade não fica destinada apenas a um disco dedicado somente para isso. Devido ao fato dos cálculos de paridade serem distribuídos ao longo dos discos, o que não acontece no nível 4, ele tem performance reduzida em relação ao mesmo. Este nível é bastante utilizado e apresenta desempenho bom para tarefas de médio porte. Necessita de pelo menos 3 discos para funcionar.
RAID 0+1
Como você pode ver pelo nome, este nível é a combinação do 0 e 1, fazendo o espelhamento dos discos e também dividindo as informações para ganho de performance. O problema deste nível é que ele tem custo elevado de implementação, uma vez que pra fazer RAID são necessários 2 discos, fazendo o 0+1 é necessário pelo menos 4 discos. Este nível RAID é o mais confiável, rápido e seguro, porém o mais caro.
[2] Comentário enviado por altairmsouza em 16/07/2007 - 09:14h
chuckzor,
Muito bom seu artigo pratico e objetivo; gostaria de ver um artigo seu implementando o RAI 0 + 1, como voce disse o custo é alto mas o ganho é mais alto ainda.
[4] Comentário enviado por nigthwing em 16/07/2007 - 10:50h
só umas correções:
em Raid 3 vc diz que os dados são divididos entre todos os discos exceto um, reservado para paridade, e em Raid 4 vc diz que é muito semelhante ao 3, mas reserva um disco para paridade. Então, qual a diferença.
Outra: Paridade não é somar mais 1 bit em todos os bytes. Caso a quantidade de bits do byte seja impar, somá-se 1, caso seja par, deixa-se como está.
[5] Comentário enviado por chuckzor em 16/07/2007 - 10:59h
nightwing,
a diferença do RAID 3 para o 4 é a seguinte:
por ele usar um disco exclusivamente para paridade, no caso de falha de um dos discos é possível você realizar recuperação de dados em tempo real...
e bela curiosidade sobre o acréscimo de bit, não sabia hehe
:)
[6] Comentário enviado por agk em 16/07/2007 - 14:07h
Belo artigo, seria interessante a partir desse fazer algo num sentido mais prático, como:
Implementar raid em Linux durante a instalação do sistema, implementar raid em sistemas já instalados, como usar os recursos da raid quando ocorrer uma falha, simular falhas e realizar os testes para ver se realmente seu sistema com raid está funcionando adequadamente.
[8] Comentário enviado por nigthwing em 16/07/2007 - 15:53h
chuckzor, mas emambos os textos vc diz que usa um disco para a função, seria melhor dizer no primeiro que usa paridade e não um disco para isso, pois quem usa é o Raid 4.
[9] Comentário enviado por chuckzor em 16/07/2007 - 16:16h
mas em ambos ele usa um disco pra isso nightwing, só que no RAID 3 ele usa o menor tamanho de striping possível, o que pode causar uma lentidao maior na leitura/escrita de dados hehe. Mas acho que ficou mal expresso talvez no texto
[10] Comentário enviado por patrick_melo em 18/07/2007 - 10:17h
Cara, acho que só temos a agradecer e esperar mais artigos de qualidade como este.Seria interessante sequir o conselho do nosso amigo AGK, e publicar mais artigos sobre implantação do RAID....
[11] Comentário enviado por GilsonDeElt em 22/07/2007 - 13:11h
Cara, ficou bom seu artigo.
Fez uma abordagem simples e direta do RAID.
Mas acho que faltou um pouco...
Outro dia, pesquisando na net, achei algo como RAID 5, RAID 5+3, e alguns outros parecidos.
O conselho do agk é bom, seria ótimo saber melhor um pouco mais sobre RAID...