28 janeiro 2018

Tutorial NAS com Raspberry Pi e openmediavault

Compartilhe músicas, vídeos e os mais variados arquivos através da rede usando Raspberry Pi. Com uma placa e o openmediavault, você cria, em pouco tempo, um servidor de arquivos (NAS) na sua rede.

NAS com Raspberry Pi e Openmediavault

Neste tutorial, vamos usar uma placa Raspberry Pi 3, mas você pode usar qualquer placa da linha Raspberry. Não se esqueça, obviamente, das características de hardware de cada modelo, que podem influenciar na performance do seu projeto.

O que é NAS


O NAS (Network Attached Storage) é uma unidade de armazenamento que você pode acessar através da rede. É popularmente conhecida como "storage", sendo que sistemas caseiros podem conter apenas um HD, enquanto máquinas profissionais são servidores com grande capacidade de armazenamento. A comunicação com o NAS geralmente varia entre ethernet e wifi, conectados na rede via roteador.

Conexão básica de um NAS

Um NAS costuma ter uma interface de configuração semelhante àquelas encontradas em roteadores, e nela podemos definir as permissões de acesso, as pastas que serão compartilhadas, de que forma este acesso será feito (SMB, SSH, FTP), etc. É uma excelente maneira de guardar os seus arquivos de forma centralizada, facilitando as tarefas de administração e backup.

Raspberry Pi e openmediavault


No Raspberry Pi, vamos montar um NAS utilizando o openmediavault (também conhecido como omv), um sistema de gerenciamento que vai disponibilizar os seus arquivos na rede utilizando o Samba, cujo compartilhamento pode ser acessado através de máquinas Windows, Linux e até mesmo smartphones.

O openmediavault é uma solução baseada no Debian Linux, e tem versões não só para Raspberry, mas também para PC´s, máquinas virtuais (ex. VirtualBox) e placas como Orange Pi e Banana Pi, entre outras.. Ele contém serviços como acesso via SSH, FTP, SMB, media server e cliente BitTorrent. É uma solução desenvolvida para uso em pequenas empresas ou mesmo para uso caseiro, compartilhando por exemplo músicas e filmes.

openmediavault

No Raspberry Pi, faremos a instalação usando uma imagem ISO do openmediavault, que você encontra neste endereço.

Baixe a imagem de instalação, que vamos gravar em um cartão microSD utilizando o Etcher (download). O Etcher é muito simples de usar: (1) escolha a imagem (Select Image), (2) escolha a unidade do cartão SD e (3) selecione Flash!. Esse processo de gravação pode demorar um pouco, ok?

Etcher - Gravação cartão microSD

Finalizada a gravação, coloque o cartão microSD na Raspberry Pi e conecte-a no roteador (utilizei uma conexão via cabo).

Aguarde a inicialização do sistema operacional e anote o endereço IP obtido pelo Rasbperry. Ele será mostrado na linha contendo o adaptador ethernet (eth0), seguido do endereço IP:

Linux Endereço IP

No meu caso, o endereço obtido foi o 192.168.0.153, conforme a imagem acima.

Acessando e Configurando o Openmediavault


A configuração do openmediavault é feita por meio de uma interface gráfica (GUI), que você acessa através do browser. Use o IP obtido anteriormente para acessar a página de login. Nesta página, selecione a linguagem na parte superior, depois o usuário e a senha (o usuário padrão e a senha de acesso são admin e openmediavault, respectivamente):

Tela de login

Após o login, você será apresentado à tela principal do Openmediavault:

Tela principal openmediavault

A primeira coisa que faremos é mudar a senha do ambiente web de configuração. Para alterar a senha, acesse a opção Definições Gerais, depois Senha de Acesso Administração Web. Coloque a nova senha e clique em Guardar

Redefinição da senha

Vamos criar um compartilhamento básico utilizando um pendrive conectado na porta USB do Raspberry Pi. Certifique-se de que ele foi reconhecido pelo openmediavault acessando a opção Discos físicos:

Pendrive conectado na Raspberry

Agora precisamos montar esse dispositivo dentro do Linux para posterior compartilhamento. Acesse a opção Sistema de ficheiros, selecione o dispositivo correspondente ao pendrive (no meu caso, /dev/sda1), e clique em Montar, no menu superior:

Linux - Drive mount

Caso a montagem tenha ocorrido sem problemas, sua tela deve ficar mais ou menos assim:

Mount OK

Vamos agora criar um usuário e dar direitos de leitura e escrita para ele. Acesse a opção Utilizador no menu, clique em Adicionar e preencha as informações do usuário que você deseja criar. No meu caso, criei um usuário chamado arduinoecia e atribuí uma senha à ele. Clique em Guardar ao final da configuração:

Openmediavault - Novo usuário

Depois disso, vá até a opção Pastas Partilhadas e clique em Adicionar, preenchendo as informações da pasta que você quer compartilhar. Eu criei um compartilhamento com o nome ARC_Shared, e escolhi o dispositivo reconhecido anteriormente (AT32GB):

Adicionar pasta compartilhada

Clique em Guardar.

Pasta compartilhada

Na mesma tela, clique agora em Privilégios para definir os direitos para o usuário arduinoecia que criamos anteriormente. Selecionei as opções ler/escrever:

Privilégios do usuário

Clique em ACL para modificar os direitos na pasta compartilhada. Também selecionei as opções ler/escrever:

ACL Pasta compartilhada

Agora, vá até a opção SMB/CIFS, selecione Definições e em seguida selecione Ativo na parte superior:

