RAID – Redundant Array of Independent Drives é um mecanismo para melhorar o desempenho e a segurança dos discos.
Existem vários níveis de RAID, cada um como suas devidas características.
Os principais são:
RAID 0 (Striping)
O RAID 0 divide os dados em dois ou mais discos, a quantidade de discos deve ser par. A vantagem está na junção da capacidade de armazenamento, para fins didáticos podemos exemplar dois discos com 50GB cada, estes discos em RAID 0 serão visualizados com um único disco de 100GB.
Os dados são distribuídos entre os discos
Desvantagem: Caso um dos discos falhe, todos os dados serão perdidos.
RAID 1 (Mirror)
RAID 1 vai na contramão do RAID 0, na mesma situação hipotética dos dois discos de 50GB, os discos serão serão vistos como um único volume de 50GB. Mas e aí? Qual a vantagem? Ter dois discos (50GB + 50GB) e só poder usar a capacidade de um. Os dados são armazenados nos dois discos, e caso um dos discos falhe, o outro disco continuará funcionando até o administrador trocar o disco defeituoso, preservando os dados.
RAID 5 (striping com paridade)
RAID 5 utiliza-se de três ou mais discos rígidos com dados divididos em blocos gerenciáveis, chamados strips. RAID 5 são os principais benefícios da capacidade de armazenamento e proteção de dados.
Paridade é um método matemático para a recriação de dados perdidos de um disco único, o que aumenta a tolerância a falhas. Os dados e a paridade têm stripping em todos os discos rígidos na matriz. A paridade tem stripping em uma seqüência de rotação para reduzir os gargalos associados aos cálculos de paridade.
Mãos na massa
RAID pode ser implementado via Hardware ou Software, em nosso caso vamos utilizar a implementação via Software utilizando a distribuição Red Hat 6 com o pacote mdadm, mas a configuração é a mesma para CentOS ou Debian.
Serão utilizados dois discos de 10GB cada para a criação de um RAID 1 (Mirror).
Instalando o pacote mdadm
#yum install mdadm
Para distribuições debian-like
#apt-get install mdadm
Após a instalação do pacote, é necessário criar o RAID em si. Os dispositivos de armazenamento no Linux são identificados por /dev/sdX, onde X representar uma letra, no nosso exemplo utilizaremos dois discos que foram reconhecidos como /dev/sde e /dev/sdf com 10GB cada.
Como a intenção é fazer um mecanismo de RAID 1, isto é, o resultado final será um volume de 10GB espalhado em dois discos, gerando mais segurança para aplicação, pois caso um dos discos falhe, o outro continua trabalhando sem a perda de dados.
Como usuário administrador (root) será utilizado o seguinte comando:
#mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sde /dev/sdf
Feito isto já teremos em nosso sistema um novo dispositivo chamado /dev/md2 é este que deve ser montado para uso do RAID, mas antes é necessário a criação de um sistema de arquivos:
#mkfs -t ext4 /dev/md2
Depois é só montar o dispositivo em algum diretório com este propósito, neste caso criei um diretório /mnt/dados
#mdkir /mnt/dadosCom o comando df -h podemos visualizar nosso RAID montado
#df -h
Para obter informações do RAID o mdadm possui as seguintes opções:
#mdadm --detail /dev/md2
Isto vai mostrar como está a configuração do RAID e se há algum disco com falha, o nível do RAID, a sincronização.
Então é isto, vemos que não é difícil montar uma estrutura de RAID utilizando Linux, para fazer este artigo utilizei o manual da própria Red Hat disponibilizado em: Manual RAID - Red Hat