Escrito por: Rodrigo Gomes

Instale o TrueNAS Scale no Hyper-v

Primeiros passos com TrueNAS

O que é o TrueNAS Scale?

O TrueNAS SCALE é uma versão do TrueNAS baseada em Linux, especificamente projetada para oferecer uma plataforma de armazenamento escalável e flexível para ambientes modernos. Ao contrário do TrueNAS CORE, que é baseado em FreeBSD, o TrueNAS SCALE foi criado para ser altamente compatível com containers, virtualização e aplicativos de código aberto. Ele combina o poder do sistema de arquivos ZFS com a flexibilidade e a escalabilidade do Kubernetes e dos containers Docker, permitindo que você gerencie tanto o armazenamento tradicional quanto os containers em um único sistema.

Objetivo do laboratório

  • Instalar o TrueNAS SCALE em um ambiente virtualizado utilizando o Hyper-V.
  • Configurar uma rede interna dedicada para o laboratório, garantindo maior controle sobre os endereços IP atribuídos às máquinas virtuais.
  • Criar discos virtuais para armazenamento em RAID-Z1 e um disco de reserva (spare).
  • Configurar a interface de rede do TrueNAS SCALE com um IP estático, permitindo o acesso à interface web.
  • Criar um pool de armazenamento configurando o RAID-Z1 e o disco de reserva.

Instalação no Hyper-V

Neste laboratório, utilizaremos o Hyper-V como plataforma de virtualização para a implantação do TrueNAS SCALE. No entanto, vale destacar que a instalação também pode ser realizada em outros hypervisors, como VMware ESXi, Proxmox ou VirtualBox, de acordo com a preferência ou o ambiente disponível.

A topologia simulada para este ambiente de testes será composta pelos seguintes discos virtuais:

  • 1 disco destinado ao sistema operacional (boot)
  • 3 discos para armazenamento em configuração RAID-Z1
  • 1 disco adicional configurado como disco de reserva (spare)

Antes de iniciar o processo de instalação, é fundamental assegurar que o ambiente Hyper-V esteja corretamente configurado, com suporte a virtualização aninhada, e que os recursos de hardware alocados à máquina virtual atendam aos requisitos mínimos recomendados pelo TrueNAS SCALE. Isso inclui, entre outros:

  • Processador com suporte a virtualização (Intel VT-x ou AMD-V)
  • Mínimo de 8 GB de memória RAM (recomendado 16 GB para uso com ZFS)
  • Espaço em disco adequado para a criação dos volumes virtuais.

Preparando o ambiente

⚠️ Importante: Durante este guia, utilizaremos comandos via PowerShell para otimizar tarefas repetitivas e agilizar o processo de configuração. Certifique-se de executar o PowerShell com privilégios de administrador, a fim de evitar problemas relacionados a permissões.

Caso prefira, todos os procedimentos descritos também podem ser realizados através da interface gráfica (GUI) do Hyper-V e do sistema operacional

Endereçamentos de rede

Para uma gestão mais eficiente dos endereçamentos de rede no ambiente de laboratório, é recomendável a criação de uma rede interna dedicada. Essa abordagem permite maior controle sobre os endereços IP atribuídos às máquinas virtuais, além de evitar conflitos com outras redes em uso no host.

# 1. Criar switch interno
New-VMSwitch -SwitchName "vSwitchInterno" -SwitchType Internal

# 2. Configurar IP da interface vEthernet do host
New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceAlias "vEthernet (vSwitchInterno)"

# 3. Habilitar NAT
New-NetNat -Name "vNatInterno" -InternalIPInterfaceAddressPrefix 192.168.100.0/24

⚠️ Importante: Certifique-se de que não existam regras de NAT anteriores com o mesmo prefixo de rede para evitar conflitos. Você pode verificar as regras existentes com o comando Get-NetNat.

Após a configuração você pode consultar o novo Switch Virtual criado com o comando Get-VMSwitch

Get-VMSwitch

Crie os discos Virtuais

No exemplo vamos criar 4 discos virtuais para o armazenamento, com os comandos abaixo

# Diretório onde os discos serão criados
$directory = "E:\Hyper-V\VHD\LabTrueNAS" # Altere para o caminho desejado

# Certifique-se de que o diretório existe
New-Item -ItemType Directory -Path $directory -Force | Out-Null

# Criar 3 discos dinamicamente alocados de 64GB para Raid Z1
for ($i = 1; $i -le 3; $i++) {
    $path = Join-Path $directory "Disk$i.vhdx"
    New-VHD -Path $path -SizeBytes 64GB -Dynamic
}

# Criar 1 disco dinamicamente alocado de 64GB para Spare
$path = Join-Path $directory "Spare.vhdx"
New-VHD -Path $path -SizeBytes 64GB -Dynamic

Caso todos os comandos sejam executados corretamente, os arquivos .vhdx correspondentes estarão disponíveis no diretório de destino especificado.

Discos criados

Crie a maquina virtual

