Logo NT Web
  • KVM vs LXC imprimir

    • nt-datacenter, lxc, kvm, proxmox
    • 0

    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.


    Esta resposta lhe foi útil?

    « Voltar
    Este site utiliza cookies

    Utilizamos cookies para melhorar sua experiência e personalizar o conteúdo de acordo com suas preferências. Para saber mais sobre como utilizamos os cookies e como você pode gerenciá-los, acesse nossos Termos de Consentimento e Termos de Adesão e Responsabilidade. Ao continuar navegando, você concorda com o uso de cookies. Clique no botão abaixo para aceitar e continuar.