Creating VMs

Create and configure virtual machines in Proxmox VE: hardware settings, OS installation, and best practices.

Creating VMs

This guide covers creating a virtual machine in your Cloud-PVE cluster using the Proxmox VE web interface.

Create a VM

  1. Click Create VM in the top right corner of the interface
  2. Follow the wizard:

General tab

  • Node: select the target node
  • VM ID: auto-assigned (leave default)
  • Name: give your VM a descriptive name

OS tab

  • Upload or select an ISO from local → ISO Images
  • Set Guest OS type and version (e.g., Linux 6.x for Ubuntu 22.04)

System tab

  • BIOS: use OVMF (UEFI) for modern OS, SeaBIOS for legacy
  • Machine: q35 (recommended) or i440fx
  • SCSI Controller: VirtIO SCSI single for best performance

Disks tab

  • Bus: VirtIO Block or SCSI (both fast)
  • Storage: local-lvm (NVMe-backed)
  • Size: set disk size in GB
  • Enable Discard for thin provisioning

CPU tab

  • Sockets: 1 (recommended for most workloads)
  • Cores: as needed
  • Type: host for best performance (if not migrating between different CPU generations)

Memory tab

  • Set Memory (MiB) as needed
  • Enable Ballooning for flexible memory allocation

Network tab

  • Bridge: vmbr0 (main network)
  • Model: VirtIO for best performance
  • Enable Firewall if you use Proxmox firewall rules
  1. Click Finish to create the VM

Install guest agent

After installing the OS, install the QEMU Guest Agent:

# Debian/Ubuntu
apt install qemu-guest-agent
systemctl enable --now qemu-guest-agent

# RHEL/CentOS
yum install qemu-guest-agent
systemctl enable --now qemu-guest-agent

Then enable it in VM → Options → QEMU Guest Agent.

VM templates

To create a template from an existing VM:

  1. Shut down the VM
  2. Right-click → Convert to Template
  3. Clone from template: Right-click template → Clone → choose Full Clone or Linked Clone

Best practices

  • Always install QEMU Guest Agent for proper shutdown and IP reporting
  • Use VirtIO drivers for NICs and disks
  • Enable TRIM/Discard for SSDs
  • Set appropriate CPU type, use x86-64-v2-AES for a good balance of compatibility and performance