Nos últimos dois anos, aproveitamos a incrível queda nos tradicionais discos rígidos giratórios. Até as trágicas inundações na Tailândia, os preços caíram até 40 por terabyte.

Isso levou muitos de nós a atualizar nossos sistemas existentes com novos drives - deixando pequenas pilhas de drives de 160 GB a 500 GB espalhados pelo país, como caixões digitais.

A pergunta óbvia que surge disso é: o que fazer com essas unidades? É improvável que você só queira jogá-los fora; é um desperdício de uma boa campanha e ainda menos provável se tivesse dados pessoais. Além de usá-lo em um PC sobressalente que você está construindo, a solução que encontramos é usá-los no coração de um servidor de pool de armazenamento.

O pensamento por trás disso é baseado em três pensamentos: Primeiro, individualmente, essas unidades são muito pequenas e muito lentas para serem de uso real, mesmo em um chassi de unidade externa; Em segundo lugar, estes serão mais antigos e o fracasso da unidade é um problema real, depois de três anos, as unidades geralmente estão vivendo em tempo emprestado; Terceiro, todos nós precisamos de armazenamento seguro, sem problemas.

Infelizmente a solução mais óbvia, o JBOD é o menos desejável. Como uma matriz de armazenamento é péssima, ela não fornece nenhuma vantagem apreciável para redundância, velocidade ou conveniência real, além de poder inserir mais unidades. Se uma unidade falhar, todos os dados na unidade serão perdidos, se a distribuição for usada, todos os dados no JBOD como um todo serão perdidos.

A melhor solução é o RAID, mas não o RAID 0, pois ele usa striping e, portanto, não oferece redundância, e não o RAID 1, que fornece apenas espelhamento básico, e nem mesmo o RAID 01 que é um espelho de um array listrado.

O RAID 5 é a configuração preferida, pois usa striping com paridade distribuída. O que isso significa é que ele divide os dados em várias unidades para leituras / gravações aceleradas, mas permite a redundância criando um bloco de paridade distribuído em todas as unidades. Se uma unidade falhar, a matriz pode ser reconstruída e todos os dados recuperados dos blocos de paridade, hurra!

Perfeição alcançada?

Parece perfeito, não, bem, podemos fazer melhor. RAID é realmente muito antigo e agora existem soluções superiores.

Digite ZFS (Zettabyte File System), que pode armazenar alguma quantidade idiota de dados medidos no nível zettabyte, que é 2 para a energia 70. ZFS foi lançado pela Sun Microsystem em 2005, por isso está atualizado e combina sistema de arquivos, gerenciamento de volume , integridade de dados e instantâneos ao lado da funcionalidade RAID-Z.

Se você está pensando que isso soa terrivelmente complicado, não tenha medo, a melhor implementação para implantação em casa é o FreeNAS do site www.freenas.org..

Este é um sistema operacional baseado no FreeBSD de peso leve e brilhante projetado para caixas de armazenamento conectadas à rede. O suporte para o ZFS foi integrado desde por volta de 2008, mas isso foi muito melhorado no início de 2011.

Há algumas situações específicas que não estamos cobrindo aqui que podem surgir. O primeiro é o PATA, mas estamos assumindo que eles são muito antigos e lentos demais para valer a pena considerar. Isso não quer dizer que não seja possível, mas você está limitado a quatro dispositivos na melhor das hipóteses e, potencialmente, dois em placas-mãe mais recentes.

Um problema mais recente é com configurações SSD e híbridas - isso é um pouco além deste artigo - já que o ZFS permite a aceleração do acesso de leitura ou do registro selecionando uma única unidade para armazenar esses dados ao criar volumes. Vamos mencionar o recurso no passo a passo principal, mas isso é voltado para soluções de desempenho dedicadas.

Dividindo os cabelos

