Os modos de operação


Um dos grandes atrativos do RAID é a possibilidade de escolher entre diferentes modos de operação, de acordo com a relação capacidade/desempenho/confiabilidade que você pretende atingir. As opções básicas
são:


RAID 0 (Striping)
: O RAID 0 é um “RAID pra inglês ver”, onde o objetivo é unicamente melhorar o desempenho, sacrificando a confiabilidade.

Ao usar o RAID 0, todos os HDs 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 e gravados simultaneamente, com cada HD realizando
parte do trabalho. Usando RAID 0 a performance fica em um patamar próximo da velocidade de todos os HDs somada. Ao usar 4 HDs com uma taxa de transferência e 50 MB/s (em leituras seqüenciais) em RAID 0, você teria uma taxa de transferência total de quase
200 MB/s em muitas situações.

Na verdade, a distribuição dos dados nos drives não é completamente uniforme. Os arquivos são divididos em fragmentos de tamanho configurável (opção “chunk size”, ou “stripe size”). Se você está utilizando 3 HDs em RAID 0, utilizando fragmentos de 32
KB, por exemplo, ao gravar um arquivo de 80 KB teríamos fragmentos de 32 KB gravados nos dois primeiros HDs e os 16 KB finais seriam gravados no terceiro, sendo que os 16 KB que “sobraram” no terceiro HD ficariam como espaço desperdiçado.

A configuração do stripe size, ou seja, do tamanho dos fragmentos, tem um efeito considerável sobre o desempenho. Se você usa predominantemente arquivos grandes, então um stripe size de 64 KB ou mais renderá os melhores resultados. Entretanto, no caso
de um servidor que manipula um grande volume de arquivos pequenos, valores mais baixos acabam resultando em um melhor desempenho e menos espaço desperdiçado.

Ao criar um array com 4 HDs de 500 GB em RAID 0, você teria um espaço total de armazenamento de 2 TB, onde toda a capacidade é dedicada ao armazenamento de dados, sem redundância:

HD 1

HD 2

HD 3

HD 4

Dados

Dados

Dados

Dados

O problema é que cada HD armazena apenas fragmentos de cada arquivo e não arquivos completos. Por causa dessa peculiaridade, caso qualquer um dos HDs apresente defeito, você simplesmente perde todos os dados.

O RAID 0 é possivelmente o mais usado em desktops e também em alguns servidores de alto desempenho. Ele é a melhor opção caso você queira o melhor desempenho possível e tenha como manter um backup atualizado dos dados gravados.

Assim como em outros modos RAID, não é realmente obrigatório usar HDs idênticos, mas isso é fortemente aconselhável, pois tanto a capacidade quanto o desempenho ficam limitados à capacidade do HD mais lento.

Ao utilizar um HD de 500 GB e outro de 300 GB em RAID 0, o sistema ignora os últimos 200 GB do HD maior, de forma que você acaba ficando com um total de 600 GB disponíveis. Os acessos também precisam ser sincronizados, de forma que ao utilizar um HD
com taxa de transferência máxima de 50 MB/s, em conjunto com 30 MB/s, você acaba tendo um máximo de 60 MB/s. Ou seja, utilizar dois HDs diferentes é possível, mas geralmente não é um bom negócio.


RAID 1 (Mirroring): Este modo permite usar dois HDs, sendo que o segundo armazenará uma imagem idêntica do primeiro. Na pratica, será como se você tivesse apenas um disco rígido instalado, mas caso o disco titular falhe por qualquer
motivo, você terá uma cópia de segurança armazenada no segundo disco. Este é o modo ideal se você deseja aumentar a confiabilidade do sistema.

Também é possível utilizar RAID 1 com quatro ou mais discos (desde que seja utilizado sempre um número par). Nesse caso, um dos discos de cada par é visto pelo sistema como um HD separado e o outro fica oculto, guardando a cópia atualizada do primeiro.
Ao utilizar 4 HDs de 500 GB em RAID 1, por exemplo, o sistema enxergaria 2 HDs, de 500 GB cada um:

HD 1

HD 2

HD 3

HD 4

Dados

Cópia (mirror)

Dados

Cópia (mirror)

Usar RAID 1 não proporciona qualquer ganho de desempenho. Pelo contrário, ele acaba causando uma pequena perda em comparação com usar um único drive, já que todas as alterações precisam ser duplicadas e realizadas em ambos os drives.

Caso um dos HDs titulares falhe, o segundo entra em ação automaticamente, substituindo-o até que você possa substituir o drive.

