RAID em HDs SCSI

Atualmente, o disco rígido e um dos componentes mais lentos em qualquer PC. Muito mais lento que o processador, que a memória RAM, que a placa de vídeo, etc.

O grande problema é que devido à sua natureza mecânica, não é possível produzir HDs muito mais rápidos com a tecnologia atual, pelo menos a um custo aceitável. No futuro este problema poderá ser resolvido com o uso de HDs de estado sólido, onde será
usada memória Flash (ou outra tecnologia que surja nos próximos anos) ao invés de discos magnéticos. De qualquer forma, esta ainda é uma solução distante da realidade. Os HDs de estado sólido já existem para uso militar e em alguns servidores de alto
desempenho, mas seu custo é muito alto, entre 2 e 5 dólares por MB.

Para quem precisa de HDs mais rápidos, seja por precisar de um servidor de arquivos parrudo, ou por qualquer outro motivo, mas ao mesmo tempo não pode gastar muito, uma solução é o RAID.

RAID significa “Redundant Array of Inexpensive Disks”, ou disposição redundante de discos baratos. A idéia é um sistema “unidos venceremos”, onde vários HDs são combinados para aumentar a performance. Num nível mais complexo, o RAID pode ser usado
também para melhorar a confiabilidade do equipamento, através de espelhamento ou paridade. Num sistema RAID 1, onde temos dois HDs, sendo que o segundo armazena uma cópia fiel dos dados do primeiro, mesmo que um dos HDs pife de uma hora pra outra, o
sistema continua intacto, funcionando como se nada tivesse acontecido.

Como o nome sugere, um sistema RAID utiliza HDs IDE ou SCSI comuns, o que permite construir sistemas com vários HDs a um custo relativamente baixo. Várias placas mãe atuais estão vindo com controladoras RAID IDE embutidas, permitindo combinar até 4 HDs
IDE.

A pouco falei sobre como montar um sistema RAID usando HDs IDE, agora é a vez de explicar sobre o RAID usando HDs SCSI.

O primeiro passo para montar um sistema RAID SCSI é comprar uma controladoras SCSI com suporte a RAID. A maioria das controladoras SCSI atuais suportam RAID, custando (no Brasil) apartir de 150 dólares. As controladoras diferenciam-se pelos recursos.
Em primeiro lugar, existem controladoras SCSI de 8 bits e de 16 bits, as de 8 bits permitem usar até 7 HDs, enquanto as de 16 bits permitem um máximo de 15 e são duas vezes mais rápidas.

Outra diferença diz respeito ao padrão suportado pela placa, que dita a velocidade da interface. Placas Ultra SCSI (Fast 20) operam a 20 MB/s (placas de 8 bits) ou 40 MB/s (placas de 16 bits). Placas Ultra-2 SCSI (Fast 40) operam a 40 MB/s (8 bits) ou
80 MB/s (16 bits). As placas Ultra-3 SCSI (Fast 80) são as mais rápidas. operam a 80 MB/s ou 160 MB/s.

Também existem controladoras com buffer embutido. Este buffer funciona como um cache de disco, melhorando a performance, principalmente nas operações de escrita. Podem ser encontradas placas com até 32 MB de buffer. Naturalmente, quanto mais buffer,
mais cara a placa.

Resolvido o problema da placa SCSI, resta escolher qual modo RAID será usado. O modo pode ser configurado através do BIOS da placa SCSI, que pode ser acessado pressionando uma combinação de teclas durante o boot. O mais comum é Ctrl + C.

Os modos RAID disponíveis em placas SCSI são:

RAID 0 (Striping): É o modo que permite obter a melhor performance possível, sacrificando parte da confiabilidade. Todos os discos passam a ser acessados como se fossem um único drive. Ao serem gravados, os arquivos são fragmentados nos vários
discos, permitindo que os fragmentos possam ser lidos/gravados ao mesmo tempo. Usando RAID 0 a performance um patamar próximo da velocidade de todos os HDs somada. Ao usar 4 HDs com taxa de transferência de 20 MB/s cada em RAID 0, você teria uma taxa de
transferência total de 75, 76 MB/s. O problema é que caso qualquer um dos HDs apresente problema, serão perdidos os dados armazenados em todos os HDs, já que qualquer arquivo torna-se inútil caso uma parte do código seja perdida.

