22 de set. de 2010

FreeNas + VMWare = Storage grátis


Use o VMWare para criar um servidor de arquivos ou storage sem usar um novo computador.

Os servidores virtuais estão em alta, por permitirem a criação rápida de serviços para uma rede sem mudança nas máquinas.Mesmo redes pequenas podem beneficiar-se de um PC que crie máquinas virtuais, para serviços comuns, como um firewall ou um servidor de arquivos. Outro ponto interessante é que o backup da máquina virtual, com todo seu conteúdo, é feito gravando-se apenas alguns arquivos. Neste tutorial, vamos usar o VMWare Workstation 6 para montar um servidor de arquivos virtuais, contando com a distribuição FreeNAS (um pacote derivado do FreeBSD) como sistema operacional. Utilizamos uma rede com suporte a DHCP, mas dá para usar IP fixo. Confira a instalação a seguir.

1) Instalação do VMWare

Antes de tudo, devemos instalar o VMWare. Faça download e instale normalmente, como qualquer aplicativo, sem ajustes diferentes. Será preciso reiniciar a máquina para que os dispositivos virtuais do VMWare sejam configurados no Windows. Depois da instalação, aproveite também para baixar a imagem ISO do FreeNAS.

http://lucasmsantini.blogspot.com

2) Criação da máquina virtual

Depois de tudo baixado e instalado, vamos criar a máquina virtual que funcionará como servidor de arquivos. Para isso, acesse o menu File - New - Virtual Machine. Clique em Next, escolha a opção Typical e pressione Next novamente. Na seção Guest Operating System, selecione Other e, na caixa Version, FreeBSD. Clique em Next.

http://lucasmsantini.blogspot.com


3) Mais detalhes

O processo de criação da máquina virtual requer um nome para ela. Digite alguma coisa, (por exemplo, FreeNAS) e clique em Next. Escolha a opção Bridged e pressione Next. Agora devemos escolher o tamanho do HD virtual. Aqui você escolhe quanto irá para o servidor de arquivos. Para testes, usaremos 10 GB . Clique em Finish, para terminar a criação da máquina virtual.

http://lucasmsantini.blogspot.com



4) FreeNAS

Com a máquina virtual pronta, é hora de instalar o FreeNAS nela. Para isso, na janela do VMWare, selecione o item do FreeNAS e, depois, clique duas vezes em CD-ROM. Na janela que se abre, escolha o item Use ISO Image, pressione o botão Browse e localize a imagem ISO do FreeNAS, baixada anteriormente. Clique, então, no link Start This Virtual Machine.
http://lucasmsantini.blogspot.com



5) Instalação no HD

Devemos, agora, instalar o FreeNAS na máquina virtual. Ao aparecer o menu Console Setup, tecle 9. Depois, tecle 2, para criar partições distintas para o FreeNAS e sua área de dados no HD virtual do VMWare. Depois, é preciso escolher o drive de CD e HD que serão usados. Tecle os valores dos únicos drives indicados (do VMWare). Espere o final da instalação e tecle Enter.

http://lucasmsantini.blogspot.com

 
6) Boot do FreeNAS

A seguir, devemos remover a imagem ISO como elemento de boot e permitir que o FreeNAS seja carregado do HD virtual. Para isso, clique no primeiro botão na barra do VMWare (Power Off). Clique duas vezes no atalho CD-ROM e selecione Use Physical Drive. Use o link Start This Virtual Machine novamente. Note que, após o boot, é mostrado o endereço IP utilizado pelo FreeNAS.

http://lucasmsantini.blogspot.com
 

7) Configuração

Para configurar o FreeNAS, usaremos a interface web do sistema. Abra um browser e acesse o endereço IP do FreeNAS (por exemplo, http://192.168.0.100) O usuário padrão é: admin, a senha é freenas



Acesse o menu Disks - Management. Clique no botão com símbolo + (Add Disk). Escolha ad0 em Disk e UFS em Preformatted FS. Clique em Add. Acesse o menu Disks - Mount Point. Clique no botão +. Escolha ad0 em Disk, 2 em Partition e UFS em File System. Tecle um nome descritivo ao disco virtual, como Backup e clique em Add.



8) Serviços

O próximo passo para tornar nosso servidor de arquivos funcional é habilitar alguns serviços. Para isso, acesse o menu Services - CIFS. Marque a opção Enable. Agora, em NetBiosName, tecle o nome que será usado para o servidor de arquivos na rede (por exemplo, ServArq). Em Workgroup, tecle o nome do grupo de trabalho usado na rede. Vamos também habilitar um servidor de FTP. Acesse o menu Services - FTP e marque a opção Enable.