Uma dica é que, ao fazer RAID 1 utilizando discos IDE, procure colocar um em cada uma das duas interfaces IDE da placa, isto melhorará o desempenho. Outro ponto é que caso os dois discos estejam na mesma interface, como master e slave, você precisa
reiniciar o micro caso o primeiro falhe. Usando um em cada interface, a controladora fará a troca automaticamente, sem necessidade de reset. Da próxima vez que inicializar o micro você receberá um aviso pedindo para substituir o HD defeituoso.

Esse problema não afeta as controladoras SATA, já que nelas cada HD é ligado a uma porta separada, sem a divisão de master/slave como nos HDs IDE.

É importante ressaltar que o RAID 1 é um sistema dedicado a aumentar a disponibilidade, evitando que você tenha que desligar seu micro de trabalho ou servidor para restaurar um backup quando o HD falha. Ele não substitui os backups, pois protege apenas
contra falhas mecânicas do HD e não contra vírus e arquivos deletados acidentalmente. Assim que os arquivos são apagados no primeiro, a alteração é automaticamente replicada no segundo, fazendo com que ambas as cópias sejam perdidas. Também não existe
proteção contra roubo, falhas causadas por raios (os dois HDs podem ser danificados simultaneamente) e assim por diante.

Particularmente, não recomendo o uso de RAID 1 como proteção contra perda de dados fora dos servidores, pois ele acaba por criar um falso senso de segurança. O principal uso para o RAID 1, ou RAID 5, é aumentar a confiabilidade e o uptime de servidores
de rede, já que o servidor continua funcionando como se nada tivesse acontecido, mesmo que um dos HDs pife. Mas, mesmo nos servidores, nada substituiu os backups.

Ao invés de usar dois HDs em RAID 1, seus dados estarão mais seguros se você colocar o segundo HD numa gaveta USB e usá-lo para manter backups de todos os arquivos e dados pessoais. Deixe o HD desconectado do PC e, de preferência, guarde-o num local
separado ou carregue-o com você.

Na maioria das controladoras RAID SCSI e SAS é possível realizar a troca do HD defeituoso “a quente” (recurso chamado de “hot swap”), com o micro ligado, recurso não disponível nas controladoras RAID IDE e SATA. O suporte a hot swap não é tão
importante nos PCs domésticos já que um reset não toma mais do que dois ou três minutos do seu tempo, mas, em um servidor de alta disponibilidade, este recurso é essencial para evitar uma pane na rede.

RAID 10 (Mirror/Strip): Este modo pode ser usado apenas caso você tenha a partir de 4 discos rígidos e o módulo total seja um número par (6, 8, etc.). Neste modo, metade dos HDs serão usados em modo striping (RAID 0), enquanto a segunda metade
armazena uma cópia dos dados dos primeiros, assegurando a segurança.

Este modo é na verdade uma combinação do RAID 0 e RAID 1, daí o nome. O ponto fraco é que você sacrifica metade da capacidade total. Usando 4 HDs de 500 GB, por exemplo, você fica com apenas 1 TB de espaço disponível.


RAID 5
: Este modo é muito utilizado em servidores com um grande número de HDs. Ele utiliza um método bastante engenhoso para criar uma camada de redundância, sacrificando apenas uma fração do espaço total, ao invés de simplesmente usar metade dos HDs
para armazenar cópias completas, como no caso do RAID 1.

O RAID 5 usa um sistema de paridade para manter a integridade dos dados. Os arquivos são divididos em fragmentos de tamanho configurável e, para cada grupo de fragmentos, é gerado um fragmento adicional, contendo códigos de paridade.

Note que, ao invés de reservar um HD inteiro para a tarefa, os códigos de correção são espalhados entre os discos. Dessa forma, é possível gravar dados simultaneamente em todos os HDs, melhorando o desempenho.

O RAID 5 pode ser implementado com a partir de 3 discos. Independentemente da quantidade de discos usados, sempre temos sacrificado o espaço equivalente a um deles. Ou seja, quanto maior é a quantidade de discos usados no array, menor é a proporção de
espaço desperdiçado.

Em um sistema com 5 HDs de 500 GB, teríamos 2 TB de espaço disponível e 500 GB de espaço consumido pelos códigos de paridade. Usando 8 HDs teremos 3.5 TB para dados e os mesmos 500 GB para paridade, e assim por diante:

HD 1

HD 2

HD 3

HD 4

HD 5

80% dados

