Você está na página 1de 49

FreeNAS 8.

3: Uma NAS simples de usar


por Nemesis11 a 15 Setembro 2012 em Destaque, Guias

Introduo
Este artigo sobre uma soluo open source de NAS (Network Attached Storage) que ao mesmo
tempo, fcil de utilizar e poderosa a nvel de funcionalidades.
Este projecto o famoso FreeNAS, na sua verso 8.3, que ainda se encontra em Beta.
Com o aumento de dispositivos que se encontram ligados a uma rede local ou Internet, cada vez
mais importante ter um local centralizado, que disponibilize vrios servios relacionados com
ficheiros.
Existem vrias solues para o mesmo problema, que at pode passar por uma empresa cloud
externa, mas haver sempre pessoas que preferem ter uma soluo prpria.
aqui que entra o Freenas, um sistema operativo baseado em FreeBSD que ajuda a criar e manter
uma NAS pessoal.
FreeNAS, na sua verso 8, desenvolvida por uma empresa que trabalha muito com FreeBSD e que
se chama iX Systems.
Esta empresa aproveita a base do FreeNAS para criar uma soluo empresarial com o nome de
TrueNAS.
O FreeNAS aproveita muito do software open source existente para criar uma soluo de NAS.
Alguns exemplos o uso do nginx como servidor do portal de gesto, o django como framework
web, entre muitos outros projectos.
Uma das principais vantagens do uso do FreeNAS, a utilizao do sistema de ficheiros ZFS. Um
sistema de ficheiros muito poderoso e que podem ler sobre ele, neste artigo do Portal.
Para este artigo, usei uma verso que ainda se encontra em beta, mas que no tem muitos bugs
visveis e d uma viso do que ser a verso 8.3 quando for final.

Instalao
Para se instalar o FreeNAS, preciso um computador com uma placa de rede, uma pen ou disco
para instalao do sistema operativo (pen recomendada, com pelo menos 2 GB de espao), disco ou
discos para criar volumes usados pela NAS e um cd-rom.
A nvel de memria Ram, se for para utilizar ZFS, recomendo pelo menos 2 GB, sendo que ele
funciona com menos, mas a performance sofrer.
preciso tambm disponibilizar um ip para a mquina, que pode ser fixo ou por dhcp.
So disponibilizadas imagens com verses 32 e 64 bit, sendo que para uso de ZFS recomendado a
verso 64 bit.

Para a criao deste artigo, criei uma mquina virtual, com um cd-rom a apontar para o ficheiro iso
de instalao, 2 GB de Ram, um disco de 2 GB para a instalao do FreeNAS, cinco discos de 200
GB, dois de 50 GB e um de 30 GB de disco para usar dentro do FreeNAS.

A instalao do FreeNAS muito simples.


Arranca-se com o cd de instalao e aparece um menu com a opo Install/Upgrade. Escolhe-se
essa opo.

So listados todos os discos reconhecidos pelo sistema e escolhe-se aquele em que pretendemos
instalar o FreeNAS. Neste caso o disco que tem 2 GB de espao.

perguntado se queremos efectuar uma instalao nova ou se queremos efectuar um upgrade de


uma verso mais antiga. Neste caso uma instalao nova.

Aparece um quadro que nos informa que todas as parties no disco de instalao sero apagadas,
que o disco de instalao no pode ser usado para dados dentro do FreeNAS e que de preferncia
devemos usar uma pen para o disco de instalao.
Neste quadro confirmamos que queremos avanar.

Durante pouco tempo colocada a imagem do FreeNAS no disco de instalao e -nos dada um
status com a progresso da instalao.

Somos informados que a instalao decorreu com sucesso.


Devemos retirar o cd-rom e efectuar um restart mquina.

Somos dirigidos novamente para o ecr inicial, onde temos a opo de Reboot System.

Durante o processo de boot, conseguimos ver todas as mensagens do sistema operativo.


De referir que para quem usa VMware, so includas as suas tools por defeito.

No final temos uma menu em texto e o url com o endereo da consola Web para gerir o FreeNAS.
Neste menu inicial temos vrias opes para configurar a rede, rotas, dns, efectuar reset password
da consola Web de gesto, reset para as configuraes iniciais, aceder shell do computador e por
fim efectuar um restart ou shutdown.

Aqui fica a imagem de quando se escolhe uma das opes, neste caso aceder shell do computador,
para utilizadores mais avanados.
De referir que dentro da consola de gesto Web, possvel aceder tambm shell.

