💻 Virtuelle Maschinen (KVM)

Proxmox nutzt KVM (Kernel-based Virtual Machine) für vollständig virtualisierte Maschinen. Hier zeige ich dir, wie du VMs erstellst, konfigurierst und mit VirtIO-Treibern optimal betreibst.

1. Voraussetzungen

Was wird benötigt?

  • Proxmox VE installiert und konfiguriert (→ Proxmox Grundeinrichtung)
  • ISO-Image hochgeladen (z.B. Debian, Ubuntu, Windows)
  • Ausreichend RAM und CPU-Kerne für die geplante VM
  • Freier Speicherplatz auf eurem Storage

2. ISO-Image bereitstellen

ISO hochladen

ISO-Images könnt ihr über das Webinterface hochladen:

  1. Im Webinterface: Datacenter → euer Storage → Content
  2. Klickt auf Upload und wählt die ISO-Datei aus
  3. Alternativ per URL: Download from URL (direkt auf dem Server)

Oder per CLI:

# ISO direkt auf den Server herunterladen
wget -P /var/lib/vz/template/iso/ https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.x.x-amd64-netinst.iso
Proxmox ISO Upload
Proxmox – ISO Upload im Webinterface

3. VM erstellen

Neue VM anlegen

Im Webinterface oben rechts: Create VM

  1. General: VM-ID und Name vergeben (z.B. 100 – Debian-Server)
  2. OS: ISO-Image auswählen, Guest OS Typ setzen (Linux / Windows)
  3. System:
    • BIOS: OVMF (UEFI) empfohlen für neue Systeme

      💡 Warum OVMF statt SeaBIOS? OVMF ist der moderne UEFI-Standard – Pflicht für Windows 11, Secure Boot und neuere Distros. SeaBIOS ist Legacy-BIOS von 1996 und sollte nur für alte Systeme/VMs genutzt werden.

    • Machine: q35

      💡 Warum q35 statt i440fx? q35 ist ein moderner virtueller Chipsatz mit PCIe-Support – notwendig für GPU-Passthrough, NVMe-Passthrough und moderne Geräte. i440fx unterstützt nur altes PCI und ist von 1996.

    • QEMU Agent aktivieren

      💡 Warum QEMU Agent? Ermöglicht Proxmox direkten Einblick in die VM: korrekte IP-Anzeige im Webinterface, sauberes Shutdown/Restart, und konsistente Backups durch Filesystem-Freeze. Ohne Agent laufen Backups ohne Freeze.

  4. Disks:
    • Bus: VirtIO Block (schnellste Option)

      💡 Warum VirtIO Block? Paravirtualisierter Treiber ohne Hardware-Emulation – direkter Datenpfad zwischen VM und Host. Deutlich höherer Durchsatz und geringere CPU-Last als emuliertes SATA oder IDE.

    • Größe nach Bedarf (z.B. 32 GB)
    • Cache: Write back (mit UPS/USV empfohlen)

      💡 Warum Write back? Schreibzugriffe gehen zuerst in den Host-RAM und dann auf die Disk → sehr schnell. Ohne USV droht Datenverlust bei Stromausfall. Alternativen: None (sicher, langsam) oder Write through (Mittelweg).

  5. CPU: Kerne zuweisen (z.B. 2 Cores)
    • CPU-Typ: host für beste Performance

      💡 Welcher CPU-Typ?

      host
      Maximale Performance – überträgt alle CPU-Features direkt. Nachteil: Live-Migration nur auf Hosts mit identischer CPU möglich.
      x86-64-v2-AES
      Ausgewogen – portabel und trotzdem schnell. Empfohlen für Cluster mit gemischten CPUs oder wenn Live-Migration benötigt wird.
  6. Memory: RAM zuweisen (z.B. 2048 MB)
  7. Network:
    • Modell: VirtIO (paravirtualized)
    • Bridge: vmbr0
Proxmox VM erstellen Wizard
Proxmox – VM erstellen Wizard

4. VirtIO-Treiber einrichten

Linux – keine Aktion nötig ✅

Auf Linux-VMs (Debian, Ubuntu, etc.) sind VirtIO-Treiber bereits im Kernel integriert und laufen automatisch.

Prüfen ob die VirtIO-Disk erkannt wird (in der VM):

lsblk
# Disk erscheint als /dev/vda (nicht /dev/sda)

Windows – Treiber-ISO einbinden

Windows bringt keine VirtIO-Treiber mit – ohne sie findet der Installer die Disk nicht. VirtIO-ISO herunterladen: Proxmox VirtIO Drivers

  1. VirtIO-ISO als zweites CD-Laufwerk zur VM hinzufügen (Hardware → Add → CD/DVD)
  2. Während der Windows-Installation: Load Driver → VirtIO-ISO → viostor\w11\amd64 (oder w10) wählen
  3. Nach der Installation: virtio-win-gt-x64.msi von der ISO ausführen → installiert alle weiteren Treiber (Netzwerk, Balloon, etc.)

5. QEMU Guest Agent installieren

Linux (Debian / Ubuntu)

In der laufenden VM installieren und aktivieren:

apt install qemu-guest-agent -y
systemctl enable --now qemu-guest-agent

Im Webinterface unter VM → Options → QEMU Guest Agent prüfen ob "Enabled" aktiv ist. Gegebenenfalls VM neu starten.

Windows

Der QEMU Guest Agent wird automatisch mitinstalliert wenn ihr virtio-win-gt-x64.msi von der VirtIO-ISO ausführt (siehe Abschnitt 4).

Alternativ einzeln: In der VirtIO-ISO unter guest-agent\ die qemu-ga-x86_64.msi ausführen.

6. VM verwalten

Wichtige Aktionen

  • Start / Stop / Reboot — über das Webinterface oder CLI
  • Console — NoVNC oder SPICE für Konsolenzugriff
  • Snapshots — Vor Updates: Zustand sichern und bei Bedarf zurücksetzen
  • Migration — VMs zwischen Nodes verschieben (bei Cluster)
  • Resize — Festplatten dynamisch vergrößern

CLI-Befehle

# VM starten
qm start 100

# VM herunterfahren (graceful)
qm shutdown 100

# VM Status prüfen
qm status 100

# Snapshot erstellen
qm snapshot 100 pre-update --description "Vor dem Update"

# Snapshot zurücksetzen
qm rollback 100 pre-update

7. Best Practices

💡 Tipps für optimale VMs

  • Immer VirtIO für Disk und Netzwerk verwenden
  • CPU-Typ auf host setzen (beste Performance)
  • QEMU Agent in jeder VM installieren
  • Vor Updates/Änderungen: Snapshot erstellen
  • Nicht mehr RAM/CPU zuweisen als physisch verfügbar (Overcommitment vermeiden)
  • Regelmäßige Backups einrichten (→ Backups Tutorial)

✅ VM läuft!

Eure erste VM ist eingerichtet. Schaut euch auch die LXC Container an – leichtgewichtiger und ressourceneffizienter für viele Linux-Anwendungen.