RAID 1 (Mirroring): É o famoso sistema de espelhamento, conseguido usando dois HDs. Um deles armazena dados, enquanto o seguindo armazena uma cópia fiel dos mesmos dados. Caso qualquer um dos HDs pare, ele é automaticamente substituído pelo seu
“clone” e o sistema continua intacto. Na maioria das controladoras RAID SCSI é possível realizar a troca do HD defeituoso “a quente”, com o micro ligado, recurso ainda não disponível nas controladoras RAID IDE.

Esta troca à quente não é tão importante nos PCs domésticos já que depois de tantos paus do Windows 95/98/ME ninguém mais se importa em reiniciar o micro de vez em quanto. Mas, num servidor de alta disponibilidade este recurso é essencial para evitar
uma pane na rede.

RAID 2: É um modo que não é mais utilizado. O RAID 2 consiste em embutir códigos de correção de erros em cada cluster de dados gravado. Porém, todos os HDs atuais já vem com sistemas de correção de erros embutidos, tornando o sistema
obsoleto.

RAID 3: O RAID 3 usa um sistema de paridade para manter a integridade dos dados. Num sistema com 5 HDs, o 4 primeiros servirão para armazenar dados, enquanto o último armazenará os códigos de paridade.

Nos 4 primeiros drives temos na verdade um sistema RAID 0, onde os dados são distribuídos entre os 4 HDs e a performance é multiplicada por 4. Porém, os códigos armazenados no 5º HD permitem recuperar os dados caso qualquer um dos 4 HDs pare. A
recuperação é feita usando os códigos de correção de erros combinados com os dados distribuídos nos outros HDs.

É possível aplicar o RAID 3 a sistemas com mais HDs, sendo que sempre um armazenará os códigos de correção. Claro que este sistema funciona apenas caso apenas um HD apresente problemas, caso dê-se o azar de dois ou mais HDs apresentarem problemas ao
mesmo tempo, ou antes da controladora terminar a reconstrução dos dados, novamente perdem-se todos os dados de todos os HDs.

Você pode perguntar, como é possível recuperar todos os dados, armazenados nos 4 HDs com apenas um HD de códigos de paridade. Na verdade, a idéia por trás desta aparente mágica é bastante simples.

A paridade consiste em adicionar um bit adicional para cada grupo de bits. Na memória RAM, existe um bit de paridade para cada 8 bits de dados, enquanto no RAID 3 temos um bit extra para cada 4 bits de dados.

Caso dentro destes 4 bits exista um número par de bits 1, então o bit de paridade é 0. Caso exista um número ímpar de bits 1, então o bit de paridade é 1:

Bits

Paridade

1

0

1

0

0

1

1

1

0

1

0

0

0

0

0

1

0

0

1

0

Veja que graças ao bit de paridade é possível saber apenas que, dentro do grupo de 4 bits existe um número par ou ímpar de bits 1. Mas, isso já é o suficiente para recuperar qualquer um dos 4 bits que seja perdido, desde que sejam respeitadas duas
condições:

a) Que apenas um bit de cada grupo seja perdido

b) Que se saiba qual dos bits foi perdido

No RAID 3 cada um dos bits dentro de cada grupo fica guardado em um HD. Quando um dos HDs pára de funcionar, a controladora sabe exatamente quais bits foram perdidos e têm condições de recuperá-los com uma continha muito simples:

Bits

Paridade

1

?

1

0

0

1

?

1

0

1

0

?

0

0

0

1

?

0

1

0

Na primeira linha temos dois bits 1 e um bit 0. Se o bit de paridade é 0, significa que temos um número par de bits 1. Como já temos dois bits 1, então é claro que o bit que está faltando é um zero. Na segunda linha temos dois bits 1 e um bit 0. Como o
bit de paridade é 1, significa que temos um número ímpar de bits 1. Como temos apenas dois, significa que o bit perdido é um bit 1.

