P
Proxmox VE Curso Profissional
Lição 2 de 6 ⏱ 14 min Iniciante

KVM e LXC

Compare virtualização completa com KVM e containers de sistema com LXC para escolher a tecnologia certa em cada cenário.

🎯 Objetivos desta aula

  • Explicar a diferença entre VM KVM e container LXC.
  • Identificar vantagens e limites de cada abordagem.
  • Escolher entre VM e container usando critérios técnicos.
  • Conhecer comandos básicos para inspecionar VMs e containers.

🔑 Pré-requisitos

  • Ter lido a aula "O que é Proxmox VE".
  • Entender a diferença básica entre sistema operacional host e convidado.

Duas Formas de Isolamento

O Proxmox VE oferece duas tecnologias principais para executar cargas de trabalho: KVM para máquinas virtuais e LXC para containers de sistema. As duas isolam aplicações, mas fazem isso em camadas diferentes.

Com KVM, cada máquina virtual tem hardware virtualizado e seu próprio kernel. Com LXC, o container compartilha o kernel do host, mas recebe espaços isolados para processos, rede, usuários e sistema de arquivos.

💡

Atalho mental

Use VM quando precisar de isolamento forte, kernel próprio ou sistema operacional diferente. Use LXC quando quiser Linux leve, rápido e eficiente, aceitando compartilhar o kernel do host.

KVM: Máquina Virtual Completa

KVM, Kernel-based Virtual Machine, transforma o Linux em um hipervisor usando extensões de virtualização da CPU, como Intel VT-x ou AMD-V. No Proxmox VE, QEMU fornece a emulação e o modelo de hardware virtual, enquanto KVM acelera a execução no kernel.

Uma VM KVM pode executar Linux, Windows, BSD, appliances de firewall e outros sistemas compatíveis. Ela enxerga dispositivos virtuais como CPU, memória, disco, placa de rede e controladoras.

Vantagens do KVM

  • Permite kernel próprio dentro do convidado.
  • Suporta sistemas operacionais diferentes do host.
  • Oferece isolamento mais forte que containers.
  • É adequado para appliances e sistemas que esperam hardware virtual dedicado.
  • Suporta recursos como snapshots, templates, cloud-init e live migration conforme o desenho do ambiente.

Custos do KVM

  • Consome mais memória e armazenamento que LXC.
  • O boot costuma ser mais lento.
  • Há mais camadas para diagnosticar: sistema convidado, hardware virtual, QEMU e host.

LXC: Container de Sistema

LXC, Linux Containers, fornece containers de sistema. Diferente de containers de aplicação como os usados em muitos fluxos Docker, um container LXC normalmente se comporta como uma pequena instalação Linux, com init, serviços, rede e usuários próprios.

No Proxmox VE, LXC é útil para serviços Linux que não exigem kernel próprio: DNS, reverse proxy, monitoramento, pequenos bancos, ferramentas internas, ambientes de teste e serviços administrativos.

Vantagens do LXC

  • Inicialização rápida.
  • Menor consumo de CPU, memória e disco.
  • Administração simples para serviços Linux.
  • Boa densidade de workloads por host.
  • Backup e restore integrados pela plataforma.

Limites do LXC

  • Compartilha o kernel do host.
  • Não executa Windows.
  • Pode exigir ajustes para workloads que precisam de módulos de kernel, acesso privilegiado ou recursos muito específicos.
  • O isolamento é diferente de uma VM completa e precisa ser avaliado em produção.
⚠️

Container não é VM pequena

Um container LXC pode parecer uma VM no dia a dia, mas não tem kernel próprio. Essa diferença muda segurança, compatibilidade e troubleshooting.

Comparação Direta

CritérioVM com KVMContainer com LXC
KernelPróprio no convidadoCompartilhado com o host
Sistemas suportadosLinux, Windows, BSD e appliancesLinux
IsolamentoMais forteMais leve, com outra fronteira de segurança
Consumo de recursosMaiorMenor
Tempo de bootSimilar a um servidor virtualMuito rápido
Melhor usoSistemas completos e workloads críticosServiços Linux leves e alta densidade

Critérios de Escolha

Escolha KVM quando:

  • O sistema for Windows ou outro não Linux.
  • A aplicação exigir kernel próprio.
  • Você precisar simular hardware ou firmware.
  • O fornecedor homologar apenas instalação em VM.
  • O isolamento forte for prioridade.

Escolha LXC quando:

  • A carga for Linux e não precisar de kernel próprio.
  • Você quiser economizar recursos.
  • O serviço for simples, interno ou horizontalmente replicável.
  • Você quiser criar ambientes descartáveis rapidamente.
  • O objetivo for densidade e velocidade operacional.

Procedimento: Inspecionar VMs e Containers

Em um host Proxmox VE, os comandos qm e pct separam claramente os dois mundos.

listar-convidados.sh bash

qm list pct list

Para ver a configuração de uma VM ou container específico, use o ID do convidado:

ver-configuracao.sh bash

qm config 100 pct config 101

IDs de VMs e containers compartilham o mesmo espaço numérico no Proxmox VE. Por isso, mantenha uma convenção simples para evitar confusão em ambientes maiores.

Exemplo de Decisão

Imagine um servidor de DNS interno baseado em Debian. Ele precisa de poucos recursos, sobe rápido e usa apenas recursos comuns de rede. LXC tende a ser uma boa escolha.

Agora imagine um firewall virtual com múltiplas interfaces, regras críticas e imagem homologada pelo fornecedor. Uma VM KVM costuma ser mais adequada, porque o appliance espera controlar seu próprio sistema operacional.

🔬

Exercício recomendado

Crie uma tabela com cinco serviços que você pretende hospedar. Para cada um, marque VM ou LXC e escreva uma justificativa curta baseada em kernel, isolamento, consumo e suporte do fornecedor.

Validação

Você entendeu a aula se consegue explicar:

  • Por que LXC é mais leve que KVM?
  • Por que Windows exige VM e não LXC?
  • Quando o compartilhamento de kernel vira um problema?
  • Quais comandos listam VMs e containers no Proxmox VE?

Boas Práticas

  • Não escolha LXC apenas por economia de recursos; valide compatibilidade e segurança.
  • Não escolha VM para tudo por hábito; densidade também importa.
  • Padronize IDs, nomes e tags.
  • Documente por que cada workload usa KVM ou LXC.
  • Teste backup e restore dos dois tipos antes de depender deles.

Fontes Para Aprofundar