O título desta dica é insólito, mas ela mostra de forma didática algumas curiosidades do suporte a
RAID via software no
Linux e
de sua ferramenta de manipulação, o
mdadm.
Estava bebendo umas cervejas com um colega e surgiu o assunto RAID, e como não poderia deixar de ser, daí o assunto RAID 5, por que ele
disse que havia tido alguns problemas com um e coisa e tal, e de repente ele comentou que o ruim do RAID 5 é que precisaria de 3 discos e
apostei uma caixa de cerveja que eu faria com dois discos apenas, ou melhor! Com disco nenhum, e ele duvidou... Claro que eu não disse
como! Rsssssssssssss
Ocorre que o mdadm lida com qualquer dispositivo de bloco válido, discos, partições e para quem não sabe... Até mesmo chaveiros USB e
arquivos através dos dispositivos de loop! Sei disso por que já implementei RAID 0,1 e 5 com sistemas de arquivos criptografados e
funcionam muito bem. Peguei o laptop e fiz o seguinte.
Primeiramente criei os 5 arquivos com o dd no diretório /mnt/sda4/raidloop que criei em meu laptop:
# dd if=/dev/zero of=/mnt/sda4/raidloop/dev0.img bs=1024 count=262144
# dd if=/dev/zero of=/mnt/sda4/raidloop/dev1.img bs=1024 count=262144
# dd if=/dev/zero of=/mnt/sda4/raidloop/dev2.img bs=1024 count=262144
# dd if=/dev/zero of=/mnt/sda4/raidloop/dev3.img bs=1024 count=262144
# dd if=/dev/zero of=/mnt/sda4/raidloop/dev4.img bs=1024 count=262144
Em seguida criamos os dispositivos de bloco com o losetup.
# losetup /dev/loop0 /mnt/sda4/raidloop/dev0.img bs=1024 count=262144
# losetup /dev/loop1 /mnt/sda4/raidloop/dev1.img bs=1024 count=262144
# losetup /dev/loop2 /mnt/sda4/raidloop/dev2.img bs=1024 count=262144
# losetup /dev/loop3 /mnt/sda4/raidloop/dev3.img bs=1024 count=262144
# losetup /dev/loop4 /mnt/sda4/raidloop/dev4.img bs=1024 count=262144
Entendam o conceito! Eu criei dispositivos de bloco sobre arquivos através dos dispositivos de loop, mas em uma aplicação prática estes
seriam partições distribuídas ao longo de apenas dois discos rígidos ao invés de 3 que no mínimo são requeridos em um RAID 5.
A desvantagem que temos neste caso é a perda de espaço nos discos rígidos, pois só faremos RAID 5 em algumas partições somente. Eu
não testei o desempenho e a confiabilidade desta elegantíssima gambiarra, a fiz tão só por brincadeira e portanto é altamente
desaconselhável empregá-la em um ambiente de produção sem testa-la completamente. Seu fim é apenas didático.
Continuando, agora vamos criar o dispositivo MD.
# mdadm --create /dev/md0 --level=5 --raid-devices=5 /dev/loop[0-4]
Pronto! Nossa gambiarRAID5 está criada!
Com o comando "mdadm -D /dev/md0" podemos ver o progresso de sincronização do spare em andamento.
Agora basta particioná-lo normalmente e criar o sistema de arquivos.
# cfdisk /dev/md0
E no tipo de partição selecione a opção FD (Linux Raid Autodetect)
Pronto! Agora você poderá ganhar umas cervejas as custas de um colega desavisado! Rssssssssssss
Para quem desejar se aprofundar mais no assunto RAID com software no Linux há em
meu
site uma tradução da página de manual do mdadm e do mdadm.conf.
Referência:
http://capitainkurn.blogspot.com