No boot e por curiosidade, podemos ver que ele consome pouca memria Ram. Neste caso, 66 MB
em memria activa.

Account Settings

Para acedermos consola de gesto web, devemos aceder a http://ip da mquina.


Quando se acede a primeira vez, no pedido nenhum login e password.
Acede-se pgina e -nos apresentado um resumo do sistema.
No canto superior direito apresentado uma luz vermelha a piscar, com um aviso, que serve para
avisar o utilizador que precisa de mudar a password do utilizador admin.

Quando se carrega na luz vermelha, dada a informao que um aviso critico e que devemos
mudar o quanto antes a password de gesto.

Dentro das opes de Account temos um quadro de change password, onde podemos tambm
mudar a password do utilizador root.

Num quadro ao lado temos um menu onde podemos adicionar utilizadores ao sistema.

Outro quadro serve para criamos grupos e adicionarmos utilizadores a esses grupos.

System Settings

Dentro das opes de sistema a primeira opo adicionar e gerir cron jobs.
Para quem no sabe o que o cron, equivalente ao windows ao schedule tasks, onde podemos
adicionar uma tarefa seja executada em certos perodos de tempo.

Em seguida temos as opes de ntp, que serve para sincronizar a hora do computador a partir da

internet.
Por defeito, a opes est activada e usa os servidores do FreeBSD.

Depois temos as opes de reporting, onde esto diversos grficos de status do sistema, como
utilizao do processador, memria, rede, etc.

O ponto a seguir serve para definir as opes do rsync. O rsync serve para sincronizar pastas e
ficheiros entre dois ou mais computadores.
Neste ponto podemos definir que pastas queremos sincronizar, em que sentido e com que perodo
de tempo.

No menu de S.M.A.R.T. podemos seleccionar vrios testes a fazer aos discos da mquina para ver
o seu estado e com opes de aviso, como o envio de um email.

No tab de settings temos vrias sub-categorias.


A primeira, general temos vrias opes simples da consola web de gesto, como o uso ou no de
https, a porta onde corre, a linguagem usada, localizao, etc.

Em advanced, como o nome diz, temos opes mais avanadas, como mostrar mensagens de
status no footer da pgina, ver sempre as opes avanadas nos diferentes quadros, etc.

Temos em seguida as opes de email para que o sistema possa enviar emails.

Em ssl temos as opes de gesto de certificados da mquina.

Seguindo para a opo seguinte, temos os sysctls que so opes avanadas que se podem passar
ao kernel de FreeBSD.
As opes so passadas por texto e preciso que o utilizador saiba bem o que est a fazer.

Em system information temos o mesmo quadro que aparece quando acedemos a primeira vez
mquina e tem o resumo das propriedades de sistema.
Por ltimo, temos os tunables, que tal como o sysctls so comandos avanados, mas para o

sistema de ficheiros ZFS.

Network Settings

Dentro das opes de rede, primeiro temos as opes gerais. Nome do computador, domnio, defailt
gateway e servidores de dns.

A opo seguinte para juntar dois ou mais interfaces de rede, para ter mais bandwidth. De
salientar que preciso que o equipamento de rede tambm suporte esta opo.

A opo seguinte para criar rotas estticas, caso seja preciso.

Definio e configurao de Vlans de diferentes redes.

Temos o resumo das definies de rede.

Por fim, a opo para adicionar mais interfaces de rede.

Storage Settings

Esta seco a mais importante, dado que o FreeNAS virado para storage de rede.
O primeiro menu uma viso geral dos discos. Podemos limpar os contedos de cada disco, editar
as suas propriedades e ver as suas opes e a Smart.

Em seguida temos uma viso geral dos volumes. Podemos ver cada volume, criar e importar um

volume, de uma forma manual ou automtica.

