OffshoreVps
Guias2 out. 20266 min de leituraPor a equipe da OffshoreVps

KVM vs OpenVZ: qual virtualização de VPS é melhor?

Virtualização completa versus contêineres: isolamento, acesso ao kernel, suporte a Docker, garantias de RAM e como verificar em que o seu VPS realmente roda.

Nem todo VPS é construído do mesmo jeito. A tecnologia de virtualização por baixo define o quanto o seu servidor é isolado, qual software você pode executar e como ele se comporta. Os dois nomes que você mais verá são KVM e OpenVZ, além do LXC.

Cartões de comparação lado a lado de KVM e OpenVZ, cada um com um medidor de isolamento
Uma comparação visual rápida entre KVM e OpenVZ.

Duas formas de construir um servidor virtual

A virtualização completa (KVM) dá a cada cliente uma máquina virtual completa com seu próprio kernel. O hypervisor divide o hardware, e seu servidor se comporta como um computador de verdade.

A virtualização por contêiner (OpenVZ, LXC) compartilha o kernel do host entre todos os clientes. Cada contêiner enxerga seus próprios arquivos e processos, mas roda no mesmo kernel dos vizinhos.

Comparação lado a lado

KVMOpenVZ / LXC
KernelO seu próprioCompartilhado com o host
IsolamentoForteMais fraco
Executar Docker, WireGuard, módulos de kernel personalizadosSimFrequentemente limitado ou impossível
Executar WindowsSimNão
Garantia de RAMFixa e reservadaPode ser vendida em excesso ("burstable")
OverheadPequenoMínimo
Os passos deste guia em ordem: 1. Duas formas de montar um servidor virtual; 2. Comparação lado a lado; 3. Por que o KVM é a escolha mais segura; 4. Quando os contêineres ainda fazem sentido; 5. Como verificar o que você tem
Os passos deste guia, em ordem.

Por que o KVM é a escolha mais segura

  • Você escolhe o software. Docker, VPNs, firewalls como o nftables e ferramentas que carregam módulos de kernel funcionam sem pedir permissão.
  • Memória real. A RAM que você compra é atribuída à sua máquina. Hosts de contêiner às vezes vendem mais memória do que existe e torcem para que os clientes não usem tudo.
  • Melhor isolamento. Uma falha ou ataque na máquina virtual de um vizinho tem muito menos chance de afetar a sua.
  • Qualquer sistema operacional. Distribuições Linux, BSD e Windows rodam sem modificações.

Quando os contêineres ainda fazem sentido

Contêineres iniciam rápido e desperdiçam pouco, e por isso os hosts os usam em planos muito baratos e você os usa dentro do seu próprio VPS por meio do Docker. Servem bem para cargas simples que não exigem nada de especial do kernel.

Como verificar o que você tem

systemd-detect-virt
lscpu | grep -i hypervisor
cat /proc/user_beancounters   # exists only on OpenVZ

kvm no primeiro comando significa virtualização completa. Se o último arquivo existir, você está no OpenVZ.

Perguntas frequentes

O KVM é melhor que o OpenVZ?

Para a maioria dos usos, sim. O KVM dá a cada VPS o seu próprio kernel e um isolamento mais forte, então você pode executar qualquer SO e o Docker. O OpenVZ compartilha o kernel do host e é mais limitado.

Posso executar o Docker no OpenVZ?

Muitas vezes não, ou só com restrições, porque os contêineres compartilham o kernel do host. O KVM é a escolha mais segura para o Docker.

O KVM é mais caro?

Um pouco, porque os recursos são alocados de forma mais estrita, mas o isolamento e a compatibilidade geralmente compensam.