← Zurueck zur Dokumentation
🖥️

Proxmox VE Grundlagen

Open-Source Virtualisierungsplattform fuer VMs und Container. Enterprise-Features ohne Enterprise-Kosten.

⏱️ 45-60 Minuten 📊 Mittel
🔓 Open Source (AGPL)
🐧 Debian-basiert
📦 KVM + LXC
🌐 Web-Interface
🖥️ Was ist Proxmox VE? +

Proxmox Virtual Environment (PVE) ist eine Open-Source Virtualisierungsplattform, die KVM-basierte virtuelle Maschinen und LXC-Container auf einer einheitlichen Oberflaeche vereint.

KVM - Virtuelle Maschinen

  • Vollstaendige Hardware-Virtualisierung
  • Jedes Betriebssystem moeglich
  • Eigener Kernel pro VM
  • Hoechste Isolation

LXC - Container

  • OS-Level Virtualisierung
  • Nur Linux-Gaeste
  • Teilen Host-Kernel
  • Minimaler Overhead
💡

Wann VM, wann Container?

  • VM: Windows, BSD, andere Kernels, maximale Isolation, Kernel-Module
  • LXC: Linux-Services, Docker-Host, leichtgewichtig, schneller Start
💿 Installation +

Proxmox VE wird als eigenstaendiges ISO installiert, nicht als Paket auf bestehendem Debian.

Systemanforderungen

Komponente Minimum Empfohlen
CPU 64-bit mit VT-x/AMD-V Multi-Core mit VT-d/IOMMU
RAM 2 GB 16+ GB (je nach VMs)
Storage 32 GB SSD NVMe SSD + separate Daten-Disks
Netzwerk 1x Gigabit 2x 10 GbE (Management + Storage)
ISO herunterladen & USB-Stick erstellen
bash

# ISO von proxmox.com herunterladen
# https://www.proxmox.com/en/downloads

# USB-Stick erstellen (Linux)
sudo dd bs=1M conv=fdatasync if=proxmox-ve_*.iso of=/dev/sdX status=progress

# Oder mit Ventoy (empfohlen)
# ISO einfach auf Ventoy-USB kopieren

Installations-Schritte

  1. Von USB booten, "Install Proxmox VE" waehlen
  2. Ziel-Festplatte waehlen (wird komplett ueberschrieben!)
  3. Land, Zeitzone, Tastaturlayout
  4. Root-Passwort und E-Mail setzen
  5. Netzwerk: Hostname, IP, Gateway, DNS
  6. Installation starten, nach Reboot USB entfernen
⚠️

BIOS-Einstellungen prüfen

Vor der Installation im BIOS/UEFI aktivieren: VT-x/AMD-V (Virtualisierung) und VT-d/IOMMU (fuer GPU/PCIe-Passthrough).

🌐 Web-Interface +

Nach der Installation erreichst du Proxmox ueber den Browser:

Zugriff
text

https://DEINE-IP:8006

Benutzer: root
Passwort: [bei Installation gesetzt]
Realm: Linux PAM standard authentication

Wichtige Bereiche

  • Datacenter: Cluster-weite Einstellungen, Storage, Backup
  • Node (pve): Server-spezifisch - Shell, Netzwerk, Disks
  • VM/CT: Hardware, Optionen, Snapshots, Backup
  • Summary: Ressourcen-Ueberblick (CPU, RAM, Storage)
💡

Subscription-Warnung entfernen

Die "No valid subscription"-Meldung ist nur ein Hinweis, keine Einschraenkung. Enterprise-Repository deaktivieren und No-Subscription-Repo aktivieren:

# Enterprise-Repo deaktivieren
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list

# No-Subscription-Repo hinzufuegen
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

apt update && apt dist-upgrade
🖥️ Virtuelle Maschinen erstellen +

VMs bieten vollstaendige Hardware-Virtualisierung fuer jedes Betriebssystem.

1. ISO hochladen

Datacenter → Storage (local) → ISO Images → Upload

2. VM erstellen (Web-UI)

Rechtsklick auf Node → Create VM

Tab Empfehlung
General VM ID (eindeutig), Name
OS ISO waehlen, Guest OS Type
System UEFI (q35) fuer moderne OS, BIOS (i440fx) fuer Legacy
Disks VirtIO SCSI, Cache: Write back, Discard: on (SSD)
CPU Type: host (beste Performance)
Memory Ballooning fuer dynamisches RAM
Network VirtIO (Linux), Intel E1000 (Windows ohne Treiber)
VM per CLI erstellen
bash

# VM mit ID 100 erstellen
qm create 100 \
  --name "debian-server" \
  --memory 4096 \
  --cores 2 \
  --cpu host \
  --net0 virtio,bridge=vmbr0 \
  --scsihw virtio-scsi-pci \
  --scsi0 local-lvm:32,discard=on \
  --ide2 local:iso/debian-12-amd64.iso,media=cdrom \
  --boot order=scsi0;ide2

# VM starten
qm start 100

# VM stoppen
qm stop 100

# VM-Konfiguration anzeigen
qm config 100

