Como criar um NAS de baixo custo e altamente personalizável com Cubieboard

Por toda a internet se encontram NAS (Network Attached Storages ) pequenas ou grandes caixas (dependendo de sua necessidade)  que são ligadas a sua rede, com a função de armazenamento para backups, alguns contam com clientes torrents, ftp. Muitos destes NAS são vendidos com alguma distribuição Linux instalada, podendo assim serem modificados ao gosto do usuário porém ainda muito limitados e caros  (400 reais sem os hds nos modelos mais baratos). Para suprir a necessidade de uma plataforma NAS de baixo custo, consumo e ainda de altíssima facilidade de personalização existem pequenos computadores baseados na arquitetura ARM como o Raspberry pi, beaglebone, Cubieboard entre outros.

O que é o Cubieboardcubieboard_coinCubieboard por apenas U$$ 59,00 baseado no processador allWinner modelo A10(single core) primeira versão ou um A20 (dual core) em sua segunda versão.  Um SoC de 1Ghz com 1Gb de memória RAM e uma(duas na segunda versão) GPU mali-400, capaz de rodar vídeos em 2160p. O pequeno computador ainda conta com 1 conexão HDMI, 1 entrada e saída de áudio analógico , 1 conexão de rede 10/100 MB, duas conexões USB e uma conexão sata para hds de 2,5” além de uma memória para armazenamento interna de 4Gb e um Slot para cartões micro SD. Tudo isso consumindo apenas 5W.

NAS de baixo custo e consumo

Com todas estas características este hardware pode nos servir para a criação de um NAS e/ou uma Torrent Box. Para isso escrevi este tutorial. Você vai precisar obviamente de um Cubieboard, pode ser o de primeira geração ou o de segunda(usarei um de segunda geração), uma fonte de 5 Volts e no mínimo 2 Ampères, um HUB USB com entrada auxiliar para energia (dependendo da sua fonte e hd pode não ser necessário), um HD externo ou pendrive, de uma IMG do lubuntu (utilizei a versão 1.00 server no OSX)  e ainda o PhoenixSuitPack ambos disponíveis em http://cubieboard.org/download/.

Instalação direto na memória interna

Por padrão o meu Cubieboard veio com o android 4.2.2 instalado, por tanto tive de instalar ouma distribuição Linux chamada Lubuntu, para isso se faz necessário o uso da ferramenta PhoenixSuitPack ou LiveSuit disponível para Linux, Windows e Mac.

Instalação no os x

1º Baixe uma versão do lubuntu em http://cubieboard.org/download/ (apenas a versão 1.04 beta 1, 1.04 e as versões server  funcionaram no osx, a versão 1.06 já estava disponível e não foi testada mas a 1.05 não funciona).

2º Baixe e abra o LiveSuit

Captura de Tela 2014-05-19 às 15.59.10

3º Clique em  image  e localize o arquivo em seu computador e abra.

Captura de Tela 2014-05-19 às 15.59.28

4º coloque o seu Cubieboard em modo restauro. Para isso basta segurar o botão logo abaixo do conector USB por alguns segundos ao mesmo tempo que você coloca o cabo.

5º confirme o reparticionamento

Captura de Tela 2014-05-19 às 15.57.48

Primeiro boot

Conecte o Cubieboard em uma televisão ou monitor com hdmi, conecte o cabo de rede, ligue-o na tomada e espere, o primeiro boot leva em torno de 2 minutos para o lubuntu desktop(os próximos devem levar 30 segundos ou menos). O login e senha são linaro, para maior segurança modifique esta senha.

Montar um hd

os 4gb internos são ótimos para o sistema e alguns poucos aplicativos mas logo estarão cheios caso queira armazenar algum documento, para isso vamos montar um hd aumentando a capacidade de armazenamento. Você poderá usar um hd de 2,5” e liga-lo com o cabo que acompanha o Cubieboard ou conectar um hd externo (em alguns casos um HUB com entrada auxiliar será necessário) ou pendrive no usb ou ainda colocar um cartão micro sd no slot para cartões. Após conectar o seu disco de preferência  digite

$ sudo fdisk -l

no retorno devera existir algo parecido com

Disco /dev/sda: 1000.2 GB, 1000204664832 bytes

255 cabeças, 63 setores/trilhas, 121601 cilindros, total de 1953524736 setores

Unidades = setores de 1 * 512 = 512 bytes

Tamanho do setor (lógico/físico): 512 bytes / 512 bytes

Tamanho da E/S (mínimo/ideal): 512 bytes / 512 bytes

Identificador do disco: 0x345661b5

Dispositivo Boot Início Fim Blocos Id Sistema

/dev/sda1               2  1953524735   976762367    7  HPFS/NTFS/exFAT

neste caso o drive é o /dev/sda1, para podermos montar o hd precisaremos de uma pasta crie uma com o comando

$ sudo mkdir /media/hd  (substitua /media/hd pelo caminho que preferir)

e agora montaremos o hd como abaixo

$ sudo mount /dev/sda1 /media/hd (substitua /media/hd pelo caminho que preferir)

pronto agora temos um local para armazenar nossos documentos, porem precisamos dar permissão de escrita para este drive, utilize

$ sudo chmod -R 777 /media/hd

agora podemos criar, modificar e apagar documentos deste drive.

Montar um drive durante o boot

