Skip to Content

Your First VM Step-by-Step

Your First VM Step-by-Step

A dark, minimalist photo of a computer monitor displaying the ChatGPT interface.

Photo by Matheus Bertelli on Pexels

Now that you're familiar with the Proxmox interface, let's create your first virtual machine from start to finish. We'll install Ubuntu Server 24.04 LTS as our example — but the process is nearly identical for any OS. By the end of this lesson, you'll have a running VM you can connect to and use.

Step 1: Download and Upload an ISO Image

Before you can create a VM, you need an installation disc. In Proxmox, this is an ISO file uploaded to your storage:

  1. Download the Ubuntu Server ISO from https://ubuntu.com/download/server (it's free).
  2. In the Proxmox interface, click your node name in the left panel.
  3. Click the "ISO Images" button in the center toolbar.
  4. Click "Upload" and select your downloaded ISO file.
  5. Wait for the upload to complete — a 2GB ISO typically takes 1-2 minutes on a local network.

Alternatively, you can download ISOs directly from Proxmox: click "Download from URL" and paste the ISO link. This saves you from downloading to your computer first.

Step 2: Create the VM

Click "Create VM" in the top-right. The wizard appears:

General Tab:

  • Node: Select your server (usually only one option if you're not clustered).
  • VM ID: Leave at the default (Proxmox auto-increments this).
  • Name: Give it a descriptive name like webserver-01 or ubuntu-dev.

OS Tab:

  • Storage: Leave default (local storage).
  • ISO Image: Select the Ubuntu ISO you uploaded.
  • Type: Linux (Proxmox auto-detects this from the ISO name).

System Tab:

  • Machine: q35 (modern, recommended for Linux).
  • BIOS: SeaBIOS (OVMF/UEFI only needed for specific cases like Secure Boot or some Windows configs).
  • SCSI Controller: VirtIO SCSI single (best performance for Linux guests).
  • QEMU Agent: Check the box — this enables better communication between Proxmox and the VM.

Disks Tab:

  • Storage: local-lvm (the default thin-provisioned storage).
  • Disk size: 32GB (sufficient for Ubuntu Server; increase if needed).
  • Bus/Device: VirtIO Block (best performance — requires VirtIO drivers, which are built into modern Linux kernels).

CPU Tab:

  • Cores: 2 (start here for most workloads; you can change this later even while the VM is running in some cases).
  • Type: host (uses your CPU's native instruction set for best performance; use x86-64 if you plan to migrate between different CPU generations).

Memory Tab:

  • Memory: 2048 MB (2GB is fine for a basic Ubuntu Server; use 4096 for desktop environments).
  • Minimum memory / Ballooning: Leave defaults. Ballooning allows Proxmox to reclaim unused RAM from the VM.

Network Tab:

  • Bridge: vmbr0 (your default network bridge connected to your physical NIC).
  • Model: VirtIO (paravirtualized) — best performance; the VM needs the virtio-net driver (built into modern Linux).
  • Leave VLAN tag empty unless you're using VLANs on your network.

Click "Confirm" and review your settings. Check "Start after created" if you want it to boot immediately. Click "Finish."

Step 3: Install the Operating System

  1. Select your new VM in the left panel and click "Console" in the center area.
  2. A new browser tab opens with the noVNC console showing the Ubuntu installer.
  3. Follow the Ubuntu installation prompts:
    • Choose your language and keyboard.
    • Set the installer network to DHCP (automatic — works in most environments).
    • Choose "Use entire disk" for storage.
    • Create your username and password.
    • Install OpenSSH server when prompted — this lets you SSH into the VM later.
  4. After installation completes, the VM will prompt you to reboot. The ISO is automatically ejected.

Step 4: Connect via SSH

After the VM boots, find its IP address:

# In the Proxmox node shell:
qm guest cmd  network-get-interfaces
# Or use the QEMU guest agent (if installed):
qm agent  network-get-interfaces

Look for the IPv4 address in the output, then SSH from your computer:

ssh username@192.168.1.101

Step 5: Install QEMU Guest Agent (if not installed)

The guest agent enables better integration — proper shutdown, IP reporting, and file system freeze during snapshots:

sudo apt update && sudo apt install qemu-guest-agent -y
sudo systemctl enable --now qemu-guest-agent

Key Takeaways

  • VM creation is a guided wizard — just follow the tabs left to right
  • Always use VirtIO for disk and network when the guest OS supports it (all modern Linux does)
  • Upload ISOs through the Proxmox interface or download them directly from a URL
  • The QEMU guest agent is essential for proper VM management — install it in every guest

Your First VM Step-by-Step

A dark, minimalist photo of a computer monitor displaying the ChatGPT interface.

Photo by Matheus Bertelli on Pexels

Now that you're familiar with the Proxmox interface, let's create your first virtual machine from start to finish. We'll install Ubuntu Server 24.04 LTS as our example — but the process is nearly identical for any OS. By the end of this lesson, you'll have a running VM you can connect to and use.

Step 1: Download and Upload an ISO Image

Before you can create a VM, you need an installation disc. In Proxmox, this is an ISO file uploaded to your storage:

  1. Download the Ubuntu Server ISO from https://ubuntu.com/download/server (it's free).
  2. In the Proxmox interface, click your node name in the left panel.
  3. Click the "ISO Images" button in the center toolbar.
  4. Click "Upload" and select your downloaded ISO file.
  5. Wait for the upload to complete — a 2GB ISO typically takes 1-2 minutes on a local network.

Alternatively, you can download ISOs directly from Proxmox: click "Download from URL" and paste the ISO link. This saves you from downloading to your computer first.

Step 2: Create the VM

Click "Create VM" in the top-right. The wizard appears:

General Tab:

  • Node: Select your server (usually only one option if you're not clustered).
  • VM ID: Leave at the default (Proxmox auto-increments this).
  • Name: Give it a descriptive name like webserver-01 or ubuntu-dev.

OS Tab:

  • Storage: Leave default (local storage).
  • ISO Image: Select the Ubuntu ISO you uploaded.
  • Type: Linux (Proxmox auto-detects this from the ISO name).

System Tab:

  • Machine: q35 (modern, recommended for Linux).
  • BIOS: SeaBIOS (OVMF/UEFI only needed for specific cases like Secure Boot or some Windows configs).
  • SCSI Controller: VirtIO SCSI single (best performance for Linux guests).
  • QEMU Agent: Check the box — this enables better communication between Proxmox and the VM.

Disks Tab:

  • Storage: local-lvm (the default thin-provisioned storage).
  • Disk size: 32GB (sufficient for Ubuntu Server; increase if needed).
  • Bus/Device: VirtIO Block (best performance — requires VirtIO drivers, which are built into modern Linux kernels).

CPU Tab:

  • Cores: 2 (start here for most workloads; you can change this later even while the VM is running in some cases).
  • Type: host (uses your CPU's native instruction set for best performance; use x86-64 if you plan to migrate between different CPU generations).

Memory Tab:

  • Memory: 2048 MB (2GB is fine for a basic Ubuntu Server; use 4096 for desktop environments).
  • Minimum memory / Ballooning: Leave defaults. Ballooning allows Proxmox to reclaim unused RAM from the VM.

Network Tab:

  • Bridge: vmbr0 (your default network bridge connected to your physical NIC).
  • Model: VirtIO (paravirtualized) — best performance; the VM needs the virtio-net driver (built into modern Linux).
  • Leave VLAN tag empty unless you're using VLANs on your network.

Click "Confirm" and review your settings. Check "Start after created" if you want it to boot immediately. Click "Finish."

Step 3: Install the Operating System

  1. Select your new VM in the left panel and click "Console" in the center area.
  2. A new browser tab opens with the noVNC console showing the Ubuntu installer.
  3. Follow the Ubuntu installation prompts:
    • Choose your language and keyboard.
    • Set the installer network to DHCP (automatic — works in most environments).
    • Choose "Use entire disk" for storage.
    • Create your username and password.
    • Install OpenSSH server when prompted — this lets you SSH into the VM later.
  4. After installation completes, the VM will prompt you to reboot. The ISO is automatically ejected.

Step 4: Connect via SSH

After the VM boots, find its IP address:

# In the Proxmox node shell:
qm guest cmd  network-get-interfaces
# Or use the QEMU guest agent (if installed):
qm agent  network-get-interfaces

Look for the IPv4 address in the output, then SSH from your computer:

ssh username@192.168.1.101

Step 5: Install QEMU Guest Agent (if not installed)

The guest agent enables better integration — proper shutdown, IP reporting, and file system freeze during snapshots:

sudo apt update && sudo apt install qemu-guest-agent -y
sudo systemctl enable --now qemu-guest-agent

Key Takeaways

  • VM creation is a guided wizard — just follow the tabs left to right
  • Always use VirtIO for disk and network when the guest OS supports it (all modern Linux does)
  • Upload ISOs through the Proxmox interface or download them directly from a URL
  • The QEMU guest agent is essential for proper VM management — install it in every guest
Rating
0 0

There are no comments for now.

to be the first to leave a comment.