Skip to main content

Guia de Provisionamento e Clonagem de VMs no Proxmox

Este documento estabelece o padrão oficial da equipa de infraestrutura para a criação e clonagem de Máquinas Virtuais (VMs) no ambiente Proxmox VE.

O objetivo é garantir consistência, performance (ZFS) e evitar conflitos de rede (IPs duplicados, conflitos de chaves SSH e Zabbix).

Criação de VM do Zero (Instalação Limpa)

Ao criar uma VM a partir de uma ISO, siga sempre estas Best Practices da nossa infraestrutura:

  1. General: Marque a opção Start at boot se for um serviço crítico.

  2. OS: Escolha a ISO correta e certifique-se de instalar o qemu-guest-agent após o boot.

  3. System: * Deixe o Qemu Agent marcado como Enabled.

    • SCSI Controller: VirtIO SCSI Single (Garante melhor performance de I/O).

  4. Disks:

    • Storage: Sempre usar o pool local-zfs.

    • Discard: Marcar ✅ (Essencial para o ZFS liberar espaço apagado - TRIM).

  5. CPU:

    • Type: Alterar de kvm64 para host (Ativa AES-NI e expõe a arquitetura real do processador HP para a VM).

  6. Network:

    • Model: VirtIO (paravirtualized)

    • VLAN Tag: Inserir o ID da VLAN correspondente (ex: 10 para LAN, 99 para Gerência). Não aplicável se for conectada na bridge da DMZ.

2. O Padrão Ouro: Clonagem de VMs (Linux)

Para poupar tempo, utilizamos o método de clonagem. No entanto, clonar um sistema Linux exige um Ritual de Limpeza antes da máquina entrar na rede, caso contrário teremos duplicação de IPs no DHCP e conflitos de segurança.

PASSO 1: Clonar e Isolar a Rede

  1. No Proxmox, clique com o botão direito no Template/VM base e selecione Clone.

  2. Escolha Full Clone (Clone completo).

  3. MUITO IMPORTANTE: Antes de ligar a nova VM, vá em Hardware > clique na Network Device > clique em Edit e DESMARQUE a opção Connect.

  4. Ligue a VM e aceda através do Console do Proxmox (pois ela está sem rede).

PASSO 2: O Ritual de Limpeza (Sysprep Linux)

Logado no Console como root, execute os passos abaixo para tornar esta VM "única":

A. Alterar o Hostname

O nome antigo precisa ser removido para não conflitar nos logs e no Zabbix.

# Altere o nome no arquivo hostname
nano /etc/hostname

# Altere o nome antigo para o novo também no arquivo hosts
nano /etc/hosts

B. Resetar o Machine-ID (CRÍTICO)

O machine-id é usado pelo servidor DHCP para entregar o IP. Se duas VMs tiverem o mesmo ID, elas vão "lutar" pelo mesmo endereço IP.

# Limpar o ID atual
rm -f /etc/machine-id
rm -f /var/lib/dbus/machine-id

# Gerar um ID totalmente novo e único
dbus-uuidgen --ensure=/etc/machine-id
dbus-uuidgen --ensure

C. Regenerar Chaves do Servidor SSH

Se não fizer isto, o SSH vai acusar que a máquina sofreu um ataque Man-in-the-Middle ao tentar conectar.

# Apagar as chaves antigas
rm -f /etc/ssh/ssh_host_*

# Mandar o sistema gerar novas chaves
dpkg-reconfigure openssh-server

D. (Opcional) Limpar Histórico e Cache

Deixe a máquina limpa para o próximo administrador.

apt-get clean
cat /dev/null > ~/.bash_history
history -c

PASSO 3: Ligar a Rede e Finalizar

Agora que a máquina tem uma identidade totalmente nova e limpa:

  1. Volte ao painel do Proxmox.

  2. Vá em Hardware > Network Device > Marque a opção Connect (e confirme a VLAN Tag).

  3. Dentro do Console da VM, reinicie a máquina para aplicar tudo de forma limpa:

reboot

🎉 Pronto! A sua VM vai subir com um novo IP (entregue pelo PMR-SRV-DHCP), um novo Hostname, pronta e segura para ser configurada via SSH pelo MobaXterm/mRemoteNG.