Criando servidor de arquivos GNU/Linux com RAID virtual e DFS em rede Windows

O que descrevo aqui, são os passos que utilizei para criar um servidor de arquivos de baixo custo com RAID1 (mirror) virtual (via software) e, de quebra, melhorar a estrutura de minha rede, utilizando de uma abstração de acesso aos dados (DFS - Distribution File System). Divirtam-se!

[ Hits: 37.562 ]

Por: Tecoberg em 10/02/2014


RAID



Criando o RAID virtual

Instale o gerenciador de RAID virtual, com o seguinte comando:

# apt-get install mdadm

Durante a instalação, opte por No Configuration para Postfix. O arquivo de configuração mdadm.conf, está localizado em /etc/mdadm no Debian/Ubuntu ou, no /etc em distribuições não baseadas no Debian.

Criaremos agora, um array (disco virtual que será referência para o RAID) em que os dois discos serão vinculados:

# mdadm --create --verbose /dev/md0 --level=1 -n2 /dev/sdX1 /dev/sdZ1
# mdadm --detail --scan >> /etc/mdadm/mdadm.conf


As referencias /dev/sdX1 e /dev/sdZ1 são para os discos SATA, onde sdX1 e sdZ1, geralmente, correspondem a sdb1 e sdc1. (você poder verificar os dispositivos conectados ao computador através do comando: fdisk -l)

Ao executar este dois comandos acima (mdadm), serão criadas a referência ao RAID virtual /dev/md0 (primeiro comando) e suas configurações serão guardadas no arquivo de configurações de RAID virtual (segundo comando).

Para verificar se está tudo funcionando corretamente, execute o comando:

cat /proc/mdstat

Obs.: para este comando, não é necessário direitos de administrador.

Deve aparecer algo semelhante às linhas abaixo:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 sdb1[0] sdc1[1]
      488253248 blocks super 1.2 [2/2] [UU]

O [UU], indica que os discos estão ativos no RAID. Veja no final deste tutorial, outras dicas de gerenciamento do RAID.

Formatando o RAID

É possível utilizar qualquer sistema de arquivos para o RAID. Eu utilizei o XFS, por ser um sistema de arquivos antigo (1994), estável, robusto e muito bom para leitura de dados, que é a minha necessidade. Entretanto, você pode utilizar o formato padrão do Ubuntu (ext4) ou, até mesmo o NTFS do Windows.

Para quem decidiu pelo XFS, como eu, instale os pacotes xfsprogs e xfsdump:

# apt-get install xfsprogs xfsdump

Em seguida, execute o seguinte comando para formatar o RAID virtual:

# mkfs.xfs -f /dev/md0

Caso prefira o formato ext4, simplesmente utilize o comando:

# mkfs.ext4 /dev/md0

Eu, realmente, não encontrei nenhuma vantagem em utilizar NTFS, mas se você o preferir, poderá formatar o RAID com este sistema de arquivos, com o comando:

# mkntfs /dev/md0

Veja mais dicas no final do texto, sobre tratamento de HDs.

Montando o RAID

Precisamos de um diretório para a montagem do RAID. Crie um no diretório em /mnt, como no exemplo abaixo:

# mkdir /mnt/raid_a

Você precisará do número de identificação do RAID para acrescentarmos no /etc/fstab. Para isso, execute o seguinte comando:

# blkid
Ou:
# ls -l /dev/disk/by-uuid/

Você deve copiar o código ID referenciado por .../md0.

Caso tenha formatado o RAID virtual como XFS, você encontrará um ID no seguinte formato:

XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Caso tenha formatado o RAID virtual como NTFS, você encontrará um ID no formato:

XXXXXXXXXXXX

* Atenção: eu executei este comando após o reinício do computador. E a referência do código ID mudou de .../md0 para .../md127. Não encontrei nenhuma explicação para tal fato, entretanto, isso não altera em nada os próximos passos.

Outro fato interessante, é que, mesmo formatando RAID virtual (/dev/md0) como XFS, os discos continuaram com o seu formato original (NTFS), entretanto, isso não afetou o funcionamento do RAID.

Execute o comando fdisk -l, para verificar todos os detalhes dos dispositivos.

Agora, configuraremos a montagem automática do RAID após o boot do sistema. Para isso, edite o arquivo /etc/fstab:

# nano /etc/fstab

No final do arquivo, inclua a seguinte linha para o RAID formatado como XFS/ext4:

UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX       /mnt/raid_a     xfs     rw 0 0

Ou, para o RAID formatado como NTFS:

UUID=XXXXXXXXXXXXX  /mnt/raid_a ntfs-3g quiet,defaults,locale=en_US.utf8,umask=0,noexec  0  0

