💻 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:
- Im Webinterface: Datacenter → euer Storage → Content
- Klickt auf Upload und wählt die ISO-Datei aus
- 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
3. VM erstellen
Neue VM anlegen
Im Webinterface oben rechts: Create VM
- General: VM-ID und Name vergeben (z.B.
100 – Debian-Server) - OS: ISO-Image auswählen, Guest OS Typ setzen (Linux / Windows)
- 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.
- BIOS: OVMF (UEFI) empfohlen für neue Systeme
- 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).
- Bus: VirtIO Block (schnellste Option)
- 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.
- CPU-Typ: host für beste Performance
- Memory: RAM zuweisen (z.B. 2048 MB)
- Network:
- Modell: VirtIO (paravirtualized)
- Bridge:
vmbr0
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
- VirtIO-ISO als zweites CD-Laufwerk zur VM hinzufügen (Hardware → Add → CD/DVD)
- Während der Windows-Installation: Load Driver → VirtIO-ISO →
viostor\w11\amd64(oder w10) wählen - 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.