O RAID 5 realiza redundância de blocos, blocos de paridade distribuidos
Para criar o RAID você precisa de dispositivos de armazenamento. O ideal seria fazer com pelo menos 3 dispositivos de armazenamento (ex.: 3 HDs), como isto não é viável, simularemos a existência de dispositivos de armazenamento usando um único pendrive com 4 partições, ou seja, como se agente estivesse usando 4 HDs.
Atenção: tome muito cuidado ao realizar este procedimento pois se você executar os comandos usando o dispositivo de armazenamento de forma incorreta, você poderá perder seus arquivos pessoais.
Antes de executar o procedimento, insira o pendrive e certifique como ele está sendo referenciado pelo seus sistema operacional, exemplo: /dev/sdb ou /dev/sdc . Para isto, analise a saída do comando "fdisk -l" (sem aspas).
Passo 1: crie 4 partições do tipo Linux Raid Detect (fd) nos discos usando o programa cfdisk . Se possível, crie cada partição com 1GB de espaço.
Passo 2: após criar aspartições, execute o comando: fdisk -l
Note que nosso pendrive é o dispositivo /dev/sdd e as partições são /dev/sdd1, /dev/sdd2, /dev/sdd3 e /dev/sdd4. No exemplo abaixo, criaremos o RAID usando as partições do pendrive (/dev/sdd1, /dev/sdd2, /dev/sdd3 e /dev/sdd4). Atenção neste momento, pois no seu computador a identificação destas partições pode ser diferente (por exemplo: /dev/sdc ou /dev/sdb). Então tome muito cuidado para criar exatamente no seu pendrive.
Passo 3: Crie o RAID com o comando:
[mdadm --create /dev/md0 --chunk=64 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4]
No comando acima,
md significa multiplos dispositivos
chunk 64 significa o tamanho do bloco do striping
Caso o comando possua saída com erro, substitua /md0 por /md1.
Passo 4: Faça a formatação do dispositivo /dev/md0 (ou /md1) com o comando abaixo:
[mkfs -t ext4 /dev/md0]
Passo 5: Visualize o status do RAID com o comando:
[mdadm -D /dev/md0]
Se você executou os comandos corretamente até aqui, você tem no seu sistema um dispositivo lógico armazenamento (/dev/md0). Este dispositivo é referenciado por /dev/md0. Lembre-se de que nós estamos simulando a existência de 4Hds no dispositivo lógico /dev/md0. Cada partição do pendrive está sendo utilizada para simular um Hd. Na prática, isso não faria sentido e seria desvantajoso.
Passo 6: Agora, nós vamos colocar este dispositivo dentro da árvore de diretórios do Linux para podermos ler e escrever arquivos no /dev/md0 . Para isto, execute os seguintes comandos:
[mkdir /mnt/HDD]
[mount /dev/md0 /mnt/HDD]
Pronto, agora você já pode utilizar o dispositivo /dev/md0 que possui RAID 5.
Passo 7: Execute o comando "df -h" (sem aspas), você notará que ao contrário do RAID 4 que utiliza um disco apenas para paridade, o RAID 5 realiza redundância de blocos, blocos de paridade distribuídos ou seja todos os discos tem dados e paridades eliminando gargalo de desempenho e garantindo tolerância a falhas. Por isso que o espaço de armazenamento total não é igual a soma dos espaços de cada "HD", afinal a informação de paridade é rotacionada nos discos.
Passo 8: Copie arquivos para o diretório "/mnt/HDD". Você pode copiar qualquer tipo de arquivos, se quiser use o comando abaixo para criar arquivos automaticamente. Ocupe o dispositivo com pelo menos 1GB de dados.
[dd if=/dev/zero of=output.dat bs=100M count=1]
Passo 9: Agora vamos simular uma falha em um dos discos, como se um dos HDs parasse de funcionar. Para isso execute o comando abaixo:
[mdadm --manage /dev/md0 --set-faulty /dev/sdb4]
Como o nosso caso, o "sdb4" pode ser diferente em seu sistema.
Após simular a falha de um dos HDs, execute o comando abaixo:
[mdadm -D /dev/md0]
Comandos úteis.
Caso um HD faulty tenha sido "consertado", ele deve ser excluído e adicionado novamente ao RAID:
[mdadm --remove /dev/md0 /dev/sdb4]
[mdadm --add /dev/md0 /dev/sdb4]
Para visualizar o status do RAID:
[cat /proc/mdstat]
Para adicionar um hot spare:
[mdadm --add /dev/md0 /dev/sdd1]
Adicionando um disco ao RAID:
[mdadm --manage /dev/md0 --add /dev/sde1]
Excluindo o dispositivo RAID:
[mdadm --stop /dev/md0]
[mdadm --remove /dev/md0]
[mdadm --zero-superblock /dev/sdb1 /dev/sdb2 /dev/sdb3]
COMENTÁRIOS