Reinicie o computador e verifique se tudo funciona como devido.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. RAID
   3. Árvore de diretórios / Acesso remoto / Sincronizando horário
   4. Associando o servidor / Liberando login de usuários / Active Directory
   5. Permissão de usuários / DFS / SSH / Firewall
   6. Dicas
   7. Fontes de pesquisa
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Assistindo TV usando a placa VideoHighway Xtreme (ou outra baseada no bttv)

Como selecionar que processos serão iniciados ao boot - sysv-rc-conf

Embelezando o Xubuntu 12.04

Configurando um NAT

Web proxy Mikrotik V3.XX com controle de acesso

  
Comentários
[1] Comentário enviado por galactus em 10/02/2014 - 12:21h

Parabéns pelo artigo Menashe e muito obrigado pelos créditos dos artigos no Fórum do Ubuntu. Fico feliz em saber que os tutoriais estão ajudando. Só não imaginava que seria tão longe. :)

Em casa eu tenho um servidor de arquivos com XFS também, só não fiz RAID via software. Na verdade já estou precisando de um storage. Estou sendo um devorador de dados. Heheheheheh


[2] Comentário enviado por junior em 10/02/2014 - 14:08h

Excelente artigo.
+ favorito

[3] Comentário enviado por betoberg em 13/02/2014 - 12:56h

Show de bola.
Muito bem feito o artigo. Vou testar.
Parabéns!

[4] Comentário enviado por DouglasMenger em 09/08/2014 - 09:59h

Tecoberg,

Quero agradecer por criar este artigo, eu estava tentando alguns dias montar um raid via software e com sua ajuda conseguir fazer isso de forma rápida e pratica.

Muito obrigado.

[5] Comentário enviado por tecoberg em 21/01/2015 - 06:37h

Caros amigos

Na versão 14.4 do Ubuntu houve algumas alterações nas instalações dos pacotes winbind e kerberos. Abaixo segue as linhas de comandos respectivas:

# apt-get install samba winbind libpam-winbind libnss-winbind

# apt-get install krb5-user krb5-config

Abraços

Tecoberg

[6] Comentário enviado por invernosantigos em 18/05/2015 - 04:14h


Eita !!! Legal seu tutorial. O tipo de contribuição q tds precisávamos ( e msmo qm n precisa, qr E DEVE saber ! ). Mas... houve algumas falhas, prática e teóricas : Vc n especifica se o disco virtual é automaticamente criado no processo, ou se é preciso criar uma partição com antecedência -- Do jeito q está, só os já meio entendidos escaparão dessa dúvida ( ou erro ). Segudo : vc n especifica o q fazer se algo n sair exatamente como o descrito. No meu caso, o primeiro passo, ao invés de :

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 sdb1[0] sdc1[1]
488253248 blocks super 1.2 [2/2] [UU]

saiu :

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>

...e aí, sem saber o q fazer, parei por aí mesmo... Como corrijo, ou n saiu nd errado e era só continuar em frente ? E como corrijo e RETOMO a instalação, já q parei ? O meu sistema d arquivos é btrfs ( Escolhi este p poder fazer scrubing data. Há qm diga q btrfs ainda n é estável, mas essas opniões eram de 2 anos atrás ! ), pensei em fazer o segundo disco com ext4 msmo, já q vc disse -- ou assim entendi -- q n precisava ser o msmo sistema d arquivos p ambos... -- Eu poderia criar uma partição "manualmente" com o Gparted ou coisa q valha ( e assim poder optar por qualquer sistema d arquivos d minha escolha ), e torná-lo espelho depois ? Dúvidas, dúvidas e dúvidas, mas dúvidas q valhem à pena esclarecer ! Vc poderia me responder tds elas ??


[7] Comentário enviado por Tecoberg em 25/05/2015 - 04:59h

Quê bom que você gostou do artigo invernosantigos, entretanto ele foi escrito para pessoas que tenham um conhecimento além do básico em Linux por sua clara complexidade.
Esta foi a solução que encontrei para resolver um problema que eu tinha e resolvi comparti-lha lá para que outros pudessem usá-la como base para resolver problemas semelhantes como você o fez.
Cada alteração dos passos descritos,sejam eles a escolha de um outro hardware, o Sistema Operacional ou até mesmo a versão dele etc, abre um leque de possibilidades de problemas que realmente exige investimento de tempo para pesquisas e testes que somente em "loco" é possível realizar.
Como consolo eu posso contar-lhe que eu investi semanas para a construção da solução descrita e na escrita deste artigo. Tempo este que lhe fora poupado. :)
Boa sorte com este seu desafio e não esqueça de contribuir com a comunidade postando a solução que encontrou para o seu problema.
grandes abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts