RAID 5 com apenas dois discos, ou menos
Dica publicada em Linux / Sistema de Arquivos
RAID 5 com apenas dois discos, ou menos
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
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