Você Conhece o Proxmox?

Olá! Vamos descobrir juntos essa tão falada solução de virtualização que vem crescendo desde a fatídica aquisição da VMware pela gigante Broadcom.

O Proxmox é um dos temas que irei trazer aqui com certa frequência. Afinal, o foco aqui é virtualização e infraestrutura como código. Vamos lá!

FUNDAMENTOS DO PROXMOX VE

O Proxmox Virtual Environment (PVE) é um ambiente de virtualização completo, bem suportado para servidores. É uma ferramenta de código aberto baseada na distribuição Debian GNU/Linux que gerencia contêineres, máquinas virtuais, armazenamento, redes virtualizadas e clustering de alta disponibilidade através de uma interface baseada na web ou através da interface de linha de comando. Dito tudo isso, o que vamos abordar nesse artigo?

Abordaremos os seguintes tópicos:

  • Proxmox VE hypervisor
  • Virtualização e conteinerização com PVE
  • Proxmox VE máquinas virtuais, KVM e QEMU
  • Conteinerização com PVE e LXC

Proxmox VE hypervisor

Proxmox VE é um Hypervisor tipo *2 de código aberto. A licença para Proxmox VE é especificamente projetada para garantir a cooperação com a comunidade debian. O PVE é administrado principalmente a partir de uma interface web integrada, da linha de comando localmente ou via SSH. Consequentemente, não há necessidade de um servidor de gerenciamento separado e as despesas associadas. Dessa forma, o Proxmox VE contrasta significativamente com soluções alternativas de virtualização corporativa de fornecedores como a VMware. As instâncias/nós do Proxmox VE podem ser incorporados em clusters PVE e administrados centralmente a partir de uma interface web unificada. E por fim, O Proxmox VE fornece migrações “vmotion”, a movimentação de uma máquina virtual ou contêiner de um nó de cluster para outro sem qualquer interrupção dos serviços. Esta é uma característica bastante única do PVE que só rivaliza com o indiscutivel VMware vsphere em termos de arquitetura.

Algumas informações complementares abaixo que fazem um apanhado de recursos entre Proxmox e o VMware vsphere.

FeaturesProxmox VEVMware vSphere
Hardware requirementsNão depende de HCL.Estrita conformidade com HCL
Integrated management interfaceBaseada em web e shell (navegador e SSH)Não. Requer servidor (vCenter) de gerenciamento dedicado com custo adicional.
Simple subscription structureSim, um suporte por assinatura pode ser obtido além da versão free que qualquer um pode baixar e usar por sua conta e risco com ajuda da comunidade;

baseada no número de tickets de suporte premium por ano e contagem de soquetes de CPU
Assinatura Cloud Foundation.
High availabilitySimSim
VM live migrationSimSim
Supports containersSimCusto adicional com TANZU usando a assinatura Cloud Foundation.
Virtual machine OS supportWindows e LinuxWindows, Linux e Unix
Community supportSimNão
Live VM snapshotsSimSim
Tabela comparativa entre htpervisors

Afinal, o tipo de hypervisor do Proxmox VE, é 1 ou 2? Se formos ficar presos nos conceitos de sistema operacional podemos afirmar que seria um hipervisor tipo 2 porque foi construído sobre o projeto Debian, como mencionado anteriormente, porque a camada de virtualização é criada sobre um sistema operacional Debian.

*Se perguntarmos ao chatgpt, ele dirá:

O Proxmox VE 8 é um hipervisor do tipo 1. Embora ele possa ser confundido com um hipervisor tipo 2 devido à sua instalação sobre o Debian GNU/Linux, ele funciona como um hipervisor tipo 1 porque o sistema operacional base (Debian) é usado exclusivamente para gerenciar as máquinas virtuais e os contêineres, sem funções adicionais de um sistema operacional geral. Isso o coloca na categoria de hipervisor tipo 1, que opera diretamente no hardware físico, oferecendo alta performance e eficiência.

Tipo de htpervisors

Por outro lado, um Hypervisor Tipo I (como o ESXi da VMware) ou o que chatgpt disse 🙂 é executado diretamente no bare metal sem a mediação de um sistema operacional. Ele não tem nenhuma função adicional além de gerenciar a virtualização e o hardware físico. Um ponto muito forte que garante segurança, confiabilidade, perfomance e estabilidade sem precendentes.

Tipo de htpervisors

Como o PVE fornece sua funcionalidade de virtualização? Por meio de três tecnologias abertas gerenciadas por meio de uma interface unificada baseada na Web:

  • LXC
  • KVM
  • QEMU

Para entender como essa base serve ao Proxmox VE, primeiro devemos ser capazes de entender claramente a relação entre virtualização (ou, especificamente, virtualização de hardware) e conteinerização (virtualização do sistema operacional). À medida que avançamos, seus respectivos casos de uso devem ficar claros.

Virtualização e conteinerização com PVE