Ao criamos um volume temos vrias opes e este um dos quadros mais importantes neste
produto.
O volume pode ser cria com o sistema de ficheiros UFS, que o tradicional de FreeBSD, mas se
queremos um sistema mais moderno e com muitas opes, devemos escolher ZFS, que o caso
deste exemplo.
Aqui, escolhi os 4 discos de 200 GB para criar o volume de teste.
Foro o uso de 4K por sector, que comea a ser o normal em discos mais modernos.
Como tipo de volume, escolhi Raid-Z2. Este um tipo de raid parecido com Raid 6, em que existe
dupla paridade, mas que em quatro discos, se perde metade do espao. Pode-se usar apenas Raid-Z,
em que apenas pode falhar um dos discos ou Raid 0 ou 1.
Escolhi para o volume ter deduplication. Esta uma opo interessante, mas que consome bastantes
recursos da mquina, por isso depende de volume para volume se faz sentido a sua utilizao.
Deduplication uma forma de consumir apenas um ficheiro a nvel de espao em discos, mesmo
que existam dois ou mais ficheiros iguais. Em casos de um file server com mltiplos utilizadores ou
um servidor de email, pode haver ganhos considerveis.
Nas opes extra, em ZFS, pode-se colocar outros discos que no pertencem directamente ao
volume, a fazer funes que ajudam sua segurana e performance.
Assim, coloquei um dos outros discos para ter s o Log do sistema de ficheiros e outro disco a fazer
de cache.
Pode-se ver assim que pode-se melhorar em muito a performance de um volume com discos mais
rpidos, por exemplo Ssds.
Por ltimo adicionei o ltimo disco para ser spare. Isto , este disco fica em standby para o caso de
um dos discos do volume principal avarie. Caso seja detectada uma avaria, este disco entra logo em
funcionamento.

Depois de criado o volume, na rea de gesto de volumes, conseguimos ver o status, tamanho e
ocupao do volume, alm de ter vrios botes que servem para efectuar algumas operaes com o
volume criado.

Uma das opes server para editar outras propriedades do volume, como activar compresso,
quotas, espao reservado e opo de ter ou no atime activado.

Outra opo est relacionado com as permisses. Quem o owner do volume, o grupo, as
permisses de escrita, leitura e execuo e se queremos que as permisses sejam aplicadas de uma
forma recursiva.

Podemos ver o status do volume em si, para editar as propriedades de cada disco, colocar um disco
offline ou substituir um disco.

Importante a possibilidade de criar um Dataset. Um dataset como se fosse um espao


reservado dentro de um volume, que pode ter um conjunto de opes completamente diferentes do
volume onde se encontra.
Neste exemplo, activo compresso, espao reservado e estabeleo uma quota para um dataset que se
encontra por baixo de um volume.

Outra opo muito importante a possibilidade de criar um snapshot, de um volume ou dataset.

Um snapshot serve para parar no tempo o estado e contedo do filesystem. Pode ser muito util para
backups, sem que ocupem mais espao.

Neste menu podemos ver que snapshots temos e podemos aqui reverter para um snapshot.

Podemos ainda clonar um snapshot que j se tenha.

Ainda relacionado com snapshots, podemos criar um job que de X em X tempo cria um novo
snapshot do sistema de ficheiros.
J a seguir explico porque isto pode ser importante.

Neste quadro podemos ver o resumo dos snapshots peridicos que so criados.

Uma das razes que os snapshots peridicos podem ser importantes para replicao. Isto ,
podemos ter uma mquina de origem e uma de destino em que a mquina de origem, de X em X
tempo exporta um snapshot, para um volume igual na mquina de destino, tendo assim replicao
entre duas mquinas.

Neste quadro podemos ver como se adiciona a replicao, com o nome do volume de destino, o
nome da mquina a porta, etc.

Aqui est a exibio do ou dos jobs que existem para efectuar um scrub a um volume.
Um scrub uma verificao e correco detalhada de erros de um volume.
Como algo que requer bastante processamento, no convm estar sempre a ser feito. Por defeito,
quando se cria um volume no FreeNAS, criado um job de scrub de 35 em 35 dias.

Este o quadro para criar ou editar um job para scrub de um volume.

Sharing Settings

Na seco de partilha de ficheiros, temos trs opes que esto ligadas aos trs principais sistemas
operativos no mercado.
CIFS (Windows), AFP (OS X), NFS (Linux).
No primeiro quadro, temos a possibilidade de criar um share de CIFS, com as opes normais de
uma partilha em Windows.

Depois de configurarmos um share, se o servio no estiver ligado, ele pergunta se queremos ligar.

Depois de iniciado o servio, podemos ver o estado no painel de servios.

Acedendo share, podemos comear a utiliza-la sem qualquer problema.

No final, temos o status da share e o boto para editar as suas propriedades.

Aqui temos o quadro para criar shares por NFS, com as suas diversas opes.

E por fim, o quadro para criar shares AFP, onde tem-se bastantes opes.

Services Settings

