DEV Community

Jonas Oliveira
Jonas Oliveira

Posted on • Originally published at tecmestre.com.br

CT vs VM no Proxmox: Qual Usar e Como Criar (LXC vs KVM)

Depois que você instala o Proxmox, a dúvida mais comum é: crio uma CT (container) ou uma VM? No painel isso aparece como Create CT e Create VM — e escolher errado aqui vira dor de cabeça (principalmente com Windows, drivers, kernel e isolamento).

Neste guia você vai entender CT vs VM no Proxmox (LXC vs KVM), quando usar cada um e um passo a passo seguro pra criar container e máquina virtual sem chute.

📌 Leia também:
O que é Proxmox VE (PVE): guia completo
Como instalar Proxmox VE do zero (pós-instalação)
Painel Datacenter do Proxmox: o que é e como configurar

📌 Resumo rápido: CT vs VM no Proxmox

  • Quer rodar Windows? → vá de VM.

  • Quer rodar Linux "leve" (serviço, API, Nginx, DNS, etc.)CT costuma ser a melhor primeira opção.

  • Precisa de kernel próprio, driver específico, ou máximo isolamento?VM.

  • Quer algo simples, rápido e com menos overheadCT.

  • Vai rodar Docker?VM é mais previsível, mas CT funciona (requer ajustes em Features).

Painel Proxmox — botões "Create CT" e "Create VM" no node (árvore lateral)

O que é CT no Proxmox (Container LXC)

No Proxmox, CT significa container Linux (LXC). É um tipo de virtualização que usa isolamento do kernel do Linux e roda processos isolados, mas compartilhando o kernel do host.

Ponto crítico: como a CT usa o kernel do host, ela é limitada a guests Linux e você não "troca o kernel" dentro do container como faria numa VM.

Vantagem prática: containers têm menos overhead do que virtualização completa (VM) e costumam ser a opção mais "leve" pra serviços Linux. Um container típico consome ~50MB de RAM e inicia em poucos segundos.

Fonte oficial: o Proxmox explica que Linux Containers são leves e compartilham o kernel do host (por isso não rodam Windows).

O que é VM no Proxmox (QEMU/KVM)

No Proxmox, VM é virtualização completa com QEMU e aceleração por KVM. Em termos simples: a VM emula um computador e permite rodar sistemas operacionais sem modificar (Windows e Linux), com ótimo desempenho quando KVM está ativo.

Vantagem prática: VM é a escolha certa quando você precisa de outro sistema (Windows), kernel próprio, ou isolamento mais forte do host.

Fonte oficial: o Proxmox descreve QEMU/KVM como virtualização completa capaz de rodar sistemas sem modificar, com KVM acelerando os guests.

CT vs VM no Proxmox: tabela comparativa

CritérioCT (LXC)VM (QEMU/KVM)KernelCompartilha o kernel do hostKernel do guest (independente)Sistemas suportadosApenas LinuxLinux e Windows*OverheadMenor (~50MB RAM típico)Maior (virtualização completa)Boot timeSegundos~30s a minutosIsolamentoBom (unprivileged), menor que VMMáximo (kernel separado)DockerFunciona com ajustes (keyctl, nesting)100% compatível, sem ajustesGPU PassthroughLimitadoSuportado (PCI passthrough)Quando usar*Serviços Linux leves, DNS, proxy, APIsWindows, Docker produção, drivers específicos

Quando usar CT no Proxmox (exemplos reais)

  • Serviços Linux — Nginx, AdGuard, Pihole, proxy reverso, APIs.

  • Ambiente leve que você quer subir rápido e consumir menos recurso.

  • Vários serviços pequenos separados — um CT por serviço pra organizar e isolar melhor do que "tudo numa VM só".

  • Homelab com hardware limitado — containers usam menos RAM/CPU que VMs equivalentes.

Dica de segurança do Proxmox: ao criar CT, existe a opção de Unprivileged container (container não-privilegiado). Ele usa user namespaces e mapeia o root interno para um usuário sem privilégio no host, reduzindo impacto de escapes.

Quando usar VM no Proxmox (exemplos reais)

  • Windows (sempre VM — CT não roda Windows).

  • Quando você precisa de kernel/driver específico que não dá pra depender do host.

  • Quando você quer isolamento máximo entre o guest e o host.

  • Docker em produção — VM é mais previsível e evita ajustes de CT.

  • GPU passthrough — precisa de PCI passthrough completo.

O Proxmox descreve VM com QEMU/KVM como emulação/virtualização completa, capaz de rodar sistemas sem modificar e com desempenho alto com KVM.

Docker no Proxmox: instalar em CT (LXC) ou em VM?

Se você chegou aqui por causa de Docker/Portainer/Compose: VM costuma ser o caminho mais previsível (isolamento total, menos pegadinha de kernel/FS). CT (LXC) também funciona e economiza recurso, mas exige ajustes e pode aumentar o risco dependendo do que você habilitar.

⚠️ Aviso importante sobre segurança: habilitar nesting para rodar Docker dentro de CT não é recomendado por membros da equipe/fórum do Proxmox, porque pode expor /sys e /proc do host com permissões de escrita dentro do container. Se é produção e você quer "sem dor de cabeça", prefira VM.

Requisito comum em CT unprivileged: habilite keyctl em CT → Options → Features. Isso é citado como necessário para rodar Docker em unprivileged container. Se precisar de Docker "dentro do container"/alguns cenários com systemd, nesting também pode entrar — mas lembre do aviso acima.

CT → Options → Features — checkboxes keyctl e nesting habilitados

