TrueNAS lança plugin oficial para Proxmox VE (beta)

Quem usa Proxmox e TrueNAS junto conhece bem o fluxo de hoje: você configura o iSCSI target no TrueNAS, aponta no Proxmox, cria os LUNs na mão, gerencia snapshot em dois lugares e reza para não precisar redimensionar nada em produção. Funciona. Mas é manual, trabalhoso e escala mal. É o mesmo stack artesanal que documentei no guia de PBS em LXC com NFS no TrueNAS.
A iXsystems acaba de lançar o plugin oficial do TrueNAS para Proxmox VE em versão beta. E ele muda bastante esse fluxo.
O que é e o que muda
O plugin se instala em cada nó Proxmox e se registra como um storage backend nativo. Daí em diante ele conversa com a API do TrueNAS, não com o iSCSI diretamente. Quando o Proxmox precisa criar um disco de VM, o plugin pede ao TrueNAS para criar o ZVol correspondente, publica como LUN iSCSI ou namespace NVMe/TCP e mapeia ao target automaticamente.
Na prática: você cria a VM no Proxmox, escolhe o storage TrueNAS e não precisa abrir o TrueNAS em nenhum momento. O plugin cuida de todo o provisionamento no array.
O mesmo vale para o ciclo de vida: resize, snapshot, migração de VM entre hosts. Tudo passa pelo plugin, que executa as operações correspondentes no TrueNAS via API.
A parte que mais importa: snapshots ZFS instantâneos
Antes do plugin, quem guardava VMs em NFS no TrueNAS tinha cada disco como um arquivo QCOW2 grande numa share de rede. Snapshot no Proxmox significava trabalhar dentro desse arquivo. A própria documentação do Proxmox avisa que para discos grandes isso pode levar vários minutos, em casos extremos horas.
Com o plugin a lógica muda completamente. Cada disco de VM é um ZVol independente no array. O snapshot é feito pelo OpenZFS no TrueNAS, não pelo Proxmox. E snapshot ZFS não copia nada: registra o estado dos blocos naquele momento. A operação é quase instantânea independente do tamanho do disco e só consome espaço à medida que novas escritas acontecem.
Isso vale inclusive para live snapshots com RAM.
O que o plugin entrega nessa versão beta
- Provisionamento automático: criar VM no Proxmox e o ZVol nasce no TrueNAS sozinho
- Transporte: iSCSI e NVMe/TCP, você escolhe na configuração
- Thin provisioning: volumes criados sob demanda, com verificação de capacidade antes
- Resize: expandir disco direto do Proxmox, sem entrar no TrueNAS
- Snapshots ZFS: instantâneos via OpenZFS, com live snapshot de RAM incluso
- Multipathing e CHAP: compatível com as práticas comuns de iSCSI em produção
- LXC: gerencia root filesystems de containers também, não só discos de VM
- Validação de configuração: checa antes de fazer deploy, com autenticação por API key (aposenta o login SSH root que muita configuração ZFS over iSCSI exigia)
O que ainda fica fora do plugin: ISOs, templates de container e dumps de backup continuam em NFS ou SMB. O TrueNAS serve isso do mesmo sistema e do mesmo pool, mas por outra share. Para backup, o PBS com destino offsite continua sendo a peça certa do quebra-cabeça.
Como instalar
O plugin exige TrueNAS SCALE 25.10 “Goldeye” ou superior. Versões anteriores não são compatíveis.
No TrueNAS, a preparação mínima é esta
Você precisa ter no TrueNAS:
- Um storage pool criado
- iSCSI habilitado em Shares → Block Shares (iSCSI) → Turn On Service
- Um portal iSCSI configurado com IP e porta
- Um usuário com API key gerada
Guarda a API key em lugar seguro. Você vai precisar dela na configuração do plugin.
Nos nós Proxmox, instalação via APT
Para Proxmox VE 9.x (Debian Trixie):
bash <(curl -sSL https://raw.githubusercontent.com/truenas/truenas-proxmox-plugin/alpha/install.sh) \
--non-interactive --apt-install --apt-suite trixie
Instala em todos os nós do cluster.
Confirma a conectividade antes de configurar:
curl -kI https://IP-DO-TRUENAS/
timeout 3 bash -c '</dev/tcp/IP-DO-TRUENAS/3260' && echo 'iSCSI port reachable'
Wizard de configuração
Depois de instalado, baixa o script de configuração e cria um alias para facilitar:
curl -fsSL https://raw.githubusercontent.com/truenas/truenas-proxmox-plugin/alpha/install.sh \
-o /root/truenas-plugin-install.sh
echo "alias truenas-storage='bash /root/truenas-plugin-install.sh'" >> /root/.bashrc
source /root/.bashrc
Roda truenas-storage e escolhe a opção 1) Create new storage on TrueNAS (automated provisioning). O wizard pede:
- Nome do storage no Proxmox
- IP ou hostname do TrueNAS
- Porta da API (443 padrão)
- API key
- Modo de transporte (iSCSI ou NVMe/TCP)
- Nome do dataset
- IQN (autogerar ou customizar)
- IP do portal iSCSI
- Block size (16K é o padrão recomendado para workloads de VM)
Confirma o provisionamento e escolhe quais nós do cluster recebem a configuração. O storage aparece disponível no Proxmox imediatamente.
Dois modos de operação
Automated provisioning, para storage novo. O plugin cria tudo no TrueNAS (dataset, target, extent, mapeamento). Você só informa os parâmetros no wizard.
Manual (existing storage), para o storage que você já tem configurado e quer passar a gerenciar pelo plugin. Você cria os componentes no TrueNAS (initiator, target, dataset) e informa os nomes no wizard. Útil para quem já tem LUNs em produção e quer migrar para o novo fluxo sem recriar tudo.
O que observar antes de colocar em produção
O plugin está marcado como Early Adopters pela iXsystems. A Community Edition já tem acesso. O suporte Enterprise ainda está sendo validado.
Dois pontos de atenção que já apareceram nos primeiros testes da comunidade:
Snapshots criados fora do Proxmox dão problema. Se você tirar snapshot direto no TrueNAS, via interface ou agendamento, o Proxmox não sabe que esse snapshot existe e as operações de snapshot nativas do Proxmox podem conflitar. Há um PR aberto no GitHub para importar snapshots criados no TrueNAS para a configuração da VM no Proxmox, mas ainda não foi mergeado.
Serial de disco em VM virtualizada. Se você roda o TrueNAS como VM no próprio Proxmox (para lab ou teste), os discos virtuais não têm serial por padrão e o TrueNAS recusa criar o pool por seriais duplicados. Resolve adicionando serial=VALOR na configuração de cada disco SCSI no arquivo da VM em /etc/pve/qemu-server/VMID.conf.
Na minha leitura
Eu rodo Proxmox + TrueNAS em vários ambientes de cliente e conheço bem o trabalho manual que esse stack exige hoje, especialmente com mais de um nó, quando você precisa garantir que todos os hosts enxergam o mesmo storage com a mesma configuração.
O plugin resolve exatamente esse ponto: a configuração vira código gerenciado via API, o provisionamento é automático e consistente entre nós, e o ciclo de vida do disco fica no Proxmox sem precisar abrir o TrueNAS para as operações do dia a dia. É storage com cara de enterprise, sem licença por core como nas plataformas HCI proprietárias.
O snapshot instantâneo via ZFS é o diferencial mais concreto. Quem já esperou minutos pelo snapshot de um disco grande sabe o quanto isso muda.
Mas é beta, e beta se trata como beta. Por enquanto o lugar certo é o lab: instala, testa os dois modos, valida o comportamento de snapshot, simula falha de nó, observa como o cluster reage. Acompanha os issues no GitHub. O projeto está ativo e os problemas conhecidos estão sendo endereçados rápido.
Quando sair uma versão final com suporte Enterprise validado e os casos de borda resolvidos, principalmente a questão dos snapshots externos, esse plugin vai mudar bastante a forma de operar storage compartilhado no Proxmox. Para quem está calculando o custo real de operar fora do VMware, é uma peça manual a menos na conta. É o tipo de integração que deveria existir desde o começo. A partir de agora, deixa de ser gambiarra manual para ser fluxo nativo.