PROXMOX PVE als Basis

Vor einigen Jahren hatte ich ein interessantes Projekt bei dem es um die Virtualisierung der Hardware für ein Embedded System im Rail Bereich ging. Das System bestand hierbei aus mehreren Komponenten die auf unterschiedlichen Hardwareplattformen ausgeführt werden.

Nach ersten Versuchen mit Virtuell Box hat sich dann eine Lösung auf Basis von Linux/KVM/QEMU angeboten. Hier kam dann PROXMOX PVE (damals in einer Version 2.x) ins Spiel. PROXMOX PVE ist eine „Out-of-the-Box“ Plattform für Virtualisierung und Containerisierung. Mittels eines leicht und auch remote zu bedienenden Web-Interfaces kann die Nutzung auch ganz ohne Detailkenntnisse der zugrunde liegenden Programme erfolgen (ist aber im Prinzip weiterhin möglich).

Nachdem sich PROXMOX PVE recht schnell in dem Projekt als Basis für die Virtualisierung der Hardware des Embedded Systems etabliert hat – und es durchaus auch problemlos möglich war damit mehr als eines der virtualisierten Systeme für Testsysteme laufen zu lassen – hat PROXMOX PVE auch Einzug in die private Serverlandschaft gefunden. Zuletzt wurde PROXMOX PVE auch als Basissystem für den Desktop-PC installiert.

Was spricht für PROXMOX PVE?

PROXMOX PVE eignet sich für kleinere und mittelgroße Netzwerke als Plattform zur Virtualisierung von PCs. Hierbei stehen für mich folgende Eigenschaften im Vordergrund:

  • OpenSource (Basis ist hierbei das DEBIAN Linux)
  • einfach zu bedienende Web-Schnittstelle
  • bis zu 1000 virtuelle Maschinen (pro Cluster)
  • Clustering, High Availability, Migration
  • Backup/Restore
  • Virtuelle Netzwerke

Anwendung im Server-Bereich

Die Anwendung als Plattform zum Erstellen virtueller Maschinen für Serverdienste ist im Grunde die naheliegendste Einsatzmöglichkeit. Virtuelle Maschine erzeugen, Serversoftware installieren, konfigurieren, fertig. Der Einsatz virtueller Netzwerke, von Shared Storage und den Hochverfügbarkeits-Funktionen innerhalb eines PROXMOX PVE Clusters bieten eine gute Basis für eine zuverlässige und leicht zu wartende Infrastruktur.

Anwendung für Desktop-PCs

Für das tägliche Arbeiten nutze ich persönlich einen Desktop-PC (alternativ auch mal eine Notebook). Früher kam hier entweder ein Linux, meistens dann aber eine der üblichen Windows Versionen (7, 8, 10) zum Einsatz. Ggf. wurde mittels Dual-Boot auch der Wechsel zwischen den Betriebssystemen ermöglicht.

Seit einiger Zeit bildet nun PROXMOX PVE die Basis für den Desktop-PC. Die Gastsysteme, z.B. Windows oder Linux, laufen hierauf in virtuellen Maschinen. Mittels PCIe Passthrough wird Hardware an ausgewählte virtuelle Maschinen durchgereicht – z.B. die Grafikkarte. Voraussetzung hierfür ist die entsprechende Unterstützung durch das Mainboard des Rechners – was aber in den meisten Fällen gegeben sein sollte. D.h. für die Anzeige kann das in der virtuellen Maschine laufende Betriebssystem genau wie ein direkt auf der Hardware laufendes Betriebssystem die Grafikausgabe steuern. Ja, natürlich profitieren davon in erster Linie Spiele, aber auch der normale Desktop ist damit ein gutes Stück flüssiger.

Bis hier hin gibt es im Grunde erst mal keinen wirklichen Unterschied zur klassischen Installation des Betriebssystems auf der Hardware – abgesehen davon das es mehr Arbeit verursacht hat. Die Lösung hat aber für meine Arbeit zwei praktische Vorteile:

  1. ich kann auf dem Desktop-PC weitere virtuelle Maschinen installieren, z.B. um Serverdienste aufzusetzen und zu konfigurieren. Durch die einfache Konfiguration der Netzwerke auf dem PVE Host kann bequem in einer abgeschlossenen Umgebung getestet werden. Sobald der Service fertig ist, kann mittels eines einfachen Backups ein Transfer in den Serverpark erfolgen. D.h. das Backup wird auf einem Shared Storage gesichert, der von den Servern – auf denen natürlich auch PROXMOX PVE läuft – erreichbar ist. Nun muss auf dem passenden Server nur noch das Backup mittels Restore wieder hergestellt werden. Wenn die Netzwerkkonfiguration beim Desktop und Server identisch ist, läuft der Service quasi sofort „Out-of-the-Backup“ weiter.
  2. das eigentlich Arbeiten findet in einer virtuellen Maschine statt. Hier ist dann ein Desktop-Betriebssystem installiert, also z.B. Linux oder Windows. Ich habe mit hier für Linux entschieden. Mittels PCIe Passthrough kann Linux die Grafikkarte der Hardware nutzen und profitiert somit von der Hardwarebeschleunigung. Dadurch dass das System in einer virtuellen Maschine läuft, kann hier mit den Funktionen von PROXMOX PVE z.B. ein Backup erstellt werden oder die virtuelle Festplatte vergrößert. Das Backup lässt sich im Prinzip auf jeden PROXMOX PVE System wieder restaurieren. Ich selbst habe das bereits mehrfach genutzt – z.B. um nach dem Upgrade der NVMe Disk einfach wieder meinen Arbeitsplatz herzustellen oder auch um nach einem Betriebssystem-Upgrade (dazu in einem anderen Artikel mehr) an verlorengegangene Einstellungen zu gelangen. Im Prinzip ist es so auch kein Problem verschiedene Linux-Varianten nebeneinander auszuprobieren.

Fazit

Ich habe den Wechsel auf PROXMOX PVE nicht bereut. Mittels PROXMOX PVE habe ich es geschafft für den Großteil meiner Rechnerinfrastruktur eine homogene Plattform zu haben, die die Verwaltung verschiedener Services und auch Arbeitsrechner recht einfach macht.