A parte importante da criação do seu pool de armazenamento é descobrir como organizar suas unidades para obter o melhor efeito. Apesar das vantagens do ZFS, ele não é mágico, ele ainda herda a falha básica do RAID 5 de consertar o tamanho total da unidade na menor capacidade da matriz..

Molho fraco ouvimos você gritar. A melhor opção é criar um número de espelhos RAID 1 combinando unidades de tamanho idêntico ou muito semelhante, e depois permitir que o FreeNAS distribua todos esses conjuntos como um RAID 10 para quatro unidades ou RAID-Z para mais. O modo como é implementado é um pouco deselegante, já que requer a criação de dois volumes com o mesmo nome, o FreeNAS automaticamente divide esses conjuntos para um único conjunto de armazenamento.

O processo pode ser aplicado aos arrays RAID-Z exatamente da mesma maneira. Isso é útil já que uma vez que um RAID-Z é criado, unidades adicionais não podem ser facilmente adicionadas, mas é fácil adicionar um RAID-Z adicional e permitir que o FreeNAS resolva as complexidades da distribuição em todos esses recursos..

É claro que, se os dados não forem importantes, você poderá ativar a distribuição do ZFS, isso maximizará a capacidade de armazenamento ao custo da integridade dos dados. No entanto, se você estiver usando-o para armazenar dados localmente, para backups de arquivos ou dados fornecidos a partir da nuvem, por exemplo, jogos Steam locais, isso pode ser um risco aceitável para armazenamento de rede barato e abundante..

Se você se deparar com uma pilha de unidades antigas, isso pode ser uma boa maneira de usá-las até o dia em que elas morrerem..

Parte 1: uma caixa FreeNAS

Você não precisará de muitas partes

1. Hardware primeiro

O FreeNAS foi projetado para inicializar e executar a partir de um dispositivo de estado sólido; um cartão flash ou pen drive USB, principalmente porque libera uma porta de unidade, mas também libera espaço.

O ZFS é exigente e você precisará de pelo menos 1 GB de RAM, mas idealmente 4 GB, e o dispositivo de inicialização precisa ter 16 GB de tamanho. O sistema de arquivos padrão do FreeNAS só precisa de um dispositivo de inicialização de 2 GB e menos de 256 MB de memória do sistema.

2. Configuração do controlador

Já mencionamos muito o RAID, mas para a configuração de hardware, o RAID não é importante, na BIOS você deve configurar qualquer controlador host para executar no modo AHCI ou IDE, ocasionalmente isso é listado como modo JBOD se for um controlador RAID.

O sistema ZFS é uma solução RAID baseada em software, portanto manipula todo o armazenamento de distribuição e paridade ao lado de outras operações de alto nível..

3. Bando de discos

A parte complicada de conectar tudo isso em conjunto pode criar uma grande bagunça, é altamente recomendável implementar um bom sistema de gerenciamento de cabos. As braçadeiras de cabos são a solução óbvia e, depois de instaladas, a conexão de energia e dados ainda pode ser reutilizada mesmo se uma unidade falhar.

O ZFS oferece suporte a hot-swap em controladores e unidades compatíveis com AHCI para reparo e atualização em tempo real.

Parte 2: Criando um pool do ZFS

Impressione as senhoras com seu próprio array redundante compartilhado do ZFS

1. Decida a divisão

Você precisa decidir como as unidades serão montadas. O RAID 5 perde cerca de 30% de seu armazenamento para paridade com um array de três drives, a equação para eficiência de espaço é 1-1 / R, então quanto mais drives, mais eficiente a configuração é.

Os espelhos perdem 50% da unidade espelhada. Mas ambos fornecem integridade de dados forte. Se você é um tipo maluco, coloque-os juntos e continue até que um deles seja pop.

2. Crie o volume

Para este exemplo, estamos distribuindo duas matrizes espelhadas, mas o mesmo processo funciona para matrizes RAID-Z, se você quiser usar mais unidades, pode facilmente percorrer essa rota.

