Como construir um NAS caseiro com TrueNAS

Construir um NAS (Network Attached Storage) caseiro com TrueNAS é uma das formas mais robustas e flexíveis de centralizar o armazenamento de dados em uma rede doméstica ou de pequeno escritório. Este artigo aborda o processo completo, desde o planejamento de hardware até a manutenção contínua, sob a perspectiva de Temas — Lista Final (1200 temas).

1. Planejamento e Escolha de Hardware

O primeiro passo é definir os requisitos do seu NAS. Pergunte-se: quantos terabytes de armazenamento preciso? Qual será o uso principal (backup, streaming de mídia, armazenamento de documentos)? Qual é o orçamento disponível?

Para um NAS caseiro com TrueNAS, recomenda-se:

  • Placa-mãe: Modelos com suporte a processadores Intel ou AMD de baixo consumo (ex: Intel Celeron, Pentium ou AMD Ryzen 3/5)
  • CPU: Processador com pelo menos 2 núcleos e 4 threads; 4 núcleos é o ideal
  • RAM: Mínimo de 8 GB (TrueNAS recomenda 8 GB para sistemas básicos). Para ambientes com muitos dados ou uso intensivo, considere 16 GB ou mais. RAM ECC é recomendada, mas não obrigatória
  • Controladora SATA/HBA: Para conectar múltiplos discos, uma controladora HBA (Host Bus Adapter) em modo IT é ideal
  • Discos rígidos: HDDs de 3,5" (7200 RPM ou 5400 RPM) são comuns para armazenamento. SSDs podem ser usados para cache (L2ARC) ou sistema operacional
  • Fonte de alimentação: Fontes eficientes (80 Plus Bronze ou superior) com capacidade para todos os discos

Exemplo de configuração básica:

Placa-mãe: ASRock J5040-ITX (SoC Intel Celeron J5040, 4 núcleos)
RAM: 16 GB DDR4 (2x 8 GB)
Discos: 4x Seagate IronWolf 4 TB (7200 RPM)
Fonte: Corsair RM550x (550W, 80 Plus Gold)
Armazenamento do sistema: SSD SATA de 120 GB (para boot)

2. Instalação do TrueNAS

O TrueNAS Scale (baseado em Debian Linux) ou TrueNAS Core (baseado em FreeBSD) são as versões atuais. Para este tutorial, usaremos TrueNAS Scale.

Passo 1: Baixe a ISO do TrueNAS Scale no site oficial e crie um pendrive bootável com Rufus (Windows) ou dd (Linux).

Passo 2: Inicialize o sistema pelo pendrive, selecione "Install/Upgrade" e siga o assistente:

- Selecione o disco de instalação (SSD de 120 GB)
- Configure a senha do usuário root
- Aguarde a conclusão e reinicie

Passo 3: Acesse a interface web pelo navegador usando o IP exibido no console (ex: http://192.168.1.100). Faça login com root e a senha definida.

Passo 4: Configure a rede:

Network > Interfaces > Edit
- Defina IP estático (ex: 192.168.1.100/24)
- Gateway: 192.168.1.1
- DNS: 8.8.8.8, 8.8.4.4

3. Criação e Gerenciamento de Pools e Datasets

O TrueNAS utiliza o sistema de arquivos ZFS, que oferece integridade de dados, snapshots e compressão.

Criação de um pool RAID-Z:

Storage > Pools > Add
- Nome: tank
- Layout: RAID-Z1 (1 disco de paridade) ou RAID-Z2 (2 discos)
- Selecione os discos (ex: 4 discos de 4 TB)
- Confirme a criação

Criação de datasets:

Storage > Pools > tank > Add Dataset
- Nome: documentos
- Tipo de dados: SMB (compartilhamento Windows)
- Compressão: lz4 (ativa por padrão)

Compartilhamento SMB:

Shares > Windows (SMB) > Add
- Caminho: /mnt/tank/documentos
- Nome: Documentos
- Habilitar

Crie usuários e grupos:

Accounts > Users > Add
- Nome de usuário: joao
- Grupo primário: joao
- Senha: (definir)
- Diretório pessoal: /mnt/tank/documentos/joao

4. Configuração de Serviços de Rede e Acesso Remoto

Samba (SMB/CIFS):

Services > SMB > Edit
- Habilitar
- NetBIOS Name: NAS-CASEIRO
- Workgroup: WORKGROUP

FTP/SFTP:

Services > FTP > Enable
- Configure porta 21 (ou 990 para FTPS)
Services > SSH > Enable (para SFTP)

Sincronização rsync:

Tasks > Rsync Tasks > Add
- Caminho de origem: /mnt/tank/documentos
- Caminho de destino: user@servidor-remoto:/backup
- Agendamento: Diário às 02:00

Acesso remoto seguro via WireGuard:

System > Services > WireGuard > Enable
- Configure interface e peers
- Utilize certificados SSL para a interface web (System > Certificates)

5. Implementação de Backup e Redundância

Snapshots ZFS:

Tasks > Periodic Snapshot Tasks > Add
- Dataset: tank/documentos
- Frequência: Horária (retenção de 24h)
- Automático: Sim

Replicação para outro NAS:

Tasks > Replication Tasks > Add
- Origem: tank/documentos
- Destino: servidor-remoto
- Agendamento: Diário

Teste de recuperação:

Storage > Snapshots > (selecionar snapshot) > Rollback
- Confirme a restauração
- Verifique a integridade dos dados

Monitoramento SMART:

Storage > Disks > (selecionar disco) > SMART Info
- Ative testes automáticos (Tasks > SMART Tests)

6. Otimização de Desempenho e Consumo de Energia

Ajustes de cache ZFS:

System > Tunables > Add
- Variável: vfs.zfs.arc_max
- Valor: 8589934592 (8 GB para ARC)
- Tipo: sysctl

Para L2ARC, adicione um SSD dedicado:

Storage > Pools > tank > Add vdev
- Tipo: Cache
- Selecione o SSD

Spindown de discos:

System > Advanced > Power Management
- Hard Disk Standby: 30 minutos
- ACPI: Enable

Monitoramento:

Dashboard > (métricas de CPU, RAM, rede, temperatura dos discos)

7. Segurança e Manutenção Contínua

ACLs avançadas:

Storage > Pools > tank > documentos > Edit Permissions
- Adicione permissões para usuários e grupos
- Use ACLs do tipo NFSv4 para controle granular

Atualizações:

System > Update > Check for Updates
- Aplique updates de segurança e versão

Backup da configuração:

System > General > Save Config
- Salve o arquivo .db em local seguro

Plano de contingência:

  • Mantenha um disco reserva (hot spare)
  • Teste a substituição de um disco com falha simulada
  • Documente a configuração e senhas

Referências