RAID
RAID, sigla de redundant array of independent disks (Conjunto
Redundante de Discos Independentes), e com pelo menos dois discos rígidos você
pode montar um arranjo RAID de modo a aumentar capacidade/desempenho/confiabilidade que você pretende
atingir.
RAID 0 (Striping)
É um RAID, onde o objetivo é unicamente melhorar o
desempenho, sacrificando a confiabilidade.
Ao usar o RAID 0,
todos os HD’s 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 todos os 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.
Ao criar um RAID 0 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.
O problema é que todos os HD armazenam
apenas fragmentos de cada arquivo e não arquivos completos. Por causa desta
peculiaridade, caso qualquer um dos HD’s 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)
O RAID 1 (Mirroring) usando dois HDs, 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). Neste caso, um dos discos de
cada par é visto pelo sistema como um HD separado e o outro ficam ocultos,
guardado 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.
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.
Este 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.
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ê.
RAID 5 (Parity Across Disks)
O RAID 5 é um modo é muito utilizado em servidores com um
grande número de HD’s. 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 HD’s 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. Desta 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.
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 desta
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.
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 têm condições de
recuperá-los usando uma verificação muito simples. 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.
RAID 6
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.
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 armazenados em todos os outros discos e fazendo
os cálculos de paridade.
RAID 10
O RAID 10 (Mirror/Strip) é um modo que 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. No RAID 10 você obtém o dobro de desempenho
que em um HD sozinho, mas sem abrir mão da segurança.