Redundância e RAID

Redundância significa ter componentes “de reserva”, a postos para substituir o principal caso ele falhe por qualquer motivo. Existem fontes redundantes, arrays de discos redundantes e até mesmo servidores redundantes, onde temos dois servidores completos, sincronizados em tempo real, onde o segundo servidor monitora o primeiro e assume suas funções em caso de problemas.

As fontes redundantes são chamadas de RPS (Redundant Power Supply) e se baseiam no uso de módulos substituíveis. Para servidores menores, é mais comum o uso de fontes 1×1, onde temos dois módulos independentes e um circuito central, que monitora as tensões e ativa o segundo módulo em caso de problemas com o primeiro. Para servidores que precisam de mais do que 350 ou 400 watts de energia, é comum o uso de fontes 2×1, onde são usados três módulos, onde dois deles fornecem energia ao servidor (o que permite somar as capacidades) e o terceiro módulo fica de reserva para o caso qualquer um dos dois falhar:

Naturalmente, fontes redundantes são consideravelmente mais caras, não apenas porque os circuitos são todos duplicados, mas também por que elas precisam ser muito mais compactas do que uma fonte tradicional, já que temos essencialmente duas ou três fontes no espaço de uma.

Na maioria dos casos, os módulos podem ser substituídos a quente (hot-swap), sem necessidade de desligar o servidor. Um alarme sonoro ou visual avisa do problema, permitindo que o administrador substitua o módulo defeituoso assim que possível.

No caso dos discos rígidos, temos os diferentes modos de operação do RAID, que permitem adicionar redundância (sacrificando parte do espaço disponível), aumentar o desempenho (fazendo com que o sistema use os HDs simultaneamente, dividindo as operações entre eles), ou ambas as coisas combinadas.

De acordo com o número de HDs disponíveis e os recursos oferecidos pelo sistema operacional usado, os modos RAID disponíveis são:


RAID 0 (Striping)
: No 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. Isso permite melhorar brutalmente a taxa de leitura e de gravação e continuar usando 100% do espaço disponível nos HDs. O problema é que no RAID 0 não existe redundância. Os HDs armazenam fragmentos de arquivos, e não arquivos completos. Sem um dos HDs, a controladora não tem como reconstruir os arquivos e tudo é perdido. Isso faz com que o modo RAID 0 seja raramente usado em servidores.

RAID 1 (Mirroring): No RAID 1 são usados dois HDs (ou qualquer outro número par). O primeiro HD armazena dados e o segundo armazena um cópia exata do primeiro, atualizada em tempo real. Se o primeiro HD falha, a controladora automaticamente chaveia para o segundo HD, permitindo que o sistema continue funcionando. Em servidores é comum o uso de HDs com suporte a hot-swap, o que permite que o HD defeituoso seja substituído a quente, com o servidor ligado. A desvantagem em usar RAID 1 é que metade do espaço de armazenamento é sacrificado.

RAID 10 (Mirror/Strip): Este modo combina os modos 0 e 1 e pode ser usado com a partir de 4 HDs (ou outro número par). Metade dos HDs são usados em modo striping (RAID 0), enquanto a segunda metade armazena uma cópia dos dados dos primeiros, oferecendo redundância.

RAID 5: Este é o modo mais utilizado em servidores com um grande número de HDs. O RAID 5 usa um sistema de paridade para manter a integridade dos dados. Os arquivos são divididos em fragmentos e, para cada grupo de fragmentos, é gerado um fragmento adicional, contendo códigos de paridade. 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 usado com a partir de 3 discos. Independentemente da quantidade de discos usados, sempre temos sacrificado o espaço equivalente a um deles. Em um NAS com 4 HDs de 1 TB, por exemplo, você ficaria com 3 TB de espaço disponível; em um servidor com 10 HDs de 1 TB, você ficaria com 9 TB disponíveis e assim por diante. Os dados continuam seguros caso qualquer um dos HDs usados falhe, mas se um segundo HD falhar antes que o primeiro seja substituído (ou antes que a controladora tenha tempo de regravar os dados), todos os dados são perdidos. Você pode pensar no RAID 5 como um RAID 0 com uma camada de redundância.

