2.2. Configuração de RAID de software

A finalidade do RAID (redundant array of independent disks) é combinar várias partições de disco rígido em um grande disco rígido virtual para otimizar o desempenho, a segurança dos dados ou ambos. A maioria das controladoras RAID usa o protocolo SCSI porque ele é capaz de lidar com um grande número de discos rígidos com mais eficiência que o protocolo IDE, além de ser mais apropriado para o processamento de comandos em paralelo. Algumas controladoras RAID suportam discos rígidos IDE ou SATA. O RAID de software fornece as vantagens de sistemas RAID sem o custo adicional de controladoras RAID de hardware. Porém, isso exige algum tempo de CPU e tem requisitos de memória que o tornam inadequado para computadores de alto desempenho.

2.2.1. Níveis de RAID

O SUSE Linux oferece a opção de combinar vários discos rígidos em um sistema RAID de software com a ajuda do YaST, uma alternativa bastante razoável ao RAID de hardware. O RAID requer diversas estratégias para a combinação de vários discos rígidos em um sistema RAID, cada uma delas com diferentes objetivos, vantagens e características. Essas variações geralmente são conhecidas como níveis de RAID.

Os níveis de RAID comuns são:

RAID 0

Esse nível melhora o desempenho do acesso aos dados dividindo blocos de cada arquivo entre várias unidades de disco. Na verdade, isso não é realmente um RAID, porque não oferece backup dos dados, mas o nome RAID 0 para esse tipo de sistema tornou-se uma norma. Com o RAID 0, dois ou mais discos rígidos são unidos em um pool. O desempenho é muito bom, mas, em caso de falha até mesmo de um disco rígido, o sistema RAID é destruído e seus dados são perdidos.

RAID 1

Esse nível fornece a segurança adequada para seus dados, porque eles são copiados para outro disco rígido 1:1. Isso é conhecido como espelhamento de disco rígido. Se um disco for destruído, uma cópia de seu conteúdo estará disponível em outro disco. Mesmo que todos os discos, com exceção de um, sejam danificados, você não corre o risco de perder seus dados. Porém, se não forem detectados danos, os dados danificados poderão ser espelhados no disco correto e assim ocorrerá a corrupção de dados. O desempenho de gravação fica um pouco prejudicado no processo de cópia, em comparação ao uso do acesso a um único disco (dez a vinte por cento mais lento), mas o acesso de leitura é significativamente mais rápido se comparado com o de qualquer um dos discos rígidos físicos normais, uma vez que os dados são duplicados e, conseqüentemente, podem ser explorados em paralelo. Em geral, pode-se dizer que o Nível 1 fornece praticamente o dobro da velocidade de transação de leitura dos discos individuais e quase a mesma velocidade de transação de gravação que eles.

RAID 2 e RAID 3

Essas são implementações de RAID não muito comuns. O Nível 2 divide os dados no nível de bits, em vez de no nível de blocos. O Nível 3 fornece a divisão no nível de bytes com um disco de paridade dedicada, e não pode atender várias solicitações ao mesmo tempo. Ambos os níveis raramente são usados.

RAID 4

O Nível 4 fornece a divisão no nível de blocos, exatamente como o Nível 0 combinado com um disco de paridade dedicada. No caso de uma falha de disco de dados, os dados de paridade são usados para criar um disco de substituição. No entanto, o disco de paridade pode criar um gargalo para o acesso de gravação. Mesmo assim, o Nível 4 às vezes é usado.

RAID 5

O RAID 5 é um compromisso otimizado entre o Nível 0 e o Nível 1 em termos de desempenho e redundância. O espaço em disco rígido é igual ao número de discos usados menos um. Os dados são distribuídos pelos discos rígidos, assim como no RAID 0. Os blocos de paridade, criados em uma das partições, estão lá por motivos de segurança. Eles são vinculados uns aos outros com XOR, o que permite que o conteúdo seja reconstruído pelo bloco de paridade correspondente no caso de uma falha do sistema. Com o RAID 5, apenas um disco rígido pode falhar por vez. Se um disco rígido falhar, ele deverá ser substituído assim que possível, para evitar o risco da perda de dados.

