A primeira decisão ao contratar um servidor no NT Datacenter é escolher entre KVM e LXC. As duas tecnologias rodam lado a lado nos clusters Proxmox VE da NTWeb, mas funcionam de formas bem diferentes — e essa diferença afeta custo, desempenho e o que você pode rodar.
O que são KVM e LXC
KVM (Kernel-based Virtual Machine) é um módulo do kernel Linux que transforma o servidor em hypervisor. Cada VM KVM tem seu próprio kernel, roda qualquer sistema operacional — Linux, Windows, BSD — e isola o hardware via QEMU. O KVM foi incorporado ao kernel mainline em 2007 e é mantido pela comunidade em linux-kvm.org.
LXC (Linux Containers) é virtualização em nível de sistema operacional. Todos os containers do mesmo host compartilham o kernel — o isolamento vem de cgroups e namespaces, primitivas já presentes no kernel Linux. O projeto oficial é o linuxcontainers.org. O Proxmox VE integrou LXC na versão 4.0, em 2015, substituindo o antigo OpenVZ.
Matriz de decisão
| Cenário | Escolha |
|---|---|
|
Rodar Windows, pfSense, FreeBSD, appliance de rede |
KVM |
|
Precisar de kernel próprio |
KVM |
|
Site, API, banco (MySQL, Postgres, Redis) |
LXC |
|
Laboratório, app pequeno, serviço auxiliar |
LXC |
|
SLA rígido com isolamento forte |
KVM |
|
Até 4 GB de RAM |
LXC |
|
Acima de 4 GB de RAM |
KVM |
Diferenças operacionais concretas
| Aspecto | KVM | LXC |
|---|---|---|
|
Tempo médio de boot |
30–60 s | 1–3 s |
|
Overhead de RAM para o SO |
200–400 MB | 20–50 MB |
|
Densidade em host de 128 GB |
20–30 VMs | 80–120 containers |
|
Snapshot ao vivo (RAM + disco) |
Sim | Somente disco |
|
Live migration entre nós |
Sim | Stop → migrate →start |
|
Trocar o kernel |
Sim | Não — usa o kernel do host |
|
Módulos kernel exóticos |
Sim | Não |
|
Preço NT VPS (entrada) |
R$ 129,90 (4 GB) | R$ 29,90 (1 GB) |
LXC tem cerca de 10x menos overhead de RAM e 20x menos tempo de boot. Na densidade de 100 containers por nó operada pela NTWeb em hosts de 128 GB, isso significa quase 1 GB a mais disponível por aplicação — em vez de ser consumido pelo SO da VM.
- NT VPS LXC: teto de 4 GB de RAM. Acima disso, o cliente migra para NT VPS KVM ou NT Cloud KVM.
- Docker em LXC: roda com a flag
nesting=1. Os templates NTWeb já trazem habilitado. - Windows: sempre em KVM, sem exceção — LXC só roda Linux.
- Kubernetes produtivo: KVM, pelo isolamento do kernel.
- Oversell de RAM: permitido em LXC com fator 1,5x; proibido em KVM.
Casos reais
- Zabbix monitorando até 50 hosts: LXC 4 GB. Acima de 150 hosts, KVM 4 GB pelo fsync mais agressivo do agente.
- FreePBX em produção: sempre KVM. Módulos de áudio (
dahdi,chan_dahdi) exigem kernel próprio. - Postgres dedicado: LXC até 4 GB. Acima disso, KVM pela previsibilidade de I/O.
Posso trocar depois?
De LXC para KVM exige reinstalar e restaurar dados — não existe conversão direta. Antes de mudar, tire snapshot do LXC e exporte o que importa (dump do banco, tarball de /var/www, arquivos de configuração).
Dentro do mesmo tipo, upgrade de CPU, RAM ou disco é feito pelo painel sem necessidade de reinstalação. Veja o artigo sobre upgrade de recursos para o passo a passo.
Perguntas frequentes
KVM é mais seguro que LXC?
Em termos de isolamento, sim. KVM virtualiza CPU, memória e dispositivos em anéis de hardware (VT-x da Intel ou AMD-V da AMD), enquanto LXC depende de namespaces do kernel compartilhado. Para ambientes regulados — PCI-DSS, dados sensíveis de terceiros — prefira KVM. Para apps comuns com kernel bem atualizado, LXC é suficientemente seguro. A NTWeb usa LXC unprivileged por padrão, com UID mapping, conforme descrito em Proxmox Wiki — Unprivileged LXC.
Posso rodar Docker dentro de LXC?
Pode. Basta a flag nesting=1 no container e montar /dev/kmsg. Os templates NTWeb já fazem isso. Há penalidade de 5 a 10% em I/O pelo duplo cgroup, imperceptível em aplicações web comuns.
Qual a diferença entre LXC e Docker?
LXC é um container de sistema: roda systemd, múltiplos processos, se comporta como uma VM leve. Docker é um container de aplicação: um processo por container, imutável, pensado para orquestração. Você roda Docker dentro de um LXC — não o contrário.
Quanto custa cada um na NTWeb?
NT VPS LXC: 1 GB R$ 29,90 / 2 GB R$ 49,90 / 4 GB R$ 79,90.
NT VPS KVM: 4 GB R$ 129,90 / 8 GB R$ 249,90 / 16 GB R$ 499,90 / 32 GB R$ 999,90 / 64 GB R$ 1.999,90.
LXC tem alguma limitação de segurança conhecida?
Tem. Como o kernel é compartilhado, uma vulnerabilidade local de privilege escalation no kernel do host afeta todos os containers. Por isso a NTWeb mantém o kernel do host atualizado e usa LXC unprivileged por padrão.