Segundo Luciano Antônio Siqueira (Certificação LPI-2) RAID é a sigla para Redundant Array of Inexpensive Disks (matriz de discos baratos redundantes) e é o método para integrar vários dispositivos de armazenamento numa unica unidade logica.
A seguir veremos um modelo de implantação de RAID via software, onde o sistema operacional é responsável pelas interpretações.
Niveis de RAID de acordo com Luciano Antônio Siqueira.
RAID 0
Utiliza o método stripping, que simplesmente distribui os dados entre os discos unificados, somando seus espaços como se fosse um só. Como não há redundância dos dados gravados, uma falha de gravação comprometerá o RAID. É o método que proporciona maior velocidade e oferta de espaço, em detrimento da segurança dos dados.
RAID 1
Utiliza o método mirroring, que espelha os dados em cada um dos dispositivos anexos ao RAID. Neste caso, o espaço total não será a soma de todos os discos. Se forem utilizados dois discos de 200GB, o total de espaço disponível será 200GB, e não 400GB. Caso um dos discos apresente falhas, os dados poderão ser lidos do outro dispositivo, que possui os mesmos dados. Porém se um arquivos for apagado, será apagado em ambos os discos e não poderá ser recuperado. O RAID 1 apenas protege os dados contra falhas do dispositivo. O tempo de gravação não difere do dispositivo usado sem RAID, pois a gravação dos mesmos dados é feita em cada um dos discos em paralelo. Já o tempo de leitura é reduzido, uma vez que o controlador lê diferentes porções dos dados requisitados em diferentes discos simultaneamente.
RAID 5
Apresenta um método mais elaborado. Diferentemente dos RAIDs 0 e 1, que necessitam no minimo de dois discos, o RAID 5 exige no minimo três discos. A redundância dos dados é feita por todos os dispositivos. Dessa forma, o RAID não ficará comprometido em caso de falha de um dos dispositivos que o constituem pois um dispositivo fica de prontidão se algum disco der problema ele entra em ação no lugar do que falhou. Esse disco é chamado de Spare.
CONFIGURANDO RAIDs
Utilizaremos uma maquina virtual da distribuição Debian inicialmente adicionando 4 discos SATA como nas imagens abaixo com os nomes de raid1, raid2, raid3 e raid4.
Existem duas ferramentas tradicionais para configurar um dispositivo RAID no Linux: raidtools e mdadm.
Apos verificar do diretório /dev os novos discos conectados instalaremos a ferramenta que será utilizada. Em nosso caso mdadm.
Comando para verificar dispositivos SATA conectados
# ls /dev | grep sd
Comando para instalar mdadm.
# apt-get install mdadm
Os grupos MD necessários para o sistema de ficheiros raiz é all e aperte OK.
Será necessário criar uma partição em cada disco inserido. Em nosso casso sdd, sde, sdf e sdg.
Comando para criar partições nos discos
# fdisk /dev/sdd
Onde /dev/sdd é o disco, devemos executar este passo nos quatro novos discos.
O comando "n" cria uma nova partição no disco.
O comando "p" cria uma partição primaria.
Como criaremos apenas uma partição em cada disco o numero da nossa partição em cada um será 1 e utilizaremos o primeiro setor e o ultimo para o tamanho da nossa partição (Configuração default).
O comando "w" salva as alterações no disco.
Comando para verificação de discos SATA
# ls /dev | grep sd
Os discos devem estar assim:
Cada disco com uma partição representada pelo nome do disco com o 1 acrescentado.
CRIANDO RAID 0
Depois do mdadm instalado podemos criar o RAID. Começaremos com o RAID 0.
Comando para criar o RAID 0
# mdadm -C /dev/md0 -v -l 0 -n 2 /dev/sdd1 /dev/sde1
Onde:
mdadm: ferramenta utilizada para criação do RAID.
-C: comando para create.
/dev/md0: nome do volume RAID.
-v: comando para verbose, mostra informações sobre o comando.
-l 0 (traço L minusculo 0 zero): comando que define o level do RAID.
-n 2: numero de dispositivos que compõem o volume.
/dev/sdd1 /dev/sde1: partições que compõem o volume.
Apos a criação do volume RAID md0, devemos criar uma partição para o volume.
Comando para criar partições nos discos
# fdisk /dev/md0
Onde /dev/md0 é o volume.
O comando "n" cria uma nova partição no disco.
O comando "p" cria uma partição primaria.
Como criaremos apenas uma partição em cada disco o numero da nossa partição em cada um será 1 e utilizaremos o primeiro setor e o ultimo para o tamanho da nossa partição (Configuração default).
O comando "w" salva as alterações no disco.
Comando para verificar se a partição foi criada.
# ls /dev | grep md
Observe que por padrão RAID a partição criada foi md0p1 e o próximo passo é formatar a partição com o sistema de arquivos ext4.
Comando:
# mkfs.ext4 /dev/md0p1
Nesse momento nosso RAID 0 está pronto. Agora temos que monta-lo.
Dentro do diretório /mnt criaremos um diretório /raid0 e montaremos nosso volume RAID neste diretório.
Comando para criar diretório.
# mkdir /mnt/raid0
Comando para montagem.
# mount /dev/md0p1 /mnt/raid0
Ao executar o comando:
# df -h
Conseguimos ver nosso RAID possuindo a quantidade de nossos dois discos (16GB - dois discos de 8GB) e montado em /mnt/raid0
Executando o comando:
# mdadm -q --detail /dev/md0
Temos informações detalhadas sobre nosso RAID.
O arquivo que contem as informações sobre volumes RAID em funcionamento é o /proc/mdstat
Para montagem do volume RAID automático durante a inicialização do sistema adicione a seguinte linha no arquivo /etc/fstab
Não devemos esquecer de salvar as configurações do RAID no /etc/mdadm/mdadm.conf
CRIANDO RAID 1
Comando para criar o RAID 1
# mdadm -C /dev/md1 -v -l 1 -n 2 /dev/sdf1 /dev/sdg1
Onde:
mdadm: ferramenta utilizada para criação do RAID.
-C: comando para create.
/dev/md1: nome do volume RAID.
-v: comando para verbose, mostra informações sobre o comando.
-l 1 (traço L minusculo 1 um): comando que define o level do RAID.
-n 2: numero de dispositivos que compõem o volume.
/dev/sdf1 /dev/sdg1: partições que compõem o volume.
Apos a criação do volume RAID md1, devemos criar uma partição para o volume.
Comando para criar partições nos discos
# fdisk /dev/md1
Onde /dev/md1 é o volume.
O comando "n" cria uma nova partição no disco.
O comando "p" cria uma partição primaria.
Como criaremos apenas uma partição em cada disco o numero da nossa partição em cada um será 1 e utilizaremos o primeiro setor e o ultimo para o tamanho da nossa partição (Configuração default).
O comando "w" salva as alterações no disco.
Observe que por padrão RAID a partição criada foi md1p1 e o próximo passo é formatar a partição com o sistema de arquivos ext4.
Comando:
# mkfs.ext4 /dev/md1p1
Dentro do diretório /mnt criaremos um diretório /raid1 e montaremos nosso volume RAID neste diretório.
Comando para criar diretório.
# mkdir /mnt/raid1
Comando para montagem.
# mount /dev/md1p1 /mnt/raid1
O arquivo que contem as informações sobre volumes RAID em funcionamento é o /proc/mdstat e podemos observar que agora há dois volumes RAID em execução.
Para montagem do volume RAID automático durante a inicialização do sistema adicione a seguinte linha no arquivo /etc/fstab
Não devemos esquecer de salvar as configurações do RAID no /etc/mdadm/mdadm.conf
ADAPTAÇÕES DE DISCOS PARA RAID 5
Acrescentaremos mais 4 discos SATA como nas imagens abaixo com os nomes de raid5, raid6, raid7 e raid8 para trabalhar com RAID 5.
Comando para verificar dispositivos SATA conectados
# ls /dev | grep sd
Será necessário criar uma partição em cada disco inserido. Em nosso casso sdh, sdi, sdj e sdk.
Comando para criar partições nos discos
# fdisk /dev/sdh
Onde /dev/sdh é o disco, devemos executar este passo nos quatro novos discos.
O comando "n" cria uma nova partição no disco.
O comando "p" cria uma partição primaria.
Como criaremos apenas uma partição em cada disco o numero da nossa partição em cada um será 1 e utilizaremos o primeiro setor e o ultimo para o tamanho da nossa partição (Configuração default).
O comando "w" salva as alterações no disco.
Verifique se as partições foram criadas
# ls /dev | grep sd
CRIANDO RAID 5
Comando para criar o RAID 5
# mdadm --create --verbose /dev/md2 --level=5 --raid-device=3 /dev/sdh1 /dev/sdi1 /dev/sdj1 --spare-device=1 /dev/sdk1
Onde:
mdadm: ferramenta utilizada para criação do RAID.
--create: comando para criar.
/dev/md2: nome do volume RAID.
--verbose: comando para verbose, mostra informações sobre o comando.
--level 5: comando que define o level do RAID.
--raid-device=3: numero de dispositivos que compõem o volume.
/dev/sdh1 /dev/sdi1 /dev/sdj1: partições que compõem o volume.
--spare-device=1 : numero de dispositivos que compõem o spare (dispositivo reserva usado no caso de falha de algum dispositivo que compõe o volume RAID)
/dev/sdk1 : partição que compõe o volume de spare.
Apos a criação do volume RAID md2, devemos criar uma partição para o volume.
Comando para criar partições nos discos
# fdisk /dev/md2
Onde /dev/md2 é o volume.
O comando "n" cria uma nova partição no disco.
O comando "p" cria uma partição primaria.
Como criaremos apenas uma partição em cada disco o numero da nossa partição em cada um será 1 e utilizaremos o primeiro setor e o ultimo para o tamanho da nossa partição (Configuração default).
O comando "w" salva as alterações no disco.
Dentro do diretório /mnt criaremos um diretório /raid5 e montaremos nosso volume RAID neste diretório.
Comando para criar diretório.
# mkdir /mnt/raid5
Comando para montagem.
# mount /dev/md2p1 /mnt/raid5
Comando para verificar detalhes do RAID 5.
# mdadm -q --detail /dev/md2
Para montagem do volume RAID automático durante a inicialização do sistema adicione a seguinte linha no arquivo /etc/fstab
Não devemos esquecer de salvar as configurações do RAID no /etc/mdadm/mdadm.conf
Se verificarmos agora o arquivo /proc/mdstat veremos que há três volumes RAID em execução.
Grato,
Vinicius Figueiredo Dias
Aula ministrada pelo professor Gustavo Vieira dia 17/08/2013 no Senac de Araçatuba.