http://lucasmsantini.blogspot.com


Detalhamento das configurações acima:

A opção "Authentication" indica o modo de acesso aos arquivos: a opção "Anonymous" simplesmente permite o acesso de qualquer um, enquanto a opção "Local User" limita o acesso aos logins cadastrados no "Access > Users and Groups". É possível também integrar o NAS a um domínio, fazendo com que ele use a lista de usuários cadastrados no servidor PDC; para isso você usaria a opção "Domain".
A opção "NetBiosName" indica o nome do servidor e "Workgroup" o grupo de trabalho, enquanto a opção "Local Master Browser" diz se ele deve ficar responsável pela navegação na rede. A opção "Windows Server" deve ficar em branco, a menos que você tenha um servidor Windows (ou Samba) na rede e queira que o servidor FreeNAS utilize-o como servidor WINS.
A opção "Time server" permite que os clientes Windows sincronizem o relógio do sistema em relação ao horário do servidor. Ao ativar esta opção, ative também a opção "Enable NTP" na seção "System > General". Ela faz com que o servidor sincronize o horário com um servidor NTP na Internet e forneça o horário correto para os clientes da rede.
Depois de ativar o serviço, acesse a aba "Shares" e clique no botão "+" para adicionar os compartilhamentos. A opção "Name" indica o nome do compartilhamento e a opção "Path" a pasta que será compartilhada.
Assim como na configuração do Samba, a opção "Browseable" indica que o compartilhamento deve aparecer no ambiente de redes e as opções "Hosts allow" e "Hosts deny" podem ser usadas para limitar o acesso ao compartilhamento, baseado nos endereços IP ou nos nomes das máquinas.
A opção "Recycle bin" cria uma lixeira, que permite recuperar arquivos deletados nos compartilhamentos de rede. Os arquivos ficam disponíveis dentro da pasta ".recycle", uma pasta oculta dentro de cada compartilhamento. As lixeiras simplesmente vão acumulando todos os arquivos deletados até serem esvaziadas manualmente, por isso é importante verificar o espaço consumido por elas regularmente.
Concluindo, a opção "Inherit permissions" faz com que pastas criadas pelos usuários dentro do compartilhamento sejam setadas com as mesmas permissões da pasta raiz. Ela é útil para evitar que um usuário não consiga modificar os arquivos criados pelo outro em compartilhamentos públicos.

index_html_7dacc9ad
As partições montadas no FreeNAS ficam disponíveis dentro da pasta "/mnt". Dentro dela, é criada uma pasta com o nome dado à partição, de forma que a partição "dados1" é montada dentro da pasta "/mnt/dados1". Ao criar um compartilhamento, você especifica a pasta à qual quer dar acesso, de forma que se você quiser compartilhar todo o conteúdo da partição, basta compartilhar a pasta correspondente.
É possível também criar sub-pastas, de forma a criar vários compartilhamentos diferentes dentro da mesma partição. Nesse caso, você deve criar as subpastas manualmente e criar compartilhamentos separados para cada uma.
Você pode executar comandos de terminal usando a opção "Advanced > Command", acessar a opção "6" (Shell) no menu que fica disponível localmente no servidor ou mesmo acessá-lo remotamente via SSH (veja a dica a seguir). Em qualquer um dos três casos, você pode criar as pastas usando o comando "mkdir", como em:
mkdir /mnt/dados1/share1
mkdir /mnt/dados1/share2
Se você tiver problemas para gravar arquivos dentro dos compartilhamentos, pode abrir as permissões de acesso da pasta usando o comando "chmod -R 777 pasta", como em:
chmod -R 777 /mnt/dados1/share1
Temos aqui um exemplo de configuração de compartilhamentos, com duas subpastas dentro da partição de dados, compartilhadas através de dois compartilhamentos diferentes:


index_html_m37e74e49

Os compartilhamentos do FreeNAS aparecem no ambiente de rede da mesma forma que os de um servidor Windows ou um servidor Linux rodando o Samba.

 Além do Samba, o FreeNAS oferece suporte a vários outros protocolos de rede, cada um suportado através de um serviço (ou daemon) que pode ser ativado através da opção "Services" no menu principal. Vamos então a um resumo dos serviços disponíveis:
FTP: Ativa um servidor FTP, que pode ser usado tanto como uma forma alternativa de disponibilizar arquivos na rede local quanto para disponibilizar arquivos via Internet. Assim como no caso do CIFS/SMB, é possível oferecer acesso anônimo (recomendável apenas se o servidor FTP ficará disponível apenas para a rede local) ou limitar o acesso aos logins cadastrados.
SSHD: O servidor SSH permite que os arquivos do servidor sejam acessados de forma segura via SFTP, usando os logins cadastrados. É possível também acessar o FreeNAS via terminal, logando-se via SSH, de forma a instalar pacotes adicionais e alterar manualmente a configuração do sistema. Para se logar como root, marque a opção "Permit root login" e use a mesma senha que dá acesso à interface web.
NFS: O NFS é um sistema de compartilhamento de arquivos suportado nativamente no Linux e diversos outros sistemas Unix. A vantagem do NFS é que ele oferece suporte às permissões de arquivos do Linux/Unix, o que permite que os compartilhamentos sejam usados para armazenar o diretório home e outras pastas do sistema. Para montar os compartilhamentos (nos clientes), é necessário que o serviço "nfs-common" esteja ativo. O comando básico para montar um compartilhamento NFS via terminal é "mount -t nfs servidor:/compartilhamento /pasta-local", como em:
mount -t nfs 192.168.1.251:/mnt/dados1 /mnt/arquivos
AFP: O AFP é um protocolo de compartilhamento de arquivos suportado pelo Mac OS. Ele era o protocolo preferencial até o Mac OS 9 e continua sendo suportado nas versões atuais do OS X.
RSYNCD: O rsync é um protocolo de sincronização de diretórios que é muito usado em scripts de backup. A grande vantagem do rsync é que ele utiliza um algoritmo de comparação binária, que permite que o cliente e o servidor verifiquem quais trechos dos arquivos foram modificados em relação ao último sincronismo e transfiram apenas as partes diferentes. Isso o torna uma ferramenta incrivelmente poderosa para realizar backups via Internet, ou em qualquer situação em que seja necessário reduzir o tempo e o volume de dados transferidos.
Para sincronizar a pasta local "/arquivos" com a pasta remota "/backup", no servidor "backup.empresa.com" usando o login "adm", por exemplo, tunelando o rsync através do SSH (para encriptar a transmissão), o comando seria:
rsync -av --rsh="ssh -l adm" /arquivos adm@backup.empresa.com:/backup
Existem também clientes rsync para Windows, como o DeltaCopy.

Unison: O Unison é outra ferramenta de sincronização de diretórios, bastante usada em repositórios de softwares e outros projetos colaborativos. Ele permite que múltiplas cópias de um mesmo repositório, em máquinas diferentes, sejam mantidas em sincronismo, com as alterações sendo replicadas automaticamente.

iSCSI Target: O iSCSI (pronuncia-se "ai-iscâzi") permite que um array de discos seja acessado remotamente através de uma interface de rede. Você pode pensar no iSCSI como um protocolo para encapsular comandos de acesso a disco, juntamente com os dados resultantes, em pacotes TCP/IP. O iSCSI é um dos protocolos mais utilizados em SANs (junto com o Fibre Channel) para permitir que servidores acessem grandes arrays de discos como se fossem unidades locais. Não é o tipo de coisa que você usaria na sua rede local, mas de qualquer forma a possibilidade está disponível
UPnP: O Universal Plug and Play é um conjunto de serviços que visa facilitar a configuração da rede, permitindo que os PCs e demais dispositivos conectados a ela divulguem os recursos que estão compartilhando. Isso permite que os compartilhamentos de arquivos e outros recursos de rede sejam acessados de forma automática pelos demais dispositivos. Imagine que compartilhando uma pasta com arquivos .avi através de um dispositivo que suporte o UPnP, ela será automaticamente vista e acessada pelo seu Playstation 3, que poderia então exibir os vídeos como se fossem arquivos locais.
Embora ainda existam problemas, ele é um padrão que lentamente vem crescendo. Ele é suportado por consoles e media centers como o Playstation 3 e o Xbox 360 e por softwares como o WinDVD e o PowerDVD. Como comentei, compartilhar uma pasta com vídeos usando o UPnP é uma forma simples de acessá-los nos clientes compatíveis.
Dynamic DNS: Assim como diversos modems ADSL e roteadores domésticos, o FreeNAS inclui clientes para o no-ip, dyndns, freedns e o zoneedit, que permitem sincronizar seu domínio virtual sem necessidade de manter outro PC da rede ligado.
SNMP: O SNMP permite que você monitore diversos dispositivos de rede através de uma interface centralizada. Cada dispositivo a ser monitorado (incluindo o NAS com o FreeNAS) roda um agent, que é um pequeno software de controle, que disponibiliza informações sobre o sistema, tais como o uso de memória, espaço em disco, utilização da rede e assim por diante.
As informações são agrupadas por um NMS (Network management system), que disponibiliza uma interface de gerenciamento (acessível de diversas formas), que permite ao administrador perceber rapidamente qualquer problema ou indício de problema. Um exemplo de NMS é o OpenNMS.