Para este laboratório, a criação da máquina virtual será realizada utilizando o Gerenciador do Hyper-V, considerando a simplicidade do procedimento. Abaixo estão os parâmetros recomendados para a configuração da VM:

  • Nome: TrueNAS Scale - LAB
  • Geração: 2ª Geração (Generation 2)
  • Memória: 12.288 MB (12 GB) – ative a opção de alocação dinâmica de memória
  • Rede: Conectada ao switch virtual vSwitchInterno
  • Disco Rígido: Utilize as configurações padrão sugeridas pela interface
  • Sistema Operacional: Selecione a ISO do TrueNAS Scale, que pode ser baixada diretamente no site oficial

💡 Lembre-se de que os discos de armazenamento adicionais serão inseridos posteriormente, conforme descrito nas próximas etapas do guia.

Em configurações da maquina virtual recém criada desative as opções

  • Segurança → Inicialização Seguro (Desabilitado)
  • Pontos de verificação → Habilitar pontos de verificação (Desabilitado)

Crie um novo controlador SCSI independente para os discos de armazenamento e anexe todos os discos criados anteriormente.

Discos adicionais

Instalação do TrueNAS.

Procedimentos de instalação.

  • Inicie a VM
  • Selecione: Start TrueNAS SCALE Installation
  • Console Setup: (1) Install/Upgrade
  • Choose Destination Media: [*] sda Virtual Disk — 127GiB
  • TrueNAS Installation: < Yes >
  • Web UI Authentication Method: (1) Administrative User (truenas_admin)
  • Crie a senha administrativa e confirme
  • Console Setup: (3) Reboot System

Configuração da interface de rede.

Assim que a instalação for concluída e a instância do TrueNAS estiver reiniciado será necessário configurar a interface de rede com um IP estático sendo que estamos utilizando um Switch Customizado que não possui DHCP

  • Selecione a opção: 1) Configure network interfaces
  • Selecione a interface de rede: eth0
  • Defina ipv4_dhcp: No
  • Selecione aliases:
  • Defina o IP: 192.168.100.10/24
  • Salve as configurações: < Save >
  • Aplique as configurações: < a >
  • Persista as configurações: < p >
  • Confirme para sair do assistente: < q >

Primeiros passos após a instalação

Neste ponto, a interface de rede do TrueNAS SCALE estará configurada com o IP estático, e o acesso à interface web pode ser feito através do navegador diretamente pelo host.

Vamos acessar a interface web do TrueNAS SCALE através do IP configurado http://192.168.100.10, e realizar o login com o usuário truenas_admin e a senha definida durante a instalação.

Realize o Login

Configuração de DNS

Após o login, é importante configurar o DNS para garantir que o TrueNAS SCALE possa resolver nomes de domínio corretamente. Isso é essencial para a comunicação com outros serviços.

  • Acesse Network → Global Configuration → Settings
  • Defina o DNS Server como
    • NS1: 1.1.1.1
    • NS2: 1.0.0.1
  • Default Gateway: 192.168.100.1

Configuração de Armazenamento

Agora que o TrueNAS SCALE está instalado e configurado, é hora de adicionar os discos virtuais criados anteriormente para formar um pool de armazenamento. Isso permitirá que você utilize o ZFS para gerenciar seus dados de forma eficiente e segura.

Nos iremos utilizar 3 discos virtuais de 64GB para criar um pool de armazenamento em RAID-Z1, e um disco adicional de 64GB como disco de reserva (spare).

Outra opções como (logs, cache e deduplicação) não serão abordadas neste guia, mas podem ser configuradas posteriormente conforme a necessidade.

  • Verifique os discos disponíveis para configuração em:
    • Storage → Disks
  • Para criar o pool de armazenamento, acesse:
    • Storage → Create Pool
  • General Info, defina o nome do pool como Datastore
    • Encryption: Disabled
  • Data Defina o tipo do pool como RAID-Z1
    • Disk Size: 64 GiB
    • Width*: 3
    • Number of vDEVs*: 1
  • Spare (optional)
    • Disk Size*: 64 GiB
    • Width*: 1
  • Revise as configurações e clique em Create Pool para criar o pool de armazenamento.
    • Confirme o Warning de formatação dos discos

⚠️ Importante: O processo de criação do pool irá formatar os discos selecionados, portanto, certifique-se de que não haja dados importantes neles antes de prosseguir.

Pool criado com sucesso

Este é o resultado final do pool criado com sucesso, e agora você pode começar a utilizar o TrueNAS SCALE para gerenciar seu armazenamento de forma eficiente e segura, lembrando que o TrueNAS SCALE também oferece suporte a containers e virtualização, permitindo que você expanda ainda mais suas capacidades de armazenamento e gerenciamento de dados.

Considerações Finais

O Objetivo deste laboratório foi proporcionar uma introdução prática ao TrueNAS SCALE, permitindo que você explore suas funcionalidades e comece a utilizá-lo em seu ambiente de testes. À medida que você se familiariza com a interface e os recursos do TrueNAS SCALE, considere explorar outras funcionalidades avançadas, como snapshots, replicação e integração com serviços de nuvem.

Se encontrou algum erro ou deseja sugerir melhorias, acesse o repositório do projeto no Github e fique à vontade para contribuir. Agradeço por acompanhar este guia e espero que tenha sido útil para você.