VirtIO-Treiber fuer Windows

Fuer Windows-VMs die VirtIO-Treiber-ISO einbinden: virtio-win.iso
Waehrend der Installation als zweites CD-Laufwerk einbinden.

📦 LXC Container erstellen +

LXC Container sind leichtgewichtiger als VMs und ideal fuer Linux-Services.

1. Template herunterladen

Datacenter → Storage (local) → CT Templates → Templates

Oder per CLI:

Templates verwalten
bash

# Verfuegbare Templates anzeigen
pveam available

# Template herunterladen
pveam download local debian-12-standard_12.2-1_amd64.tar.zst

# Heruntergeladene Templates
pveam list local

2. Container erstellen (Web-UI)

Rechtsklick auf Node → Create CT

Container per CLI erstellen
bash

# Container mit ID 200 erstellen
pct create 200 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
  --hostname docker-host \
  --memory 2048 \
  --cores 2 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --rootfs local-lvm:8 \
  --unprivileged 1 \
  --features nesting=1 \
  --password

# Container starten
pct start 200

# In Container einloggen
pct enter 200

# Container stoppen
pct stop 200

# Container-Konfiguration
pct config 200
💡

Privileged vs Unprivileged

  • Unprivileged (Standard): Sicherer, UID-Mapping, empfohlen
  • Privileged: Voller Root-Zugriff, noetig fuer manche Anwendungen (NFS, etc.)
Docker in LXC aktivieren
bash

# In der Container-Config (/etc/pve/lxc/200.conf):
features: nesting=1,keyctl=1

# Nach Aenderung Container neu starten
pct reboot 200

# Im Container Docker installieren
apt update && apt install -y docker.io docker-compose
⚠️

LXC-Limitierungen

  • Nur Linux-Gaeste (teilen Host-Kernel)
  • Kein eigener Kernel/Kernel-Module moeglich
  • Manche Software benoetigt privilegierten Container
💾 Storage Management +

Proxmox unterstuetzt verschiedene Storage-Typen fuer unterschiedliche Anwendungsfaelle.

Typ Use-Case Snapshots
local ISOs, Templates, Backups -
local-lvm VM/CT Disks (Standard) Ja
ZFS VMs, Snapshots, Replikation Ja (schnell)
Ceph Cluster-Storage, HA Ja
NFS/CIFS Netzwerk-Storage, Backups Nein
Storage-Befehle
bash

# Storage-Uebersicht
pvesm status

# Disk-Nutzung
pvesm list local-lvm

# Neue Disk zu VM hinzufuegen
qm set 100 -scsi1 local-lvm:50

# Disk vergroessern
qm resize 100 scsi0 +20G

# ZFS-Pool erstellen (Mirror)
zpool create -f tank mirror /dev/sdb /dev/sdc

# ZFS als Storage hinzufuegen
pvesm add zfspool tank-storage -pool tank
💡

ZFS-Empfehlung

Fuer Produktiv-Systeme ist ZFS empfohlen:

  • Integrierte Checksummen (Bit-Rot Schutz)
  • Schnelle Snapshots
  • Kompression (lz4)
  • Replikation zwischen Nodes
🌐 Netzwerk-Konfiguration +

Proxmox nutzt Linux Bridges fuer die Netzwerk-Virtualisierung.

Standard-Konfiguration

vmbr0 ─────┬───── enp0s31f6 (physisches Interface)
           │
           ├───── VM 100
           ├───── VM 101
           └───── CT 200
/etc/network/interfaces
bash

# Physisches Interface (nicht direkt nutzen)
iface enp0s31f6 inet manual

# Bridge (Standard)
auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports enp0s31f6
    bridge-stp off
    bridge-fd 0

# VLAN-aware Bridge
auto vmbr0
iface vmbr0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    bridge-ports enp0s31f6
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094
Netzwerk-Befehle
bash

# Netzwerk-Konfiguration neu laden
ifreload -a

# Bridge-Status
brctl show

# IP-Adressen
ip a

# VM-Netzwerk aendern
qm set 100 -net0 virtio,bridge=vmbr0,tag=100
# tag=100 → VLAN 100
💡

VLANs nutzen

Mit VLAN-aware Bridge koennen VMs verschiedenen VLANs zugewiesen werden. Im VM/CT Network-Tab einfach den VLAN-Tag setzen.

💾 Backup & Snapshots +

Proxmox bietet integrierte Backup-Funktionen und Snapshots.

Snapshots

  • Zustand zu einem Zeitpunkt
  • Schnell erstellen/wiederherstellen
  • Auf gleichem Storage
  • Fuer: Tests, vor Updates

Backups

  • Vollstaendige Kopie
  • Komprimiert als Datei
  • Auf anderen Storage
  • Fuer: Disaster Recovery
Snapshots
bash

# Snapshot erstellen
qm snapshot 100 snap1 --description "Vor Update"

# Snapshots auflisten
qm listsnapshot 100

# Snapshot wiederherstellen
qm rollback 100 snap1

# Snapshot loeschen
qm delsnapshot 100 snap1

