TECNOLOGIA RAID

0
1579

 

Este artigo visa explicar os conceitos da tecnologia RAID, muito utilizada para operações críticas, onde não se pode perder dados ou ter serviços fora de funcionamento. Para um usuário normal, a perda de dados até que pode não fazer muita falta (mesmo que tenha, inclusive, valores sentimentais). Mas para empresas ou profissionais, a perda de informações pode significar prejuízos enormes. A tecnologia RAID, já consolidada e usada há alguns anos, é uma forma bastante eficiente de proteger informações e no caso de empresas, garantir a permanência de seus negócios.

O que é RAID

RAID é a sigla para Redundant Array of Inexpensive Disks. Sua definição em português seria “Matriz Redundante de Discos Independentes”. Trata-se de uma tecnologia que combina vários discos rígidos (HD) para formarem uma única unidade lógica, onde os mesmos dados são armazenados em todos (redundância). Em outras palavras, é um conjunto de HDs que funcionam como se fossem um só. Isso permite ter uma tolerância alta contra falhas, pois se um disco tiver problemas, os demais continuam funcionando, disponibilizando os dados. O RAID surgiu a mais de 15 anos, através de pesquisas na Universidade de Berkesley, na Califórnia, Estados Unidos.

Para que o RAID seja formado, é preciso utilizar pelo menos 2 HDs. O sistema operacional, neste caso, enxergará os discos como uma unidade lógica única. Quando há gravação de dados, os mesmos se repartem entre os discos do RAID (dependendo do nível). Com isso, além de garantir a disponibilidade dos dados em caso de falha de um disco, é possível também equilibrar o acesso às informações, de forma que não haja gargalos.

Nos sistemas atuais, a implementação do RAID pode se dar de três maneiras:

1. Através de Software no próprio equipamento onde está conectado um conjunto de discos (JBOD, sigla para Just a Bunch Of Disks), neste método o processador do próprio equipamento é sobrecarregado com o processamento relacionado ao método de RAID utilizado. Um exemplo típico seria um servidor com dois ou mais discos (geralmente hot-swap) ligados através de uma simples controladora SCSI ou mesmo IDE.

2. Utilizando uma controladora (HBA, Host Bus Adapter) conectado ao barramento do servidor, que gerencia e controla o conjunto de discos (JBOD) . Estas controladoras geralmente incluem módulos de memória para cachê, otimizando o acesso de leitura e gravação dos dados. O sistema operacional enxerga os volumes RAID transparentemente, como se fossem discos simples.

3. Utilizando um gabinete externo que contenha a controladora RAID e o JBOD. Neste modelo a unidade externa é conectada à uma controladora SCSI ou de FC (Fibre Channel), sendo reconhecida pelo sistema como um volume de discos simples. Alguns modelos permitem o gerenciamento por console serial e alguns até mesmo pela LAN, inclusive com interfaces HTTP.

Em um volume RAID, a informação é distribuída em Stripes. Um Stripe é um conjunto de setores de cada um dos discos do JBOD. Cada Stripe constitui uma célula individual de dados do volume RAID.

Os níveis de RAID

Existem diversos tipos de RAID, cada um com características próprias, e alguns tipos ainda podem ser agrupados. Segue a descrição dessas modalidades de RAID:

RAID nível 0 – Este nível também é conhecido como “Striping” ou “Fracionamento”. Nele, os dados são divididos em pequenos segmentos e distribuídos entre os discos. Este nível não oferece tolerância a falhas, pois não existe redundância. Isso significa que uma falha em qualquer um dos HDs pode ocasionar perda de informações. Por essa razão, o RAID 0 é usado para melhorar a performance do computador, uma vez que a distribuição dos dados entre os discos proporciona grande velocidade na gravação e leitura de informações. Quanto mais discos houver, mais velocidade é obtida. Isso porque, se os dados fossem gravados em um único disco, esse processo seria feito de forma seqüencial. Com o RAID, os dados cabíveis a cada disco são gravados ao mesmo tempo. O RAID 0, por ter estas características, é muito usado em aplicações de CAD e tratamento de imagens e vídeos.

Segue um esquema de um volume RAID 0 com 5 discos:

Stripe Disco 1 Disco 2 Disco 3 Disco 4 Disco 5
A 1 2 3 4 5
B 6 7 8 9 10
C 11 12 13 14 15
D 16 17 18 19 20
E 21 22 23 24 25

Nessa tabela, as letras identificam cada um dos stripes do volume RAID, e cada um dos números são os blocos do stripe que são distribuídos por cada disco do JBOD. Esses blocos são chamados de chunks.

RAID nível 1 – também conhecido como “Mirroring” ou “Espelhamento”, o RAID 1 funciona adicionando HDs paralelos aos HDs principais existentes no computador. Assim, se por exemplo, um computador possui 2 discos, pode-se aplicar mais um HD para cada um, totalizando 4. Os discos que foram adicionados, trabalham como uma cópia do primeiro. Assim, se o disco principal recebe dados, o disco adicionado também os recebe. Daí o nome de “espelhamento”, pois um HD passa a ser uma cópia praticamente idêntica do outro. Dessa forma, se um dos HDs apresentar falha, o outro imediatamente pode assumir a operação e continuar a disponibilizar as informações. A conseqüência neste caso, é que a gravação de dados é mais lenta, pois é realizada duas vezes. No entanto, a leitura dessas informações é mais rápida, pois pode-se acessar duas fontes. Por esta razão, uma aplicação muito comum do RAID 1 é seu uso em servidores de arquivos.

Segue um esquema de um volume RAID 1:

Setor Disco 1 Disco 2
#0A 1 1
#0B 2 2
#0C 3 3
#0D 4 4
#0E 5 5
#0F 6 6
RAID nível 2 – este tipo de RAID, adapta o mecanismo de detecção de falhas em discos rígidos para funcionar em memória. Assim, todos os discos da matriz ficam sendo “monitorados” pelo mecanismo. Atualmente, o RAID 2 é pouco usado, uma vez que praticamente todos os discos rígidos novos saem de fábrica com mecanismos de detecção de falhas implantados.

RAID nível 3 – neste nível, os dados são divididos entre os discos da matriz, exceto um, que armazena informações de paridade. Assim, todos os bytes dos dados tem sua paridade (acréscimo de 1 bit, que permite identificar erros) armazenada em um disco específico. Através da verificação desta informação, é possível assegurar a integridade dos dados, em casos de recuperação. Por isso e por permitir o uso de dados divididos entre vários discos, o RAID 3 consegue oferecer altas taxas de transferência e confiabilidade das informações. Para usar o RAID 3, pelo menos 3 discos são necessários.

Segue um esquema descrevendo um volume RAID 3:

Stripe Disco 1 Disco 2 Disco 3 Disco 4 Disco 5
A 1 1 1 1 P
B 2 2 2 2 P
C 3 3 3 3 P
D 4 4 4 4 P
E 5 5 5 5 P

RAID nível 4 – este tipo de RAID, basicamente, divide os dados entre os discos, sendo que um é exclusivo para paridade. A diferença entre o nível 4 e o nível 3, é que em caso de falha de um dos discos, os dados podem ser reconstruídos em tempo real através da utilização da paridade calculada a partir dos outros discos, sendo que cada um pode ser acessado de forma independente. O RAID 4 é indicado para o armazenamento de arquivos grandes, onde é necessário assegurar a integridade das informações. Isso porque, neste nível, cada operação de gravação requer um novo cálculo de paridade, dando maior confiabilidade ao armazenamento (apesar de isso tornar as gravações de dados mais lentas).

Segue um esquema de um sistema com RAID 4, com 4 discos para dados, um de paridade e um de hot spare:

Stripe Disco 1 Disco 2 Disco 3 Disco 4 Disco 5 Disco 6 (spare)
A 1 2 3 4 P –
B 5 6 7 8 P –
C 9 10 11 12 P –
D 13 14 15 16 P –
E 17 18 19 20 P –
RAID nível 5 – este é muito semelhante ao nível 4, exceto o fato de que a paridade não fica destinada a um único disco, mas a toda a matriz. Isso faz com que a gravação de dados seja mais rápida, pois não é necessário acessar um disco de paridade em cada gravação. Apesar disso, como a paridade é distribuída entre os discos, o nível 5 tende a ter um pouco menos de performance que o RAID 4. O RAID 5 é o nível mais utilizado e que oferece resultados satisfatórios em aplicações não muito pesadas. Este nível precisa de pelo menos 3 discos para funcionar.

Segue um esquema de um sistema RAID 5, com 6 discos, note que a paridade é distribuída sequencialmente entre os discos de dados do JBOD, não existindo um disco exclusivo com essa finalidade:

Stripe Disco 1 Disco 2 Disco 3 Disco 4 Disco 5 Disco 6
A 1 2 3 4 5 P
B 7 8 9 10 P 6
C 13 14 15 P 11 12
D 19 20 P 16 17 18
E 25 P 21 22 23 24

RAID 50 – O RAID 50 é a construção de um volume RAID 0 distribuído em diversos (dois ou mais) volumes RAID 5, de forma a aumentar o número de manipuladores envolvidos nas operações de acesso aos volumes.

RAID 0 + 1 – O RAID 0 + 1 é uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os dados são divididos entre os discos para melhorar o rendimento, mas também utilizam outros discos para duplicar as informações. Assim, é possível utilizar o bom rendimento do nível 0 com a redundância do nível 1. No entanto, é necessário pelo menos 4 discos para montar um RAID desse tipo. Tais características fazem do RAID 0 + 1 o mais rápido e seguro, porém o mais caro de ser implantado. A ilustração abaixo ilustra este tipo de RAID:

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.

Tipos de RAID

Existem 2 tipos de RAID, sendo um baseado em hardware e o outro baseado em software. Cada uma possui vantagens e desvantagens. O primeiro tipo é o mais utilizado, pois não depende de sistema operacional (pois estes enxergam o RAID como um único disco grande) e são bastante rápidos, o que possibilita explorar integralmente seus recursos. Sua principal desvantagem é ser um tipo caro inicialmente. A foto ao lado mostra um poderoso sistema RAID baseado em hardware. Repare que na base da direita estão armazenados vários discos:

O RAID baseado em hardware, utiliza dispositivos denominados “controladores RAID”, que podem ser, inclusive, conectados em slot PCI da placa-mãe do computador. Já o RAID baseado em software não é muito utilizado, pois apesar de ser menos custoso, é mais lento, possui mais dificuldades de configuração e depende do sistema operacional para ter um desempenho satisfatório. Este tipo ainda fica dependente do poder de processamento do computador em que é utilizado.

Conclusão

A tecnologia RAID é um dos principais conceitos quando o assunto é armazenamento de dados. Sua eficiência é comprovada por se tratar de uma tecnologia em uso há vários anos e que mesmo assim “não sai de moda”. Grandes empresas, como a Intel, oferecem soluções de RAID e essa tecnologia é possível de ser encontrada até mesmo em computadores domésticos. É muito provável que o RAID ainda venha a apresentar novos meios de funcionalidades, ampliando seu uso para os mais diversos tipos de necessidade de armazenamento e acesso à dados.

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here