Tudo o que a controladora precisa fazer para recuperar os dados é repetir este cálculo até recuperar todos os dados. Para um computador isto é bem simples. O único problema é que quando um dos HDs pára de funcionar a máquina também fica paralizada.
Apenas depois que o HD for substituído e que a controladora tiver tempo de terminar de recuperar os dados é que o sistema volta a funcionar normalmente.

Em sistemas de operação crítica, onde a máquina não pode ficar fora do ar por mais do que alguns segundos, este sistema não é o suficiente.

RAID 4: Este modo é parecido com o RAID 3, novamente um dos discos é dedicado à tarefa de armazenar os códigos de paridade, mas a forma como os dados são gravados nos demais discos é diferente. No RAID 3 os dados são divididos, sendo cada
fragmento salvo em um disco diferente. Isto permite ganhar velocidade tanto na gravação quanto na leitura dos dados.

No RAID 4 os dados são divididos em blocos, pedaços bem maiores do que no RAID 3. Com isto, é possível ler vários arquivos ao mesmo tempo, o que é útil em algumas aplicações, porém o processo de gravação é bem mais lento que no RAID 3. O RAID 4
apresenta um bom desempenho em aplicações onde seja preciso ler uma grande quantidade de arquivos pequenos. No RAID 4 o tempo de reconstrução dos dados caso um dos HDs falhe é bem maior do que no RAID 3.

RAID 5: É mais um sistema que baseia-se no uso de paridade para garantir a integridade dos dados caso um HD falhe. A diferença sobre o RAID 3 é que ao invés de dedicar um HD a esta tarefa, os dados de correção são espalhados entre os discos. A
vantagem sobre o RAID 3 é alcançar taxas de leitura um pouco mais altas, pois será possível ler dados apartir de todos os HDs simultaneamente, entretanto as gravações de dados são um pouco mais lentas.

O RAID 5 pode ser implementado com apartir de 3 discos. Apesar dos dados de paridade serem espalhados pelos discos, o espaço esquivamente à um dos HDs é consumido por eles. Usando 4 HDs de 20 GB cada um, teremos 60 GB para dados e 20 GB para os códigos
de paridade. Usando 8 HDs teremos 140 GB para dados e os mesmos 20 GB para paridade, e assim por diante.

RAID 6: É um padrão relativamente novo, suportado por apenas algumas controladoras. É semelhante ao RAID 5, porém usa o dobro de bits de paridade, garantindo a integridade dos dados caso até 2 dos HDs falhem ao mesmo tempo. Ao usar 8 HDs de 20
GB cada um em RAID 6, teremos 120 GB de dados e 40 GB de paridade.

RAID 10: Este sistema combina características do RAID 0 e RAID 1, daí o nome. O RAID 10 pode ser implementando em sistemas com 4 discos ou mais, sendo obrigatório um número par (6, 8, etc.). Metade dos discos armazena dados e a outra metade
armazena uma cópia. A metade que armazena dados é combinada, formando um sistema RAID 0, aumentando a performance, porém mantendo a confiabilidade, já que temos cópias de todos os dados. Usando 4 HDs de 20 GB em modo 10, teremos 40 GB de dados e o dobro
de desempenho que em um HD sozinho.

RAID 53 (ou 5+3): Ao contrário do que o nome sugere, este modo é uma combinação dos modos 3 e 1. O RAID 53 pode ser implementado em sistemas com pelo menos 5 HDs. Os dois primeiros HDs formam um sistema RAID 3, com os dados distribuídos entre
eles. Os dois HDs seguintes formam um sistema RAID 0, enquanto o último armazena códigos de paridade de todos. Este sistema apresenta um balanço entre as boas taxas de transferência do RAID 3 e a boa performance ao ler vários arquivos pequenos do RAID 0.
Porém, não existe 100% de garantia de recuperar todos os dados caso um dos HDs falhe. É um modo pouco usado.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X