Em última análise, é correto entender a conteinerização como um tipo de virtualização. No entanto, aqui, procuraremos primeiro distinguir conceitualmente uma máquina virtual de um contêiner, concentrando-nos em características contrastantes. Simplificando, a virtualização é uma técnica por meio da qual fornecemos recursos computacionais totalmente funcionais, sem uma demanda pela organização física, locais ou relativa proximidade dos recursos. Dito isso, temos:

Benefícios comerciais da virtualização:

  • Aumenta a utilização do servidor
  • Melhora os níveis de serviço
  • Simplifica a capacidade de gerenciamento e a segurança
  • Diminui os custos de hardware
  • Reduz os custos das instalações
  • Reduz os requisitos de capital e espaço
  • Reduz os custos de energia e resfriamento
  • Aumenta a eficiência por meio de ciclos de teste mais curtos

A esses benefícios, vamos adicionar portabilidade e encapsulamento: a capacidade exclusiva de migrar uma VM em tempo real de um host PVE para outro sem sofrer uma interrupção de serviço. O Proxmox VE possibilita a criação e o controle de máquinas virtuais através do uso combinado de duas tecnologias livres e de código aberto: Kernel-based Virtual Machine (ou KVM) e (Quick Emulator (QEMU). Usados em conjunto, nos referimos a essa integração de ferramentas como KVMQEMU.

KVM

O KVM é parte integrante do kernel Linux desde fevereiro de 2007. Este módulo do kernel permite que usuários e administradores do GNU/Linux aproveitem as extensões de virtualização de hardware de uma arquitetura; para nossos propósitos, essas extensões são o AMD-V da AMD e o VT-X da Intel para a arquitetura x86_64. Para realmente aproveitar ao máximo o conjunto de recursos do Proxmox VE, você vai querer instalar em uma máquina x86_64 com uma CPU que tenha extensões de virtualização integradas.

KVM htpervisor

QEMU

O QEMU fornece uma interface de emulação e virtualização que pode ser programada por script ou controlada por um usuário.

Emulação QUEMU

Visualizando a relação entre KVM e QEMU.

Sem o Proxmox VE, poderíamos essencialmente definir o hardware, criar um disco virtual e iniciar e parar um servidor virtualizado a partir da linha de comando usando QEMU. É claro que trabalhar com essas soluções só é produtivo se você estiver interessado no que acontece nos bastidores do PVE quando as máquinas virtuais são definidas. O gerenciamento de máquinas virtuais da Proxmox VE é o próprio gerenciamento do QEMU por meio de sua API.

Se você estiver familiarizado com os recursos de emulação do QEMU, talvez seja importante observar que não podemos gerenciar a emulação por meio das ferramentas e recursos que o Proxmox VE fornece, apesar de sua dependência do QEMU. A partir de um shell bash fornecido pelo Debian, é possível. No entanto, a emulação não pode ser controlada por meio das interfaces de administração e gerenciamento do PVE.

Conteinerização com PVE e LXC

Os contêineres são outro tipo de virtualização. Sinônimo de virtualização do sistema operacional, os contêineres tiveram um renascimento recente, após a pandemia. Em contraste com as VMs, os contêineres compartilham componentes do sistema operacional, como bibliotecas e binários, com o sistema operacional do host; uma máquina virtual não.

Virtual Machine vs Containers

Pensamento:

“Esse arranjo potencialmente permite que um contêiner seja executado de forma mais enxuta e com menos recursos de hardware emprestados do host. Para muitos autores, especialistas e usuários, os contêineres também oferecem uma vantagem demonstrável em termos de velocidade e eficiência. (No entanto, deve-se notar aqui que, à medida que recursos como RAM e CPUs mais poderosas se tornam mais baratos, essa vantagem diminuirá.)”

Para finalizar temos o LXC que é a terceira tecnologia fundamental que atende ao interesse final da Proxmox VE. Assim como o KVM e o QEMU, o LXC (ou Linux Containers) é uma tecnologia de código aberto. Ele permite que um host execute e um administrador gerencie várias instâncias do sistema operacional como contêineres isolados em um único host físico. Conceitualmente, então, um contêiner representa muito claramente uma classe de virtualização, em vez de um conceito oposto. No entanto, é útil manter uma distinção clara entre uma máquina virtual e um contêiner à medida que chegamos a um acordo com o PVE.

CONCLUSÃO

Neste artigo, vimos que existe mais um rival à altura para competir diretamente com o consolidado VMware vSphere, onde outros rivais falharam. Diferentemente do ESXi, que é de código fechado, o Proxmox VE é baseado no Debian e utiliza o KVM, QEMU e LXC, que são soluções de código aberto. Também vimos que o Proxmox pode executar tanto VMs quanto contêineres, sem custo adicional, a menos que você opte por obter suporte por assinatura. E por fim fizemos uma comparação somente entre hypervisors.

No próximo artigo, guiarei você através da instalação e configuração do seu primeiro servidor Proxmox VE. Vamos avançar e preparar nossa primeira instância PVE, que usaremos para hospedar contêineres e máquinas virtuais.

Até a próxima!

“Logo que, numa inovação, nos mostram alguma coisa de antigo, ficamos sossegados.”

Friedrich Nietzsche

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.