Você está na página 1de 7

www.howtoday.com.

br

RAID

O termo RAID vem de Reduntant Array of Independent Disks (arranjo


redundante de discos independentes) mas nem sempre a parte “redundante”
pode ser levada a sério, pois nem todos os tipos de arranjos proporcionam a
redundância anunciada.
A tecnologia permite agregar recursos diversos de disponibilidade e
performance com diversos discos fazendo parte de um “bloco” só.
O RAID é aplicável através de controladas RAID ou de software. Vamos
tratar aqui neste capítulo a implementação do RAID via software no Linux, já
que se o RAID for via hardware, o sistema operacional Linux vai enxergá-lo
como um disco serial comum.
Os principais níveis de RAID são:

RAID0 (Stripping)

Em RAID0, não existe redundância alguma


entre discos. O que acontece no arranjo é que a
performance de leitura e gravação melhora
significativamente, à medida que dois discos, no
mínimo dividem esta tarefa, pois os dados ficam
fragmentados entre os discos.
Esta prática não proporciona qualquer tipo
de segurança aos dados, uma vez que não há
tolerância a falhas de nenhum dos discos (se isto
ocorrer, os dados serão perdidos
completamente). A pesar disso, é uma prática bastante usada em bancos de
dados, pela boa performance de I/O proporcionada. Utilizar RAID0 com 2 HDs
SATA2 com 300MB/s cada proporcionaria (em tese) 600MB/s de taxa de
transferência.

RAID1 (Mirroring)

Em RAID1, a performance de I/O cai


significativamente mas, em compensação, a
segurança dos dados (disponibilidade, na
verdade) é garantida em caso de problemas
com um dos discos do arranjo. Isso porque o
RAID1 é o nível que proporciona redundância
completa de dados. Acontece que um dos discos
serve de “espelho” para os dados do outro. É
preciso pensar muito antes de implementar
RAID neste nível pois, como foi dito antes, a performance de I/O cairá
significativamente por causa da sincronização em tempo real dos dados de um
disco para o outro.
www.howtoday.com.br

RAID10 (0 + 1)

Neste caso, os dói níveis acima são combinado para poder proporcionar
redundância e performance ao mesmo tempo. O mínimo é de 4 discos para
este arranjo.
Primeiro são implementados dois arranjos RAID0 independentes e após
estes serem criados, é criado um RAID1 com esses dois arranjos.

RAID5

O RAID5 pode ser implementado


com, no mínimo, 3 discos e é uma ótima
solução para aliar disponibilidade,
segurança e maior aproveitamento da
capacidade de armazenamento dos discos.
Neste nível. há um RAID0
funcionando em todos os discos, só que
dentro de cada um deles é reservada uma
área de paridade que faz o papel de
“mirror” de arquivos, as áreas de paridade
dos discos somadas devem ter o espaço referente a um dos discos do arranjo,
fazendo assim com que a tolerância a falhas do arranjo seja de um disco. A
diferença entre fazer RAID5 com 3 discos ou com mais é que cada disco que
entra no arranjo ajuda a dividir a área de paridade de forma que fique um
espaço igual para todos os discos, diminuindo a perda de espaço no arranjo.
Um arranjo RAID5 com 6 HDS de 1TB cada um ficaria com 5TB de espaço
total e ainda teria tolerância a falha de 1 dos discos.

RAID6

Este nível é bem parecido com o


RAID5, só que o mínimo é de 4 discos no
arranjo.
A área de paridade é distribuída entre
os discos de forma que o total de espaço no
arranjo fique com o espaço referente a dois
discos reservado para redundância,
proporcionando tolerância a falhas de 2
discos.
Em um arranjo RAID6 com 8 discos de 1TB cada, o tamanho final do
arranjo ficaria de 6TB, com tolerância a falha de 2 discos.
www.howtoday.com.br

Criando arranjo RAID

O programa mdadm administra os arranjos RAID no Linux.

Instalando o programa:
#apt-get install mdadm –y

Para melhor viabilidade de aprendizado, vamos fazer RAID com partições.


Primeiro vamos criá-las:

cfdisk /dev/sda

As partições para integrar o arranjo têm que ser do tipo “fd” (detecção
automática de RAID).
Vamos fazer o laboratório com 5 partições lógicas, onde 3 irão ficar no
arranjo, compondo um RAID5, e 2 ficarão de disco reserva (spare disk).

Criando o arquivo de bloco do arranjo:


#mknod /dev/md0 b 9 0

Criando o arranjo RAID5:


#mdadm –C /dev/md0 –l 5 –n 3 /dev/sda[5-7] –x 2 /dev/sda{8,9}

Onde:
-C : cria um arranjo RAID.
-l : indica qual o nível de RAID a ser criado.
-n : indica quantos e quais discos farão parte do arranjo (não conta com
os reservas).
-x : indica quantos e quais discos vão ficar de “spare disks”.

Os metacaracteres [-] e {,} foram utilizados para facilitar a declaração


desses discos, pois se não fosse assim, o administrador teria que digitar disco
por disco separado por espaço.

15.2 – Verificando funcionamento do arranjo

O arquivo /proc/mdstat pode ser consultado caso o administrador queira


ver como está a sincronização do arranjo:
#watch –n1 cat /proc/mdstat
O comando watch repete de ‘n’ em ‘n’ segundos um comando específico.
Desta forma, o arquivo será lido de 1 em 1 segundo, proporcionando ao
administrador monitorar em tempo real a criação do arranjo.
Para mais detalhes sobre o mesmo, pode ser utilizada a seguinte linha de
comando:
www.howtoday.com.br

#mdadm –D /dev/md0

Onde:
-D : descreve detalhes sobre o arranjo.

Formatando e montando o arranjo

RAID não é sistema de arquivos, mas sim um arranjo de discos, como já


foi visto. Por esse motivo, não há nenhum sistema de arquivos especial para
que ele seja formatado. O arranjo pode ser formatado com qualquer sistema de
arquivos suportado pelo sistema.
Outro fato importante é o de que o arranjo será formatado, e não cada
disco individualmente:
#mkfs –t ext3 –L “RAID5” –c /dev/md0

Se for necessário usar o arranjo permanentemente, como é o caso da


maioria dos arranjos, ele deve ser configurado em /etc/fstab:
#vim /etc/fstab
www.howtoday.com.br
www.howtoday.com.br

Montando o arranjo antes de reinicializar o sistema:


#mount -a

15.4 – Discos falhando no arranjo

Vamos forçar uma falha em um dos discos do arranjo para testar a


participação dos discos reservas:
#mdadm /dev/md0 –f /dev/sda5

Observa-se que o disco fica marcado como falhado, enquanto o reserva


entra em seu lugar e faz novamente a sincronização com o arranjo.

Para remover de vez o disco que falhou:


#mdadm /dev/md0 –r /dev/sda5

Para adicionar mais um spare disk:


www.howtoday.com.br

#mdadm /dev/md0 –a /dev/sda9

Para parar todo o arranjo:


#mdadm –S /dev/md0

Você também pode gostar