Dica: para configurar uma RAID, veja esta página.


9) Teste de acesso

Nosso servidor está pronto! Agora devemos apenas testar o acesso. Abra o Windows Explorer de uma máquina da rede e tecle \\Nas (substituindo ServArq pelo nome escolhido anteriormente). Será mostrado o disco virtual com o nome dado. Aproveite para criar pastas e gravar arquivos se quiser. Se quiser, abra um cliente de FTP e acessar o endereço IP doo FreeNAS. 

http://lucasmsantini.blogspot.com



10) Storage
Para quem quer um Storage, por exemplo, para utilizar em algum Cluster, segue os passos:

Baixe o Microsoft iSCSI iniciador do site da Microsoft, uma vez terminado o download, execute o instalador, ele irá colocar um atalho para a ferramenta de configuração iSCSI em seu desktop. Em seguida, inicie a ferramenta de configuração, a fim de adicionar um alvo iSCSI do nosso servidor. Na Aba Discovery, adicione o IP do FreeNAS como um portal de destino. Depois, vá até a aba Targets e você deve ver os targets iSCSI fornecidas pelo seu servidor FreeNAS. Marque a caixa de verificação, conforme você vê na tela abaixo.
media_12448136055642.png
Depois, clique em OK nas telas seguintes. Agora, o disco recém-anexado irá  estar disponível no Gerenciamento de Disco do Windows, para isto, clique com o botão direito em Meu Computador, na área de trabalho, escolha Gerenciar (Manage). 

Anexando uma letra de unidade e formatar o disco iSCSI

Uma vez detectado o novo disco, atribua uma letra de unidade, depois formate o disco (em NTFS). 

Agora você tem um disco iSCSI NAS anexado, utilize-o para compartilhar arquivos ou mesmo instalar serviços (rules) nos servidores Cluster do Windows. 

media_12448137861312.png

 

Conclusão

Quando você compara a quantidade de tempo e esforço necessários para executar uma instalação de base para muitos outros sistemas operacionais, tanto para usar como Storage ou simplesmente para compartilhar arquivos, chega-se a conclusão de que o FreeNAS é, por enquanto o melhor caminho para quem tem um tempinho, e gosta também de economizar dinheiro, pois você só precisa estar disposto a testar novos métodos e alternativaspara enriquecer seus conhecimentos. 

Uma vez instalado o FreeNAS utilize sua interface gráfica (WebUI) para descobrir várias outras funcionalidades. Havia esquecido de comentar ali em cima, mas você pode também configurar a interface para a linguagem Português PT-BR, para isto, basta acessar o menu System, General, mudar a linguagem e Gravar as configurações.

Tutorial retirado deste site, deste e deste e deste e deste também, e modificado por mim. Adicionei algumas telas e ajustei o conteúdo para ficar de melhor entendimento. 

Quem gostou, levanta a mão \o/  =] 

3 comentários:

Clayton disse...

Olá Lucas. Obrigado por compartilhar. Seu post foi de muita ajuda. Aproveitando a oportunidade, estou utilizando a versão 8 do FreeNAS e notei que não é possível (ou pelo menos não estou conseguindo) 'amarrar' o volume direto na pasta a ser compartilhada (como você o fez, considerando [dados1] a partição e [share1] a pasta).Nos testes que fiz o cliente Windows acessa a raiz da partição e visualiza as pastas, pois tanto ao criar o volume quanto o compartilhamento, o 'Path'só seleciona a partição, não permitindo selecionar ou até mesmo digitar o diretório que se quer compartilhar diretamente.

Whallace-sales disse...

Muito bom mesmo Lucas, Excelente ! uma dúvida tem algum aplicativo que eu possa medir o desempenho do FreeNAS , por exemplo ele configurado em Raid 0,1 e 5.medir taxa de uso de memoria e taxa de escrita e leitura ?

obrigado

Whallace-sales disse...

Muito bom mesmo Lucas, Excelente ! uma dúvida tem algum aplicativo que eu possa medir o desempenho do FreeNAS , por exemplo ele configurado em Raid 0,1 e 5.medir taxa de uso de memoria e taxa de escrita e leitura ?

obrigado

Postar um comentário