Imagine
que seu servidor Web recentemente caiu devido a falha no disco rígido, e levou
várias horas para colocá-lo no ar de novo rodando sem problemas. Dependendo de
quão críticas são é a necessidade de disponibilidade do servidor, você não
irá querer que isto aconteça novamente, e daí resolve estudar e investir em
atualização do servidor para possuir maior "tolerância a falhas".
Uma das melhores soluções em custo-benefício
é a utilização da tecnologia RAID para seu sub-sistema de disco.
RAID: definição
RAID é a sigla para "Redundant Array of Inexpensive Disks". Um
time de pesquisadores da Universidade de Berkeley na California foram os que
publicaram um estudo definindo o RAID e os 6 (seis) níveis que a tecnologia
usa. A tecnologia envolvida nesta reoria possui um princípio bem simples:
através da combinação de uma matriz de discos "pequenos", não
muito caros, um administrador poderá gravar dados com redundância para prover
tolerância a falhas a um servidor.
Sobre os "níveis" de RAID
Existem 6 (seis) níveis na arquitetura RAID, apesar de um destes níveis na
realidade ser não-redundante e portanto não-tolerante a falhas. Seguem as
definições dos diferentes níveis de RAID:
RAID Nível 0
Este nível também é conhecido como "striping". Os dados do computador
são divididos entre diversos discos disponíveis, o que oferece alta
performance de transferência de dados, porém não oferece redundância. (Veja
a Figura A.) A perda de dados irá acontecer quando houver falha em algum
disco. O nível 0 pode ser usado para estações de alta performance, porém
não é indicado para sistemas tipo missão-crítica.
Figura A |
|
RAID Nível 1
O nível 1 também é conhecido como "espelhamento". Os dados do
computador são divididos e gravados em 2 ou mais discos ao mesmo tempo,
oferecendo portanto redundância dos dados e fácil recuperção, com proteção
contra falha em disco. (Veja a Figura B) A operação com dados neste
nível possuem tendência de serem gravados mais lentamente, porém com leitura
rápida.
Figura B |
|
RAID Nível 2
Este nível de RAID (Figura C) é direcionado para uso em discos que não
possuem detecção de erro de fábrica. O Nível 2 é muito pouco usado uma vez
que os discos modernos já possuem de fábrica a detecção de erro embutida.
Figura C |
|
RAID Nível 3
O RAID nível 3 divide os dados, a nível de byte, entre múltiplos discos. (Veja
a Figura D) A paridade é gravada em um disco em separado. Para
efetivamente usar este nível, o hardware deverá possuir este tipo de suporte
implementado. Ele é muito parecido com o nível 4.
Figura D |
|
RAID Nível 4
O nível 4 divide os dados, a nível de "blocos", entre múltiplos
discos. (Veja Figura E) A paridade é gravada em um disco separado. Os
níveis de leitura são comparáveis ao nível 0; entretanto a gravação requer
que a paridade seja atualizada a cada vez que ocorrer alguma gravação,
tornando mais lenta a gravação randômica.
Figura E |
|
RAID Nível 5
Este nível de RAID é comparável ao nível 4, mas ao invés de gravar a
paridade em um disco separado, ela é distribuída entre os discos disponíveis.
(Veja Figura F) O nível 5 aumenta a velocidade em gravações pequenas,
uma vez que não há um disco separado de paridade como gargalo. Porém como o
dado de paridade tem que ser distribuído entre todos os discos disponíveis,
durante a leitura, a performance possui tendência de ser um pouco mais lenta
que a do nível 4. Ao menos 3 ou mais discos (normalmente utiliza-se 5) devem
ser usados neste nível.
Figura F |
|
O que é "striping"?
Striping é o método usado no RAID para combinar todos os discos separados em
um único "volume" de armazenamento. Dividindo as partições dos
discos em "tiras", nas quais os dados são escritos em uma seqüência
rotacional. A Figura G mostra um exemplo.
Figura G |
|
Usando o RAID para tolerância a falhas
Os níveis de RAID que são mais comumente utilizados para tolerância a falhas
são os RAID 1 e RAID 5. RAID 1 possui duas variantes comuns. A primeira é a
mencionada acima, na qual uma controladora de disco gerencia múltiplos discos.
Isto é chamado "espelhamento de disco". A outra opção é o
"disk
duplexing", na qual múltiplas controladoras de disco gerenciam
multiplos discos. Isto aumento o tempo de gravação assim como o tempo de
leitura e garante que a controladora não seja um ponto único sujeito a falhas.
RAID 5 é também um gerenciamento de
tolerância a falhas muito popular. O RAID 5 pode estar envolvido com um grande
número de discos. Quanto mais discos você usar, mais eficiente será o RAID 5.
Este nível de RAID é muito utilizado em servidores de grandes corporações.
Bom, com isto, você já possui um início de
compreensão de RAID e tecnologias de redundância e tolerância a falhas. Caso
suas instalações demandem segurança e eliminação de riscos de perda de
dados, você deverá procurar mais informações sobre implantação da
tecnologia RAID, juntamente com outras tecnologias como "Hot Swap",
"Hot Swap RAID", etc.