Sobre storage driver (overlay2): quando Docker falha por filesystem/driver, a referência mais confiável é a documentação oficial do Docker sobre OverlayFS/overlay2 e seus pré-requisitos.

Docker: Use the OverlayFS storage driver (overlay2)

📌 Leia também: se você ainda não planejou storage, veja primeiro Storage e Datacenter no Proxmox. Para mais detalhes sobre Docker em LXC, a comunidade Proxmox tem diversos tópicos práticos sobre o assunto.

Checklist de decisão (CT vs VM Proxmox)

  • É Windows? → VM.

  • É Linux e é só serviço leve? → comece com CT.

  • Vai rodar Docker? → VM (mais simples) ou CT com Features ajustadas.

  • Precisa de kernel próprio ou algo muito específico? → VM.

  • Quer reduzir overhead e simplificar? → CT.

  • Segurança/isolamento é prioridade máxima? → VM (ou CT não-privilegiada bem restrita).

Como criar uma CT no Proxmox (passo a passo)

Pré-requisito: você precisa ter um template de container disponível em algum storage. No Proxmox, templates são arquivos tar e podem ser baixados pelo GUI ou pelo comando pveam.

1) Baixar o template (GUI ou pveam)

Opção GUI: no storage (ex.: local), vá na área de templates e baixe uma distro (Debian/Ubuntu/Alpine).

Opção terminal: o Proxmox documenta o fluxo com pveam update, listar pveam available e baixar com pveam download para um storage (ex.: local).

Storage local → CT Templates — lista de templates disponíveis para download

2) Criar a CT (Create CT) e preencher o wizard

No wizard de criação, os campos "base" documentados pelo Proxmox incluem: Node, CT ID, Hostname, Password, SSH Public Key, opção de Unprivileged container (privilegiada vs não-privilegiada) e Nesting.

  • Selecione o node e clique em Create CT.

  • Defina CT ID e Hostname.

  • Configure Password e (se usar) SSH Public Key.

  • Deixe Unprivileged container habilitado (padrão recomendado pela doc) e só use privilegiado se você realmente confia no ambiente.

  • Features (se for rodar Docker): habilite keyctl em CT → Options → Features. Em CT unprivileged, o Proxmox documenta keyctl=1 como necessário para Docker. Nesting: habilite se você precisar de funcionalidades "de container dentro do container" (ex.: alguns cenários com systemd/Docker).

Wizard Create CT — aba General mostrando CT ID, Hostname, Password e opção Unprivileged

3) CPU, memória e storage

O Proxmox documenta que containers usam o kernel do host diretamente e que CPU/memória são controlados via mecanismos do Linux (cgroups). Na prática: defina cores e memória de acordo com o serviço.

Dica prática: para serviços leves (DNS, proxy), 1 core + 256-512MB RAM + 4-8GB disco costuma ser suficiente. Você pode ajustar depois sem recriar a CT.

No Proxmox, o disco "root" da CT é o rootfs. A doc também descreve mount points adicionais (mp0, mp1…) e opções como incluir mount point em backup.

Como criar uma VM no Proxmox (passo a passo)

No Proxmox, a VM é baseada em QEMU com aceleração por KVM, permitindo rodar SO sem modificar (ex.: Windows). O wizard de VM tem seções documentadas como General, OS e System.

1) General: node, VM ID e nome

  • Selecione o node e clique em Create VM.

  • Defina VM ID e Name.

2) OS: selecione a ISO e o tipo de guest

Na seção OS, a doc descreve opções como ISO Image, Type e versões específicas (ex.: "Microsoft Windows 11/2022"). Faça upload da ISO antes no storage.

3) System: BIOS/UEFI e opções do sistema

Na seção System, a doc cita configurações como BIOS/UEFI, Machine (i440fx ou q35), SCSI controller (VirtIO SCSI recommended), EFI Storage e QEMU Agent (quando aplicável).

Dica para Windows: use Machine q35, BIOS OVMF (UEFI), e instale os drivers VirtIO para melhor desempenho de disco e rede.

📌 Links internos úteis: se você ainda não montou storage direito, volte no seu guia do Datacenter e ajuste primeiro: Storage e Datacenter no Proxmox.

Perguntas frequentes (CT vs VM Proxmox)

CT no Proxmox roda Windows?

Não. CT (LXC) compartilha o kernel do host e é limitada a guests Linux. Para Windows, use VM.

VM é sempre mais segura que CT?

Em geral, VM oferece isolamento mais forte porque tem kernel próprio. No mundo de CT, o Proxmox recomenda atenção especial a unprivileged containers e desencoraja containers privilegiados fora de ambientes confiáveis.

O que é "Unprivileged container" no Proxmox?

É um container que usa user namespaces: o root dentro do container não é root no host. Isso reduz impacto de vários tipos de falha/escape e é a opção padrão ao criar CT.

Template de CT: de onde vem?

O Proxmox fornece templates básicos (Debian/Ubuntu/Alpine etc.) e também templates TurnKey. Eles podem ser baixados via GUI ou via pveam.

Docker em CT: sempre precisa de keyctl?

Em CT não-privilegiada (padrão), sim. O Proxmox documenta keyctl=1 como necessário para Docker funcionar. Em CT privilegiada, pode não precisar, mas aí você perde a segurança do unprivileged.

Quando devo preferir VM mesmo rodando Linux?

Quando você precisa de kernel próprio, drivers muito específicos, GPU passthrough, ou quer isolamento máximo. Para Docker em produção, VM também costuma ser escolha mais segura e previsível.

Próximos passos do roadmap Proxmox

Fontes e leituras recomendadas


Originally published at https://tecmestre.com.br

Top comments (0)