Outros níveis de RAID

Vários outros níveis de RAID foram desenvolvidos (RAIDn, RAID 10, RAID 0+1, RAID 30, RAID 50, etc.), sendo alguns deles implementações proprietárias criadas por fornecedores de hardware. Esses níveis não estão muitos difundidos, portanto, não serão explicados aqui.

2.2.2. Configuração de RAID de software com o YaST

A configuração de RAID de software do YaST pode ser obtida a partir do Particionador Expert do YaST, descrito na Seção 2.9.5, “Particionador” (↑Inicialização). Essa ferramenta de particionamento permite editar e excluir partições existentes e criar novas partições que devem ser usadas com o RAID de software. Nela, você cria partições RAID clicando em Criar+Não formatar e, em seguida, selecionando 0xFD Linux RAID como identificador de partição. Para o RAID 0 e o RAID 1, pelo menos duas partições são necessárias; para o RAID 1, geralmente são necessárias exatamente duas partições, não mais. Se o RAID 5 for usado, pelo menos três partições serão necessárias. É recomendável usar apenas partições com o mesmo tamanho. As partições RAID devem ser armazenadas em diferentes discos rígidos para diminuir o risco da perda de dados caso um deles esteja danificado (RAID 1 e 5) e para otimizar o desempenho do RAID 0. Após criar todas as partições para uso com o RAID, clique em RAID+Criar RAID para iniciar a configuração do RAID.

Na caixa de diálogo seguinte, escolha entre os níveis de RAID 0, 1 e 5 (consulte a Seção 2.2.1, “Níveis de RAID” para obter detalhes). Após clicar em Próximo, a caixa de diálogo a seguir lista todas as partições com o tipo “RAID Linux” ou “nativo do Linux” (consulte a Figura 2.6, “Partições RAID”). Não são exibidas partições do DOS ou de troca. Se uma partição já estiver atribuída a um volume RAID, o nome do dispositivo de RAID (por exemplo, /dev/md0) será exibido na lista. As partições não atribuídas são indicadas com “--”.

Figura 2.6. Partições RAID

Partições RAID

Para adicionar uma partição anteriormente não atribuída ao volume RAID selecionado, primeiro clique na partição e, em seguida, em Adicionar. Nesse ponto, o nome do dispositivo de RAID é inserido ao lado da partição selecionada. Atribua todas as partições reservadas para o RAID. Caso contrário, o espaço na partição permanecerá sem uso. Após atribuir todas as partições, clique em Próximo para continuar na caixa de diálogo de configurações, onde você pode ajustar o desempenho (consulte a Figura 2.7, “Configurações do sistema de arquivos”).

Figura 2.7. Configurações do sistema de arquivos

Configurações do sistema de arquivos

Assim como no particionamento convencional, defina o sistema de arquivos a ser usado, assim como a criptografia e o ponto de montagem do volume RAID. Marcar Superbloco Persistente garante que as partições RAID sejam reconhecidas como tais na inicialização. Após concluir a configuração com Concluir, verifique o dispositivo /dev/md0 e outros dispositivos indicados com RAID no particionador expert.

2.2.3. Solução de problemas

Verifique o arquivo /proc/mdstats para saber se uma partição RAID foi destruída. No caso de uma falha do sistema, encerre o sistema Linux e substitua o disco rígido danificado por um novo, particionado da mesma maneira. Depois, reinicie o sistema e digite o comando mdadm /dev/mdX --add /dev/sdX. Substitua 'X' por seus próprios identificadores de dispositivo. Isso integra o disco rígido automaticamente ao sistema RAID e o reconstrói totalmente.

2.2.4. Mais informações

Instruções de configuração e mais detalhes sobre o RAID de software podem ser encontrados nos HOWTOs, em:

Também estão disponíveis listas de discussão relacionadas ao RAID do Linux, como em http://marc.theaimsgroup.com/?l=linux-raid&r=1&w=2.