Na interface principal do FreeNAS, selecione a seção Armazenamento. Clique no botão "Criar volume", crie um nome de matriz e escolha as unidades para fazer parte da primeira matriz; para matrizes espelhadas, este tem que ser um número par de drives.

3. Opções do ZFS

Com as unidades desejadas na matriz selecionada, você precisará escolher a opção ZFS e o botão de opção 'Mirror' para criar a matriz. Para RAID-Z, selecione essa opção.

Você pode notar outro banco de opções relacionadas às outras unidades não selecionadas. Isso permite que você adicione drives de cache específicos para melhorar o desempenho de leitura / gravação de forma ideal usando um SSD, isso é em grande parte para matrizes comerciais.

4. Crie a faixa

Esta próxima parte não é muito intuitiva devido à seção relevante da interface FreeNAS. Para adicionar a segunda etapa do retrocesso do espelho separado, adicione as unidades restantes para criar a nova matriz espelhada.

Nomeie isso de forma idêntica à do primeiro espelho, uma vez criado, o FreeNAS automaticamente separa esses dados. Você pode visualizar o estado das unidades na matriz clicando em 'Exibir discos'.

5. Gerenciar o array

O Volume lógico aparece listado nesta guia Armazenamento com vários ícones que permitem gerenciar vários dos principais recursos. O primeiro ícone com o 'X' vermelho permite excluir o volume e restaurar as unidades brutas. O próximo ícone do Scrub verifica de forma assíncrona e corrige as unidades de quaisquer erros. Os dois últimos ícones permitem visualizar o status da matriz e as unidades dentro dela.

6. Crie um compartilhamento

Para criar um compartilhamento do Windows, você precisa clicar no botão "Serviços" superior e ativar o CIFS. Clique no ícone da chave ao lado e ajuste o grupo de trabalho e a descrição. Em seguida, clique na guia Compartilhamentos, clique em "Adicionar Compartilhamento do Windows", adicione um nome adequado, clique no botão "Procurar", escolha a matriz ZFS e clique em "OK". Para restringir o acesso na conta, você pode adicionar seus próprios grupos e usuários.

Parte 3: Instalando o FreeNAS

Colocar seu sistema operacional NAS favorito em um hardware real é fácil, confie em nós…

1. imagens ISO

Se ainda não o fez, baixe o último ISO FreeNAS de www.freenas.org. O sistema operacional é projetado para ser instalado ou executado diretamente de um stick USB ou cartão flash.

A maneira mais fácil de instalar tudo é gravar a imagem em um CD e instalá-la no sistema de destino a partir de uma unidade óptica. Se você quer apenas testar o FreeNAS, atualize o VirtualBox e ele será instalado em um ambiente virtual.

2. BIOS tweaks

É importante que o BIOS do seu sistema alvo suporte a inicialização de dispositivos USB externos, a localização varia de BIOS para BIOS. Mas o menu de inicialização dedicado ou as configurações avançadas precisam fornecer suporte para discos rígidos USB ou similares. Qualquer sistema feito na última década deve ser bom, apenas certifique-se que depois de ter instalado o sistema operacional que este foi selecionado.

3. Gravação direta de imagem

Também é possível gravar a imagem diretamente no dispositivo de inicialização de destino, como no seu drive USB, mas é mais complexo do que esperávamos. Para começar, você precisa do arquivo amd64.Full_install.xz e não do ISO da página de download. Você também precisa de um gravador de imagens, para o Linux este seria o comando DD, para o Windows baixe Image Writer que parece fazer o truque bem o suficiente.

4. Queime o bebê

Point Image Writer no arquivo de imagem e na unidade de destino e ele fará o resto. Além de selecioná-lo como a unidade de inicialização, o único problema real que você pode encontrar é um adaptador de rede incompatível. Há pouco que você pode fazer sobre isso além de adicionar uma nova placa de rede compatível. O FreeNAS mantém uma lista abrangente de hardware compatível aqui.