RAID 6: O RAID 6 dobra o número de bits de paridade, eliminando o ponto fraco do RAID 5, que é a perda de todos os dados caso um segundo HD falhe. No RAID 6, a integridade dos dados é mantida caso dois HDs falhem simultaneamente, o que reduz brutalmente as possibilidades matemáticas de perda de dados.

A percentagem de espaço sacrificado decai conforme são acrescentados mais discos, de forma que o uso do RAID 6 vai tornando-se progressivamente mais atrativo. No caso de um grande servidor, com 20 HDs, por exemplo, seria sacrificado o espaço equivalente a apenas dois discos, ou seja, apenas 10% do espaço total. O maior problema é que o RAID 6 exige o uso de algoritmos muito mais complexos por parte da controladora, de forma que ele não é suportado por todos os dispositivos.


JBOD
: 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, ele é apenas uma forma simples de juntar vários HDs de forma a criar uma única unidade de armazenamento. Ele não é uma boa opção para armazenamento de dados importantes, mas pode ser usado para tarefas secundárias, como no caso de servidores de backup.

Como pode ver, o uso dos modos RAID, sobretudo o RAID 5 e o RAID 6 exige uma boa dose de processamento, já que é necessário calcular os códigos de paridade (entre outras operações) em tempo real, conforme os dados são gravados. Existem três categorias de RAID: RAID via hardware, RAID via software e fake-RAID. A grande diferença entre eles é justamente sobre em quem recai o trabalho.

No RAID via hardware é utilizada uma controladora dedicada, que realiza todas as funções. Este modo é o ideal tanto do ponto de vista do desempenho quanto do ponto de vista da compatibilidade e confiabilidade, já que a própria controladora executa todas as funções necessárias, de forma independente. A única desvantagem é o custo, já que uma boa controladora, destinada a uso em servidores, custa a partir de US$ 300.

O RAID via software é executado pelo próprio sistema operacional, sem necessidade de nenhum hardware adicional. É possível criar arrays RAID via software tanto no Linux quanto no Windows 2000, XP, 2003 Server e Vista, utilizando HDs ligados às próprias interfaces SATA da placa-mãe.

O fake-RAID é o modo utilizado pela maioria das controladoras RAID onboard, sobretudo nos micros desktop. Nele é utilizada uma combinação de funções adicionais no BIOS da placa e um driver que roda pelo sistema operacional. No final, tudo é processado via software, de forma que não existe ganho de desempenho em relação a utilizar RAID via software. Apenas a configuração é simplificada.

O procedimento de troca dos HDs defeituosos varia de acordo com os recursos oferecidos pela controladora. Ao utilizar RAID via software ou uma controladora fake-RAID, o processo de substituição do HD é inteiramente manual. Você precisa desligar o servidor, substituir o HD, ligar novamente o servidor, acessar a interface de gerenciamento e recriar o array, processo no qual a controladora reconstrói os dados usando os bits de paridade (no caso do RAID 5) ou copia os dados armazenados no segundo HD (no caso do RAID 1). Ou seja, os dados são preservados, mas é necessário desativar o servidor temporariamente, o que resulta em downtime.

Para permitir que o servidor continue funcionando continuamente, é necessário usar uma controladora dedicada, que ofereça suporte a hot-swap e seja capaz de reconstruir o array automaticamente após a substituição do HD defeituoso (recurso chamado de “automatic array rebuilding”), além de um gabinete que ofereça baias removíveis para os HDs:

As três coisas somadas permitem que os HDs sejam substituídos rapidamente, sem desligar o servidor e sem interrupção no serviço. Outro recurso desejado é o “hot drive sparing”, que permite utilizar um drive extra (hot-spare), usado automaticamente pela controladora em caso de falha de qualquer um dos drives do array, minimizando a possibilidade de perda de dados.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X