80% dados

80% dados

80% dados

80% dados

20% paridade

20% paridade

20% paridade

20% paridade

20% paridade

Graças à forma como os bits de paridade são dispostos, é possível recuperar os dados de qualquer um dos HDs que eventualmente falhe. Mais ainda, o sistema pode continuar funcionando normalmente, mesmo sem um dos HDs.

A idéia por trás dessa aparente “mágica” é bastante simples. A paridade consiste em adicionar um bit adicional para cada grupo de bits. Ao usar 5 HDs, por exemplo, 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. Isso é 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 5 cada um dos bits dentro de cada grupo fica guardado em um dos HDs. Quando um deles é perdido, a controladora sabe exatamente quais bits foram perdidos e tem condições de recuperá-los usando uma verificação 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.

Como disse, a controladora pode manter o sistema funcionando mesmo sem um dos HDs, realizando estes cálculos em tempo real para obter os dados que estavam armazenados nele. Quando o HD é finalmente substituído, a controladora reescreve todos os dados
(usando o mesmo processo) e o sistema volta ao estado original.

Existe também a possibilidade de adicionar um ou mais discos sobressalentes num array. Esses HDs “extra” são chamados de hot-spares, ou simplesmente de “spare disks” e são utilizados automaticamente caso algum dos HDs titulares falhe, permitindo que o
array seja restaurado imediatamente.

Embora o uso de hot-spares não seja muito comum em configurações domésticas, eles são muito comuns em grandes arrays RAID 5 (ou RAID 6) usados em grandes servidores.


RAID 6: O ponto fraco do RAID 5 é que ele suporta a falha de um único HD. Se por ventura um segundo HD falhar antes que o primeiro seja substituído, ou antes que a controladora tenha tempo de regravar os dados, você perde
tudo, assim como acontece ao perder um dos HDs num array RAID 0. O uso de hot-spares minimiza a possibilidade de um desastre acontecer, mas não a elimina completamente, pois de qualquer forma o sistema fica vulnerável enquanto a controladora está
regravando os dados no spare.

O RAID 6 é um padrão relativamente novo, suportado por apenas algumas controladoras. Ele é 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 7
HDs de 500 GB em RAID 6, por exemplo, teríamos 2.5 TB para dados mais 1 TB de códigos de paridade:

HD 1

HD 2

HD 3

HD 4

HD 5

HD 6

HD 7

71% dados

71% dados

71% dados

71% dados

71% dados

71% dados

71% dados

29% paridade

29% paridade

29% paridade

29% paridade

29% paridade

29% paridade

29% paridade

A percentagem de espaço sacrificado decai conforme são acrescentados mais discos, de forma que o uso do RAID 6 vai tornado-se progressivamente mais atrativo. No caso de um grande servidor, com 41 HDs, por exemplo, seria sacrificado o espaço equivalente
a apenas dois discos, ou seja, menos de 5% do espaço total. Em troca, ganha-se proteção contra a possibilidade de um segundo HD falhar durante o processo de substituição e reconstrução dos dados do primeiro.

Tanto no caso do RAID 5 quanto no RAID 6, o servidor continua funcionando normalmente durante todo o processo de substituição do disco, embora a performance decaia, sobretudo logo depois da substituição do drive defeituoso, quando o sistema precisa
regravar os dados, lendo as informações armazenadas em todos os outros discos e fazendo os cálculos de paridade.


JBOD
: Este não é um modo RAID, mas também é bastante usado, sobretudo em servidores de arquivos. No JBOD (Just a Bunch Of Disks) os HDs disponíveis são simplesmente concatenados e passam a ser vistos pelo sistema como um único disco, com a capacidade
de todos somada. Os arquivos são simplesmente espalhados pelos discos, com cada um armazenando parte dos arquivos (nesse caso arquivos completos, e não fragmentos como no caso do RAID 0).

No JBOD não existe qualquer ganho de desempenho, nem de confiabilidade. Caso um dos HDs apresente defeito, os arquivos armazenados nele são perdidos, mas os arquivos armazenados nos demais continuam intactos. Na verdade, o único ganho é o de
praticidade, com a possibilidade de usar vários discos para formar um único volume de grande capacidade, ao invés de ter que espalhar os arquivos e pastas entre os vários HDs.

Ao contrário dos outros modos RAID, não existe nenhum problema em combinar HDs com capacidades e desempenho variados num sistema JBOD. Cada HD pode dar sua parcela de contribuição, independentemente de sua capacidade.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X