Definições SMB

Selecione agora a opção ao lado, Partilhas:

SMB - Compartilhamentos

Clique no botão adicionar e selecione o compartilhamento habilitado anteriormente (ARC_Shared). Não esqueça de habilitar a opção Ativo na parte superior:

Adicionar compartilhamento

Com essa configuração já é possível acessar a pasta compartilhada através da rede. Se você quiser, já pode configurar também a conexão wifi para acessar o openmediavault através da rede wireless. Para isso, acesse Rede e em seguida interfaces. Clique em Adicionar e escolha wifi:

Interfaces de rede

Nas propriedades da configuração wifi, escolha o dispositivo (wlan0), o nome da rede wireless (SSID) e a respectiva senha. Em IPv4, selecione o método como DHCP.

Configuração wlan Raspberry

Clique em Guardar e reinicie o servidor clicando em Reiniciar no menu do lado direito da tela:

Openmediavault restart

Acessando a pasta compartilhada


Para acessar a pasta que acabamos de compartilhar, basta entrar no Windows, abrir o File Explorer e digitar o endereço \\RASPBERRYPI\ARC_Shared na parte superior:


Você também pode acessar o drive facilmente através de um smartphone. Uma sugestão de aplicativo é o Asus File Manager, um app para Android:


A instalação de um NAS na sua rede facilita o compartilhamento de arquivos, mas o openmediavault possui vários recursos, e vale a pena se aprofundar e conhecer um pouco mais da ferramenta. Você pode por exemplo agendar tarefas, criar RAID de discos, configurar avisos por email, utilizar com Docker e muito mais.

18 comentários:

  1. Amigo eu segui seu tutorial, mas nao consigo acessar a webgui. Conectei o rasp numa tv e chequei o ip atribuido. Tb confirmei o mesmo atravs do advanced ip scanner. Ao digitae o ip no meu note, da err conection refused. Resetei varias vezes e nada. Alguma ideia?

    ResponderExcluir
    Respostas
    1. Oi Fernando,

      Conseguiu? o Raspberry Pi está ligado na sua rede ou diretamente no computador? Seria legal fazer um teste direto para verificar se não é o roteador que está travando a comunicação.

      Abraço!

      Adilson

      Excluir
  2. não consigo acesso às configurações via browser. Digito o endereço de ip do raspberry no browser e nada acontece. O que Fazer?

    ResponderExcluir
    Respostas
    1. Boa tarde,

      O comando ping à partir do computador para o Raspberry Pi funciona?

      Abraço!

      Adilson

      Excluir
    2. O meu está assim tb. Ping funciona ok... Mas não abre página de configuração

      Excluir
    3. Bom dia, estou com mesmo problema, vc conseguiu resolver?

      Excluir
    4. Boa noite o meu estava assim tbm apos update via console problema resolvido.

      Excluir
  3. Adilson, bom dia.
    Consigo acesso externo a este servidor?
    Como devo proceder?

    ResponderExcluir
    Respostas
    1. Boa tarde,

      Consegue sim, mas recomendo o uso de uma VPN para evitar exposição dos dados.

      Abraço!

      Adilson

      Excluir
  4. Bom dia, estou com o mesmo problema citado acima, alguem resolveu?
    Agradeço a atenção

    ResponderExcluir
  5. Parece ter uma incompatibilidade com o Raspberry Pi 3 b+

    ResponderExcluir
  6. Olá, Em primeiro lugar parabéns pelo tutorial e por ajudar quem está começando!

    O meu está dando erro quando tento criar a pasta compartilhada.
    Dá o seguinte erro:
    Failed to create the directory '/srv/dev-disk-by-label-10TB-B/SharedB':

    Erro #0:
    OMV\Exception: Failed to create the directory '/srv/dev-disk-by-label-10TB-B/SharedB': in /usr/share/openmediavault/engined/rpc/sharemgmt.inc:323
    Stack trace:
    #0 [internal function]: OMVRpcServiceShareMgmt->set(Array, Array)
    #1 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array)
    #2 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('set', Array, Array)
    #3 /usr/sbin/omv-engined(536): OMV\Rpc\Rpc::call('ShareMgmt', 'set', Array, Array, 1)
    #4 {main}

    Alguma dica do que eu possa estar errando?

    Obrigado!!

    ResponderExcluir
  7. Após gravar a imagem no SD o rasp não reconhece, já gravei em 2 cartões e não entra, alguma solução??
    já gravei imagem de uma distro debian e funciona bem.

    ResponderExcluir
    Respostas
    1. Bom dia!

      Qual modelo de placa Raspberry Pi vc está usando? "Parece" que tem alguma incompatibilidade com a Pi 3 B+

      Abraço!

      Adilson

      Excluir
  8. Grande tutorial porém o meu apresenta erro. Minha versão e a pi 3 b + vejo que apresenta erros então não existe nada que eu consiga fazer nesse sentido ? Obrigado

    ResponderExcluir
    Respostas
    1. Oi Bruno!

      Entendi. Vou testar isso na Pi 3 B+. Que erro aparece pra vc?

      Abraço!

      Adilson

      Excluir
  9. Após gravar a imagem no cartão, não acessa via webgui, já atualizei e continua dando erro "conection refused", raspberri pi 3, alguém conseguiu?

    ResponderExcluir
    Respostas
    1. Bom dia,

      Qual o modelo de placa você está usando?

      Abraço!

      Adilson

      Excluir