Introdução:
Usar um servidor Linux garante um bom nível de flexibilidade, pois você pode adicionar um grande volume de funções
na mesma máquina. Um único servidor pode compartilhar a conexão, rodar um proxy transparente, rodar o servidor
DHCP, compartilhar arquivos e impressoras e o que mais a imaginação mandar.
Entretanto, se você quer apenas um servidor de arquivos com suporte a vários discos em RAID e uma interface de
administração via web, assim como um NAS comercial, você pode experimentar o FreeNAS, que desempenha a função
de forma incrivelmente competente e pode ser configurado em poucos minutos.
Ele suporta o uso de RAID, compartilhamentos via CIFS (Samba), FTP, NFS e SFTP, além de oferecer um grande volume
de recursos de gerenciamento, centralizados em uma interface web, que pode ser acessada a partir de qualquer PC da
rede.
Você pode baixar o FreeNAS no: http://www.freenas.org
Na página estão disponíveis duas versões: O "FreeNAS Live CD" é a versão "padrão", onde você grava o arquivo .iso em
um CD-ROM e faz a instalação através dele, enquanto as "FreeNAS Images" são imagens binárias, que podem ser
gravadas diretamente em um HD ou em um cartão de memória flash.
O FreeNAS não é uma distribuição Linux, mas sim uma distribuição do FreeBSD, outro sistema Unix-like, muito usado
em servidores. Apesar disso, ele é bastante simples de instalar e de configurar, pois foi desenvolvido em torno da
interface de administração via web e de uma combinação de scripts em php e shell.
Ele pode ser instalado em qualquer PC com pelo menos 96 MB de memória RAM e ocupa apenas 32 ou 64 MB de espaço
em disco (de acordo com o modo de instalação escolhido). De acordo com o desempenho esperado, você pode até
mesmo utilizar um PC antigo que esteja sem uso, adicionando novos HDs até obter o espaço de armazenamento
desejado.
Pentium III com três HDs; um bom exemplo de máquina antiga para uso do FreeNAS
Mesmo um Pentium III ou um Celeron com o FreeNAS supera a maioria dos modelos de NASes dedicados em recursos.
Você pode comprar 4 HDs de 1 TB, por exemplo, e ter assim um NAS de 4 TB por praticamente o custo dos discos. Caso
necessário, você pode usar uma controladora SATA para instalar HDs atuais em um PC que oferece apenas interfaces
IDE. Hoje em dia elas são baratas:
Controladora SATA em versão PCI
Instalação:
Para instalar, baixe o "FreeNAS Live CD" e configure o setup do micro para dar boot através do CD-ROM. A tela inicial de
opções permite que você inicialize o sistema com o suporte a ACPI desativado ou em modo de segurança, duas opções
destinadas a solucionar problemas de compatibilidade em micros antigos.
Desativar o suporte a ACPI reduz o número de opções de gerenciamento de energia, mas não tem efeito sobre o
desempenho. O modo de segurança, entretanto, desativa o DMA e o modo de acesso de 32 bits aos HDs, o que reduz
brutalmente o desempenho de leitura e gravação. Deixe para usá-lo apenas em último caso.
Depois que o boot é iniciado, é exibida uma splash screen. O boot demora apenas alguns segundos, mas a imagem
continua sendo exibida até que você pressione Enter:
O principal motivo do FreeNAS ser tão pequeno é que ele não inclui aplicativos gráficos, já que toda a configuração é
feita através da interface web. A instalação do sistema, assim como a configuração básica é feita através de uma
interface em modo texto, bastante espartana.
Como o nome sugere, o FreeNAS Live CD é um live-CD, que permite testar o sistema antes mesmo de instalar. Você
pode configurar a rede (opção 2), acessar a interface de configuração em outro PC e brincar com as opções à vontade,
mesmo antes de alterar os dados nos HDs. Se a máquina tiver um drive de disquetes, é possível também salvar as
configurações usando um disquete pré-formatado, inserido no drive A:
Para finalmente instalar, acesse a opção 9 (Install/Upgrade to an hard drive/flash device, etc.), o que o levará a um
segundo menu, onde é possível escolher o tipo de instalação:
A opção 1 (Install 'embedded' release on flash device) é destinada à instalação em cartões de memória flash ou em
pendrives USB. Nessa modalidade, o sistema é instalado de forma compactada, ocupando apenas 32 MB de espaço em
disco. Para minimizar o volume de operações de leitura e gravação, o sistema roda inteiramente a partir da memória
RAM, usando a memória flash apenas para o carregamento inicial e para armazenar as configurações.
A vantagem desse método é que você fica com todos os HDs da máquina livres para criar arrays RAID e armazenar
dados. Se o BIOS da máquina suportar boot através das portas USB, você pode usar um pendrive, caso contrário você
pode usar um adaptador CF>IDE e um cartão de memória compact flash:
As opções 2 (Install 'embedded' release on hard drive) e 3 (Install 'full' release on hard drive) permitem instalar o
sistema em um dos HDs da máquina. A diferença entre elas é que a opção 2 instala o sistema de forma compactada, da
mesma forma que a opção 1, enquanto a opção 3 faz uma instalação padrão, com o sistema instalado de forma
descompactada, que ocupa 64 MB de espaço em vez de 32.
A vantagem da opção 3 é que você pode instalar softwares adicionais. Apesar de se comportar como um sistema
embarcado, o FreeNAS é na verdade uma instalação do FreeBSD, que suporta a instalação de pacotes adicionais e pode
ser personalizado conforme desejado.
Tanto no caso da opção 2 quanto na opção 3, é criada uma pequena partição para o sistema no início do HD e uma
partição para dados englobando o restante do disco (é necessário ativar a partição manualmente, como veremos a
seguir). Não existe opção de instalar sem formatar o HD, por isso certifique-se de que não existem dados importantes
antes de instalar. Também não é possível instalar o FreeNAS em dual-boot com outro sistema.
A instalação é bastante simples. O sistema confirma o device usado pelo drive de CD-ROM (o default é "acd0") e o
device do HD onde o sistema será instalado. Diferente do Linux, onde os HDs são vistos pelo sistema como "sda" e
"sdb", no FreeNAS eles são vistos como "ad0" (o primeiro HD) e "ad1" (o segundo). Se houver um pendrive plugado a
uma das portas USB, ele será visto pelo sistema como "da0".
Ao escolher a opção 3, ele pergunta também o tamanho da partição do sistema, em MB. No exemplo estou reservando
128 MB (o mínimo seria 64 MB) para ficar com algum espaço livre para uso posterior:
Depois de terminada a instalação, volte ao menu inicial (opção 7) e use a opção "7) Reboot" para reiniciar o micro. Não
desligue no botão, caso contrário você poderá perder arquivos do sistema que ainda estejam no cache de disco,
fazendo com que a instalação não funcione corretamente.
No boot seguinte, você voltará ao menu inicial, com a diferença de que a opção 9 não estará mais disponível, já que o
sistema já está instalado:
O último passo da instalação é configurar os endereços de rede, para que você possa acessar a interface web. Para isso,
acesse a opção 2 e forneça os endereços da rede, incluindo o endereço IP que será usado pelo NAS, o gateway e o DNS
usados na rede. Os únicos parâmetros obrigatórios são o endereço IP e a máscara (que deve ser fornecida na notação
do CIDR, onde o número "24" equivale à máscara 255.255.255.0), mas é interessante fornecer a configuração de rede
completa para que você possa usar a sincronização automática do horário do servidor via NTP.
Quando perguntado sobre a configuração do IPv6 responda "y" (mesmo que você não utilize IPv6 na sua rede). Se não
houver um servidor DHCP IPv6 disponível, ele simplesmente utilizará um endereço aleatório.
Com isso, a configuração está completa. Você pode remover o monitor e o teclado do servidor e deixá-lo ligado apenas
ao cabo de rede e ao cabo de energia, instalado em seu local definitivo.
Configuração Inicial:
O restante da configuração é feita através da interface web, acessada usando o endereço definido na configuração do
servidor, como em "http://192.168.1.251". O login default é "admin" e a senha "freenas". Depois de acessar pela
primeira vez, aproveite para trocar a senha de acesso, que é definida através da opção "System > General >
Password".
Inicialmente, nenhuma partição será acessada e nenhum compartilhamento ficará disponível para a rede. Para ativar a
partição de dados do HD onde o sistema foi instalado, acesse a opção "Disks > Management" da interface e use o
botão "+" no canto direito para adicionar o disco:
No menu seguinte, indique o disco que está sendo adicionado (ad0, no exemplo) e deixe a última opção com o valor
"Unformated". Se o NAS vai ficar ligado continuamente, é recomendável ajustar as opções "Hard disk standby time" e
"Advanced Power Management", de forma que o HD seja desligado depois de alguns minutos sem uso, economizando
energia. A opção "UDMA mode" deve ficar com o valor "Auto", a menos que o sistema tenha problemas para acessar o
HD. No final, clique em "Add" e em seguida no "Apply changes':
Depois de adicionado o disco, falta adicionar a partição criada pelo instalador. Para isso, acesse a seção "Disks >
Mount Point" e use o botão de adicionar.
Na opção "Type" escolha "Disk" e na opção "Disk" escolha o HD que acabou de adicionar na opção anterior (ad0). Na
opção "Partition" escolha "2" e na opção "File System" escolha "UFS". As opções "Name" e "Description" são apenas
descritivas, você pode preenchê-las com qualquer valor. Clicando no "add" e em seguida em "Apply changes" a partição
de dados fica finalmente disponível para uso:
Acesse agora a opção "Access > Users and Groups" e crie pelo menos um grupo e um usuário para acesso. É preciso
criar primeiro o grupo e em seguida criar o usuário.
A opção "Full Shell" permite que o usuário tenha acesso ao terminal de comando caso se logue no servidor via SSH. A
idéia do FreeNAS é que você possa fazer toda a configuração via navegador mas, de qualquer forma, o shell está
disponível para quem quiser modificar o sistema. Deixe a opção "Home directory" em branco para que seja usado o
diretório "/mnt" (onde são montadas todas as partições), já que a idéia é justamente criar compartilhamentos
envolvendo as partições de dados:
Os usuários criados aqui são para acesso aos compartilhamentos de rede, sem relação com a senha usada para acessar
a interface de administração.
Serviços e Compartilhamentos:
O passo final da configuração é ativar os serviços de rede desejados na seção "Services". O FreeNAS oferece acesso
via CIFS/SMB, FTP, SSH, NFS e AFP, além de oferecer suporte a arrays de discos iSCSI e sincronização de arquivos via
Rsync e Unison. Ou seja, os arquivos no servidor podem ser acessados através de praticamente todos os protocolos de
transferência de arquivos popularmente usados.
Por questões de segurança, nenhum destes serviços vem ativado por padrão, de forma que você precisa indicar
manualmente quais deseja utilizar. O arroz com feijão é o CIFS/SMB, que ativa o servidor Samba, e permite que os
clientes Windows e Linux (com o cliente Samba) tenham acesso ao servidor. O serviço é ativado através da opção
"Services > CIFS/SMB":
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.
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:
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. Aqui temos um screenshot dos dois compartilhamentos no ambiente de redes de
uma máquina Windows:
Além do Samba, o FreeNAS oferece suporte a todos os outros protocolos de rede que comentei, 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 [email protected]:/backup
Existem também clientes rsync para Windows, como o DeltaCopy, disponível no:
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
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. A página do projeto é a:
http://www.cis.upenn.edu/~bcpierce/unison/
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, disponível no http://www.opennms.org.
Raid:
Concluindo, temos a configuração de arrays RAID, que é um dos recursos mais interessantes do FreeNAS. Ele suporta o
uso de RAID via software, o que permite criar arrays RAID usando as próprias interfaces IDE ou SATA da placa mãe, sem
necessidade de qualquer hardware adicional. A idéia de "RAID via software" pode soar estranha a princípio, mas as
controladoras RAID incluídas na maioria das placas mãe utilizam o sistema "fake-RAID" onde também é usado
processamento via software (nesse caso feito pelo driver da controladora), de forma que o resultado é muito similar.
A principal limitação é que não é possível usar o HD onde o sistema foi instalado como parte do array RAID. Você pode
usá-lo para armazenar dados, ativando a partição com os passos que vimos anteriormente, mas não usá-lo em conjunto
com outros discos para criar o array RAID. Isso significa que você precisa de pelo menos três HDs (um para o sistema e
outros dois para o array RAID) para usar o recurso.
Para fazer raid usando apenas dois HDs, é preciso instalar o FreeNAS em outra mídia, como um pendrive ou um cartão
de memória flash. Outra opção é simplesmente usar um HD antigo para a instalação do sistema, deixando os HDs
"bons" para a criação do array. Como o FreeNAS ocupa apenas 32 ou 64 MB, você pode usar qualquer HD em bom
estado para a instalação do sistema, independentemente da capacidade.
Os modos RAID disponíveis são:
RAID 1 (Mirroring): No RAID 1 são usados dois HDs, onde o primeiro armazena dados e o segundo armazena um
backup completo (mirror) atualizado em tempo real. Se o primeiro HD falha, o NAS chaveia automaticamente para o
segundo HD, de forma que o sistema continua funcionando como se nada tivesse acontecido. Depois de trocar o HD
defeituoso, você pode restaurar o array, de forma a voltar a contar com o backup.
A desvantagem em usar RAID 0 é que metade do espaço de armazenamento é sacrificado. Ao usar dois HDs de 500 GB,
você ficará com apenas 500 GB de espaço disponível. Além disso, o desempenho é levemente inferior ao de utilizar um
único HD, devido ao trabalho de atualização do mirror no segundo HD.
RAID 0 (Striping): No RAID 0 todos os HDs passam a ser acessados como se fossem um único drive. Ao serem
gravados, os arquivos são fragmentados nos vários discos, permitindo que os fragmentos possam ser lidos e gravados
simultaneamente, com cada HD realizando parte do trabalho. Isso permite melhorar brutalmente a taxa de leitura e de
gravação e continuar usando 100% do espaço disponível nos HDs. O problema é que no RAID 0 não existe redundância.
Os HDs armazenam fragmentos de arquivos, e não arquivos completos. Sem um dos HDs, a controladora não tem como
reconstruir os arquivos e tudo é perdido.
No FreeNAS, você deve considerar o uso do RAID 0 apenas se você já migrou sua rede para o padrão Gigabit Ethernet,
já que em uma rede de 100 megabits o gargalo será a taxa de transferência da rede e não o desempenho dos HDs.
Tenha em mente que a taxa de transferência real em uma rede de 100 megabits é de pouco mais de 10 MB/s, marca
que é superada facilmente por qualquer HD atual.
RAID 5: Este modo é o ideal se você possui três ou mais HDs para o array RAID. Ele mantém uma camada de
redundância, que permite que o sistema continue funcionando caso qualquer um dos discos apresente defeito e, ao
mesmo tempo, utiliza um sistema de striping, que melhora o desempenho de acesso.
O RAID 5 usa um sistema de paridade para manter a integridade dos dados. Os arquivos são divididos em fragmentos e,
para cada grupo de fragmentos, é gerado um fragmento adicional, contendo códigos de paridade. Os códigos de
correção são espalhados entre os discos. Dessa forma, é possível gravar dados simultaneamente em todos os HDs,
melhorando o desempenho.
O RAID 5 pode ser usado com a partir de 3 discos. Independentemente da quantidade de discos usados, sempre temos
sacrificado o espaço equivalente a um deles. Em um NAS com 4 HDs de 500 GB, por exemplo, você ficaria com 1.5 TB
de espaço disponível.
É possível usar HDs de capacidades diferentes, mas isso não é recomendável, pois o sistema precisará nivelar por
baixo, sub-utilizando os outros discos. Ao juntar dois HDs de 500 GB e um de 400 GB em um array RAID 5, você fica
com apenas 800 GB disponíveis.
JBOD: No JBOD (Just a Bunch Of Disks) os HDs disponíveis são simplesmente concatenados e passam a ser vistos pelo
sistema como um único disco, com a capacidade de todos somada. Os arquivos são simplesmente espalhados pelos
discos, com cada um armazenando parte dos arquivos (nesse caso arquivos completos, e não fragmentos como no caso
do RAID 0). No JBOD não existe qualquer ganho de desempenho, nem de confiabilidade, ele é apenas uma forma
simples de juntar vários HDs de forma a criar uma única unidade de armazenamento.
Para configurar o array RAID, o primeiro passo é adicionar os discos usando a opção "Disks > Management". Com 4
HDs, por exemplo, os discos serão vistos pelo sistema como "ad0", "ad1", ad2" e "ad3". Adicione cada HD, usando a
opção "Unformated" no campo "Preformatted FS". Não se esqueça de clicar no "Apply changes" ao terminar:
O próximo passo é formatar cada um dos HDs usando a opção "Disks > Format". Selecione o HD a ser formatado,
escolha a opção "Software RAID" no campo "File system" e clique no botão "Format disk" para concluir o processo. Note
que nesse caso não são criadas partições, simplesmente a unidade inteira é formatada no sistema utilizado pelo driver
RAID:
Depois de formatar todos os HDs, acesse a opção "Disks > Software RAID" para criar o array. Os botões no topo da
tela permitem escolher o modo raid desejado.
Acesse a aba correspondente ao modo raid que será usado e use o botão "+" para criar o array. No menu seguinte,
escolha um nome para o array e marque os discos que farão parte dele. Note que o HD usado para instalar o sistema
não aparece na lista:
Clique no botão "add" e em seguida no "Apply changes" para concluir o processo. A criação de um array RAID 5 demora
um longo tempo, durante o qual o volume fica marcado com o status "rebuilding", que indica que o sistema está
calculando as informações de redundância, que são armazenadas nos setores reservados dos discos para permitir que o
sistema recupere os dados após a falha de um dos HDs. Aguarde até que o marcador de status passe a indicar
"COMPLETE" (você pode dar um refresh periódico na janela do navegador).
Depois de criado o array, falta apenas formatar o volume para finalmente poder usá-lo. Para isso, acesse novamente a
opção "Disks > Format". No campo "Disk", escolha agora o array RAID que acabou de criar e, no campo "File system",
escolha "UFS", que é o sistema de arquivos nativo do FreeNAS. Ao criar o array RAID, todos os HDs passam a formar
uma única unidade, de forma que ao formatar o volume, todos são formatados simultaneamente, criando uma única
partição:
A opção "Minimum free space" reserva parte do espaço disponível na partição (o default são 8%). Isso permite que o
sistema possa manter os arquivos da partição desfragmentados, o que resulta em um desempenho muito superior ao
de uma partição entupida até a borda. É recomendável manter os 8% de espaço reservado, a menos que você
realmente precise utilizar todo o espaço da partição, às custas do desempenho.
Acesse agora a opção "Disk > Mount Point" e use o botão "+" para adicionar o ponto de montagem, de forma que o
array possa finalmente ser usado pelo sistema. Selecione o array no campo "Disk", escolha a opção "EFI GPT" no campo
"Partition" e "UFS" no campo "file system":
A partir daí, basta ativar os serviços de rede desejados e criar os compartilhamentos para que o volume RAID possa ser
acessado através da rede. Se você fizer a configuração enquanto o array RAID está com o status "rebuilding", vai
perceber que o desempenho de acesso ficará abaixo do normal até a conclusão do processo, o que é absolutamente
normal.
Você pode monitorar o status dos discos através da opção "Status > Disks" da interface:
Em situações normais, os HDs aparecem com o status "ONLINE" e o array aparece com o status "COMPLETE", que indica
que tudo está funcionando. Caso um dos HDs falhe, o array passará a aparecer com o status "DEGRADED". O NAS
continuará funcionando normalmente, mas se um segundo HD apresentar defeito antes que você tenha a chance de
substituir o primeiro, você perderá todos os dados.
Para fazer a substituição do disco, acesse a opção "Disks > Management" para checar qual dos HDs deu defeito. Ele
aparecerá na lista com o valor "MISSING":
O próximo passo é desligar o NAS e substituir o HD por outro. Não é necessário usar outro HD da mesma marca ou
modelo, a única exigência é que o novo HD tenha uma capacidade igual ou maior do que a do disco que está sendo
substituído. Após reiniciar o FreeNAS, o disco voltará a aparecer na lista com o valor "ONLINE", sinal de que foi
corretamente detectado pelo sistema.
Os passos de recuperação mudam de acordo com o modo RAID utilizado. No RAID 0 o processo consiste em sentar e
chorar, já sem redundância e com os dados espalhados em ambos os discos, a falha de um dos drives causa a perda de
todos os dados. No JBOD você perde apenas os dados que estiverem armazenados no HD defeituoso (novamente sem
possibilidade de recuperação, a menos que você contrate os serviços de uma empresa especializada), mas você
continuará conseguindo acessar os arquivos armazenados nos outros discos. Justamente por isso é recomendável
utilizar sempre RAID 1 ou RAID 5, que são os modos que oferecem proteção contra falhas.
O processo de restauração de um array RAID 1 é feito em dois passos. Acesse a opção "Disks > Software RAID >
RAID 1 > Tools"; você verá que o array continua aparecendo com o valor "DEGRADED", o que é normal, já que o array
ainda não foi restaurado. O primeiro passo é fazer com que o sistema elimine o disco anterior, o que é feito escolhendo
o array no campo "Volume Name" e a opção "forget" no campo "Command". Isso faz com que o sistema "esqueça" o HD
que deu defeito e fique apenas com o disco bom.
Depois de clicar no "Send command", repita o procedimento, indicando agora o disco que foi substituído no campo
"Disk" e a opção "insert" no campo "Command". Isso restaura o array usando o novo disco, essencialmente copiando
todos os dados do outro HD para ele, de forma a recriar o backup.
Para restaurar um array RAID 5, acesse a opção "Disks > Software RAID > RAID5 > Tools". Selecione o array no
campo "Volume Name", o disco que foi substituído no campo "Disk" e o valor "insert" na opção "Command". Note que
nesse caso não usamos a opção "forget", que é usada apenas ao restaurar um array RAID 1:
O processo de restaurar o array RAID 5 é demorado, já que o sistema precisa ler os setores de paridade espalhados
pelos outros HDs e usá-los para restaurar os dados do HD que foi substituído, mas é possível usar o NAS durante o
processo, apesar do desempenho ficar abaixo do normal por causa da atividade dos discos. Em alguns casos, pode ser
necessário desmontar e montar o volume na opção "Disk > Mount" para que ele volte a ser acessado depois da
restauração.
Se, por outro lado, o problema não for com os HDs, mas sim com o próprio PC, basta remover os HDs e instalá-los em
outro micro. O FreeNAS detecta o hardware da máquina a cada boot, de forma que, desde que não exista nenhum
problema de compatibilidade entre o FreeNAS e o novo PC, o sistema voltará a funcionar exatamente da mesma forma
que no PC anterior.