um drive pode ser montado automaticamente durante o boot para mais comodidade, para isso teremos que descobrir o uuid do drive. utilize

primeiro instale o ntfs-3g usando:

$ sudo apt-get install ntfs-3g

$ sudo blkid

o retorno deve ser algo parecido com

/dev/nanda: SEC_TYPE=”msdos” LABEL=”Volume” TYPE=”vfat”

/dev/nandd: UUID=”0a4378a0-5762-4b6b-a481-c60c89843b50″ TYPE=”ext4″

/dev/sda1: LABEL=”Samsung S2″ UUID=”E01EBCB01EBC8158″ TYPE=”ntfs”

anote o uuid do drive que deseja montar, abra o arquivo de configuração do fstab com

$ sudo vim /etc/fstab

o arquivo deve estar com apenas # UNCONFIGURED FSTAB FOR BASE SYSTEM, se houverem outras coisas não modifique. adicione uma linha

UUID=<uuid> <mounting place> <partition type> auto 0 0

aonde <uuid> é o uuid do drive que você acabou de anotar, <mounting place> é o local aonde o drive será montado e <partition type> o tipo de partição utilizada,

no meu caso fica assim

UUID=E01EBCB01EBC8158 /media/hd ntfs-3g defaults 0 0

Instalação e configuração do samba

agora que você ja tem um computador rodando linux, vamos uni-lo à rede. Para que o linux converse com computadores windows em uma rede local a forma mais fácil é a utilização do protocolo samba, o qual é amplamente utilizado em varias plataformas, e aparelhos como roteadores,  set-topboxes entre outros, você pode ainda utilizar o protocolo fpt, afp, etc mas aqui mostrarei a configuração do samba.

instale o samba

no terminal digite:

$ sudo apt-get install samba

confirme se necessario.

crie um usuario samba

$ sudo adduser usuario

$ sudo smbpasswd -a usuario

configure o samba

no terminal digite:

$ sudo vim /etc/samba/smb.conf (você pode usar qualquer editor no lugar do vim)

dessa até o final deste documento e coloque

security=user

[nome do compartilhamento]

path = /caminho/do/compartilhamento

available = yes

admin users = usuario

read only = no

browsable = yes

public = yes

writable = yes

salve e feche este documento no caso do vim é so pressionar esc e depois digitar :wq

$ sudo service smbd restart

$ sudo service nmbd restart

para reiniciar o samba.

agora você já pode acessar os seus documentos a partir de qualquer computador na rede.

Cliente torrent na rede

Captura de Tela 2014-05-19 às 16.00.56

Para que o NAS esteja completo temos ainda que instalar um cliente torrent para deixar rodando 24 horas por dia. Utilizarei o Transmission-cli, ele pode ser controlado por uma interface web, suporta descoberta de peer local, transferencia com encriptação completa, entre outras coisas.

Para instala-lo use

$ sudo apt-get install transmission-cli transmission-common transmission-daemon

Para configurar use

$ sudo service transmission-daemon stop (este comando é importante para que as modificações sejam corretamente salvas)

$ sudo vim /etc/transmission-daemon/settings.json

um documento será aberto, modifique as seguintes linhas como a seguir

“blocklist-enabled”: false,

“download-dir”: “/caminho/para/download”

“rpc-authentication-required”: true, (se quiser uma tela de login)

“rpc-password”: “sua senha”,

“rpc-username”: “usuario”,

“rpc-whitelist-enabled”: false,

reinicie o transmission com

sudo /etc/init.d/transmission-daemon restart

agora você pode acessa-lo a partir de

http://ip:9091/transmission/web/

Instalar Pyload

Captura de Tela 2014-05-19 às 16.01.20

Pyload é um downloader para sites do tipo one-click como o finado megaupload, huge files e também youtube entre outros. Feito em python como sugere o nome, este é o único programa do gênero que encontrei que continua sendo atualizado, tem suporte a vários plugins, roda em servidores sem interface gráfica e acompanha uma interface web para acesso e ainda por cima gratuito e opensource. Roda em todas as plataformas como Mac OSX, linux(varias distros), windows e também conta com apps para iOS e android. Visite o site pyload.org. Assim como eu você também pode ajudar o projeto, seja traduzindo ou programando.

para instalar você pode utilizar os seguintes comandos no terminal:

$ sudo wget -O pyload-cli.deb http://get.pyload.org/get/ubuntu-cli

$ sudo apt-get install python python-pycurl python-crypto tesseract-ocr tesseract-ocr-eng python-imaging

$ sudo dpkg -i pyload-cli.deb

para configurar o pyload rode no terminal :

$ pyLoadCore -s

digite pt_BR e tecle enter para utilizar portugues durante a configuração

se links Click ’n’ Load não te interação apenas tecle enter para continuar

aqui você poderá mudar o caminho aonde o pyload esta instalado, apenas enter

enter para continuar

para rodar o pyload é so digitar:

$ sudo pyLoadCore &

agora é so entrar em

http://ip:8000

2 Comments

    1. Obrigado, quando voce rodar o comando pyLoadCore -s voce podera configurar o usuario e senha:

      “Você deseja configurar os dados de login e configurações básicas?
      Isto é recomendado para a primeira execução.
      Criar configuração básica? ([y]/n): ”

      basta digitar y e teclar enter e configurar login e senha

Leave a Reply

%d