Na seco de servios podemos activar e configurar servios que so opcionais de usar.


tambm nesta seco que se podem instalar e configurar plugins.

O primeiro servio a integrao do FreeNAS com uma Active Directory em Windows, para
sincronizao de contas de utilizadores, grupos e computadores.

Segundo servio a configurao e activao de um dns dinamico, para quem tem um ip pblico
que est em dhcp.

Temos tambm um servidor de Ftp que tem dezenas de opes.

Servio de iSCSI, que permite, num dos casos, ter o computador como target de iSCSI.

Outra hiptese ter o FreeNAS como initiator de iSCSI.

As opes gerais de colocar a mquina como target de iSCSI.

Servio de integrao com uma directoria LDAP.

Chegamos parte dos plugins. Esta uma seco um pouco complexa, talvez demasiado complexa
para o utilizador normal, mas tecnicamente, penso que a melhor forma de implementar uma
seco de plugins.
Os plugins no basta chegar a um menu, escolher e instalar. preciso perceber como est
implementado.

Antes de instalar um plugin, preciso instalar um jail de base. Um jail um ambiente BSD
virtual, que est isolado do sistema real.
Dentro do ambiente virtual, utilizado pacotes de PC-BSD, chamados pbis.
Para tal, necessrio aceder ao site do FreeNAS, ir parte de plugins e fazer o download o jail pbi.
Nesta altura existem trs plugins. Transmission, minidlna e firefly. Para este artigo, vou usar o
Transmission.

Primeiro necessrio escolher um local, num volume no FreeNAS onde possam ser colocados
temporariamente os pacotes pbi.

No passo 2, necessrio escolher um local onde ficam os plugins, que nome dar ao ambiente virtual
(nome do jail), o endereo ip do ambiente virtual, que tem que ser um ip fixo, na mesma rede, mas
diferente do ip do FreeNAS. A netmask da rede onde est o jail e por fim, o caminho do arquivo dos
ficheiros dos plugins.

O terceiro passo escolher o pbi, que efectuamos download, do jail pbi e efectuar upload para o
FreeNAS.

Durante alguns minutos, feito o upload e instalao do jail com as configuraes que escolhemos.

S depois de acabar o setup do jail que podemos instalar os plugins. Na pgina principal dos
plugins, vai aparecer um boto Install Glugin. Carregando nessa opo podemos efectuar o
upload do pbi do Transmission.

Depois de instalado o Transmission, temos a opo de o iniciar como servio.

Nas opes deste plugin, temos todas as opes que podemos passar ao Transmission, que um
cliente de bittorrent.
Depois disto, podemos aceder ao transmission pelo browser via http://

Em seguida temos as opes do servio de SMART, para poder-se ver a condio em que se
encontram os discos.

O servio seguinte de SNMP que serve para ser usado com programas externos de monitorizao.

No servio seguinte, podemos ligar o acesso via ssh e temos as principais opes deste servio nesta
pgina web.

O servio seguinte para se poder ter um servidor de Tftpd.

Por ltimo, o servio de configurao e comunicao com uma UPS.

Processos e Shell via Web

No final do menu temos duas opes interessantes. Primeiro a possibilidade de ver os processos,
com o comando top, dentro de uma janela, no portal de gesto. Automaticamente feito um refresh

a essa janela e pode-se ver o top em tempo real.

Por ltimo, a possibilidade de abrir uma shell dentro do ambiente web. Esta shell tem todas as
funcionalidades de uma shell local na mquina.

Concluso
O FreeNAS um produto muito interessante de NAS em ambiente domstico. Na verdade, com
tantas opes e com o uso de ZFS, at possvel o seu uso em ambiente empresarial e de servidor.
A sua instalao muito simples, o portal de gesto muito amigvel, mas ao mesmo tempo tem
quase todas as opes para algum que conhea muito bem o que est a fazer. Pode-se at, neste
ambiente web, passar parmetros avanados ao kernel e ZFS.
Talvez a nica critica o novo sistema de plugins, que para o comum utilizador no muito
amigvel. No entanto, estamos perante um dilema, pois tecnicamente fcil de perceber que a
inteno criar isolamento entre os plugins e o sistema real.
O dilema se deveria ser mais amigvel desregrando a parte tcnica. No final do dia ganhou a parte
tcnica. Talvez um dia consigam que mesmo assim, seja mais amigvel.
Por fim, espero que tenham gostado do artigo e que vos possa ser til.