RAID em Linux

  • Post author:
  • Post category:Sem categoria

Ol? pessoal. Antes de iniciarmos esta nova mat?ria, gostaria de agradecer a todas as pessoas que acessaram a mat?ria inicial e enviaram suas opini?es e sugest?es.

Espero poder contribuir ainda mais para o desenvolvimento deste universo open source que tem chamado bastante a aten??o dos profissionais da tecnologia por sua flexibilidade e desempenho.

Hoje irei falar sobre um assunto important?ssimo no que diz respeito a seguran?a da informa??o e performance para servidores. O assunto em quest?o ? RAID em LINUX.

RAID

RAID ? acr?nimo para Redundant Array of Inexpresive Disks. Este arranjo ? usado como um meio para criar um subsistema de unidade de disco, r?pido e confi?vel, atrav?s de v?rios discos individuais.

Apesar do RAID ter sido desenvolvido para melhorar a confiabilidade do sistema, atrav?s da adi??o de redund?ncia , pode-se tamb?m levar uma falsa sensa??o de seguran?a e confian?a quando usado incorretamente.

Esta falsa confian?a pode acarretar em grandes desastres. Falhas de energia, bugs no desenvolvimento do Kernel ou erros de administradores e de operadores podem danificar os dados de uma forma irrecuper?vel. O RAID n?o ? um substituto apropriado para executar um backup de seu sistema.

O RAID permite que o computador ganhe desempenho nas opera??es de acesso a disco, e da mesma forma, r?pida recupera??o em caso de perda de algum disco. O tipo mais comum de um arranjo RAID de unidades ? um sistema ou uma controladora que possibilita o uso de m?ltiplas unidades de disco r?gido, configuradas para que o sistema operacional se comporte como se existisse apenas um disco instalado no computador.

Existem v?rios n?veis de RAID, cada um com um objetivo diferente. Os tipos b?sicos compat?veis com o Linux s?o:

RAID LINEAR

? uma simples concatena??o de parti??es para criar uma grande parti??o virtual. Isso ? poss?vel se voc? tem v?rias unidades pequenas, e quer criar uma ?nica e grande parti??o. Essa concatena??o n?o oferece redund?ncia, e de fato diminui a confiabilidade total: se qualquer um dos discos parar, a parti??o combinada ir? falhar.

RAID0 (Stripping)

Ao serem gravados , os arquivos s?o divididos entre os v?rios discos presentes no arranjo. Este tipo n?o ? considerado bem RAID, visto que ele n?o cria c?pia dos dados. Al?m disso, ele tem um problema grave: se qualquer disco falhar, os arquivos que t?m uma parte gravada nele ser?o perdidos.

O RAID0 ? conveniente quando combinado com outros tipos de RAID, ou em sistemas que a necessidade de disponibilidade ? mais modesta (? aceit?vel parar eventualmente o sistema para uma recupera??o de dados). Para o RAID0 pelo menos 2 parti??es ou discos s?o necess?rios.

RAID1 (Mirror)

Todos os discos presentes no arranjo fazem uma c?pia dos dados. ? um tipo eficiente de RAID, pois se algum disco do arranjo falhar, n?o haver? perda de dados (redund?ncia dos dados nos outros discos). Para esse tipo de RAID pelo menos 2 parti??es ou discos s?o necess?rios.

RAID5

Id?ntico ao RAID0, com paridade nos dados, atrav?s da fun??o l?gica XOR. Essa funcionalidade faz com que os dados sejam copiados em v?rios discos, sendo poss?vel recuperar qualquer disco do arranjo, desde que tenham os outros em perfeito funcionamento.

Para esse tipo de: RAID pelo menos 3 parti??es ou discos s?o necess?rios. Como dito acima, para que seja configurado o RAID voc? precisa no m?nimo 2 parti??es ou discos(para RAID0 e RAID1) ou 3 parti??es ou discos (para RAID5).

Implementando o RAID

Nesta mat?ria irei disponibilizar um breve tutorial sobre como implementar um RAID5, que ? um tipo de RAID mais utilizado, uma vez que esse possui a funcionalidade de paridade de dados, sendo poss?vel manter os discos funcionando sem perda de dados mesmo que um dos discos do arranjo falhe.

O RAID 5 ? implementado atrav?s de tr?s ou mais dispositivos de tamanho aproximado, combinados em um dispositivo maior. Ainda mant?m um grau de redund?ncia para proteger os dados. Podem ser usados discos sobressalentes, tomando parte de outros discos automaticamente, caso eles venham a falhar.

Se voc? est? usando N dispositivos onde o menor tem o tamanho S, o tamanho total do arranjo ser? (N-1)*S. Esta perda de espa?o ? utilizado para a paridade (redund?ncia) das informa??es. Assim se algum disco falhar, todos continuar?o intactos. Por?m , se os dois discos falharem , todos os dados ser?o perdidos.

Configurando o RAID no Linux

O primeiro passo ? criar o arquivo de configura??o do RAID, o arquivo raidtab dentro do diret?rio /etc.

#vi /etc/raidtab

Este arquivo deve conter o seguinte conte?do:

raiddev /dev/md0
raid-level 5
nr-raid-disks 3
nr-spare-disks 0
persistent-superblock 1
parity-algorithm left-symmetric c
chunk-size 32
device /dev/hda 1
raid-disk 0
device /dev/hdb
raid-disk 1
device /dev/hdc
raid-disk 2

No exemplo acima ser?o utilizados 3 discos de qualquer tamanho. Se um dos discos falhar, os outros 2 continuam a funcionar. Um tamanho do peda?o (chunk size 32) de 32 KB ? um bom padr?o para sistema de arquivos com uma finalidade gen?rica deste tamanho.

Em seguida deve-se criar o diret?rio do RAID no diret?rio /dev , que ? o diret?rio dos dispositivos de bloco do sistema. Ou seja, ao unificar os HD?s o mesmo dever? ser referenciado a um dispositivo de bloco.

#mkraid /dev/md0

Isto ir? inicializar o arranjo, escrever os blocos persistentes e deixar pronto para uso. Verificando o arquivo /proc/mdstat voc? poder? ver que o arranjo est? funcionando:

#cat /proc/mdstat

Agora o dispositivo /dev/md0 j? est? pronto. Pode ser criado um sistema de arquivos a ser montado para uso:

#mkfs ?t ext3 /dev/md0

O comando acima criou um sistema de arquivos para o arranjo do RAID que foi configurado, desta forma j? ? poss?vel que o mesmo seja montado para uso. ? interssante que seja criado o diret?rio para a montagem do RAID dentro do diret?rio /mnt. Crie um diret?rio com o nome de raid:

#mkdir /mnt/raid

Em seguida basta montar a parti??o do RAID que foi criada, uma vez que para que uma parti??o possa ser acessada, deve-se obrigatoriamente realizar a montagem da mesma:

# mount ?t ext3 /dev/md0 /mnt/raid

Pronto. Agora seu RAID j? est? configurado e funcionando. Para que o RAID realize a montagem autom?tica no ato da inicializa??o do sistema, basta que a seguinte linha seja inserida no aruqivo /etc/fstab:

/dev/md0 /mnt/raid ext3 defaults 00

Parab?ns, se tudo foi configurado corretamente voc? possui agora um servidor funcionando com um sistema de redund?ncia de discos seguro e funcional.

Espero que seja ?til para todos! At? a pr?xima!