# Container-Snapshot
pct snapshot 200 snap1
pct rollback 200 snap1
Backups
bash

# Manuelles Backup (VM)
vzdump 100 --storage local --mode snapshot --compress zstd

# Manuelles Backup (Container)
vzdump 200 --storage local --mode snapshot --compress zstd

# Backup wiederherstellen
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 100
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-*.tar.zst

# Backup-Inhalt anzeigen
vzdump --info /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst

Automatische Backups

Datacenter → Backup → Add

Backup-Job per CLI
bash

# /etc/pve/jobs.cfg
vzdump: backup-daily
    enabled 1
    schedule *-*-* 02:00:00
    storage backup-nfs
    mode snapshot
    compress zstd
    mailnotification always
    mailto admin@example.com
    all 1
⚠️

Backup-Strategie

  • 3-2-1 Regel: 3 Kopien, 2 Medien, 1 Offsite
  • Backups regelmaessig testen (Restore!)
  • Retention-Policy definieren
⌨️ Wichtige CLI-Befehle +

Die wichtigsten Befehle fuer die Proxmox-Administration.

VM-Verwaltung (qm)
bash

# VMs auflisten
qm list

# VM starten/stoppen
qm start 100
qm stop 100
qm shutdown 100  # graceful
qm reboot 100

# VM-Status
qm status 100

# VM-Konfiguration
qm config 100

# VM loeschen
qm destroy 100

# Auf VM-Konsole zugreifen
qm terminal 100

# VM klonen
qm clone 100 101 --name "clone-vm" --full

# VM migrieren (anderer Node)
qm migrate 100 pve2 --online
Container-Verwaltung (pct)
bash

# Container auflisten
pct list

# Container starten/stoppen
pct start 200
pct stop 200
pct shutdown 200
pct reboot 200

# In Container einloggen
pct enter 200

# Container-Konfiguration
pct config 200

# Container loeschen
pct destroy 200

# Befehl in Container ausfuehren
pct exec 200 -- apt update
System & Cluster
bash

# Proxmox-Version
pveversion -v

# Node-Status
pvesh get /nodes

# Cluster-Status (wenn Cluster)
pvecm status

# Storage-Status
pvesm status

# Ressourcen-Nutzung
pvesh get /nodes/pve/status

# Services neu starten
systemctl restart pvedaemon
systemctl restart pveproxy

# Updates
apt update && apt dist-upgrade

# Logs
journalctl -u pvedaemon
journalctl -u pve-cluster
Disk & Storage
bash

# Disks anzeigen
lsblk -f
fdisk -l

# ZFS-Status
zpool status
zfs list

# LVM-Status
lvs
vgs
pvs

# Thin-Pool Status
lvs -a | grep thin
Performance-Tipps +

Optimierungen fuer bessere VM/Container-Performance.

Bereich Empfehlung
CPU-Typ host statt kvm64
Disk Controller VirtIO SCSI (scsi) statt IDE
Disk Cache writeback fuer SSD mit BBU
Discard/TRIM Aktivieren fuer SSDs
Netzwerk VirtIO (virtio) statt E1000
Ballooning Aktivieren fuer dynamisches RAM
NUMA Aktivieren bei Multi-Socket
Optimierte VM-Konfiguration
bash

# /etc/pve/qemu-server/100.conf
cpu: host
scsihw: virtio-scsi-single
scsi0: local-lvm:vm-100-disk-0,discard=on,iothread=1,ssd=1
net0: virtio=XX:XX:XX:XX:XX:XX,bridge=vmbr0
balloon: 2048
numa: 1
💡

IOThreads

iothread=1 bei VirtIO SCSI Single verbessert die Disk-Performance bei mehreren Disks erheblich.

🔧 Troubleshooting +
Haeufige Probleme
bash

# VM startet nicht - Log pruefen
qm start 100
journalctl -u pve-qemu-server@100

# Container startet nicht
pct start 200
dmesg | tail -50

# Web-Interface nicht erreichbar
systemctl status pveproxy
systemctl restart pveproxy

# Storage voll
pvesm status
lvs
df -h

# Cluster-Probleme
pvecm status
pvecm expected 1  # bei Split-Brain (Vorsicht!)

# QEMU Guest Agent nicht verbunden
qm agent 100 ping
# In VM: apt install qemu-guest-agent
Logs & Debugging
bash

# Proxmox-Logs
journalctl -u pvedaemon -f
journalctl -u pve-cluster -f
journalctl -u pveproxy -f

# VM-spezifische Logs
journalctl -u pve-qemu-server@100

# System-Logs
dmesg | tail -100
cat /var/log/syslog | tail -100

# Task-Log (Web-UI Aufgaben)
cat /var/log/pve/tasks/active
🚨

Daten-Verlust vermeiden

  • Niemals qm destroy ohne Backup
  • Bei Cluster: Quorum-Regeln beachten
  • Storage-Aenderungen vorher planen
  • ZFS: Niemals zpool destroy ohne Backup

Proxmox-Setup gesucht?

Wir helfen bei der Planung und Einrichtung deiner Virtualisierungs-Infrastruktur.

Kontakt aufnehmen →