Aktionen

Proxmox Backup mit Veeam

Aus znilwiki

Changelog:

  • 29.03.2025 erste Version mit Proxmox 8.3.5 und Veeam Backup & Replication 12.3.0.310

Vorwort

Seit vielen Jahren ist VMware (vSphere) und Veeam (Backup & Replication) eine tolle Kombination für viele Firmen, egal ob es nur ein Host oder Hundert sind.
Seit der Übernahme von VMware durch Broadcom und deren neue Lizenz- und Preispolitik rückt auch Proxmox immer mehr in den Fokus von Unternehmen, gerade von kleineren die zum Beispiel nur 2 oder 3 Hosts einsetzen.
Eine häufige Frage dabei ist "Und was ist mit Veeam?", wobei Veeam hier immer gleichgesetzt wird mit dem Produkt "Veeam Backup & Replication". Viele habe die Software liebgewonnen, die Lizenzen sind vorhanden - also wie sichert man Proxmox mit Veeam?
Ich zeige hier den jeweiligen Stand auf - ohne Anspruch auf Vollständigkeit oder Richtigkeit.
Ich sichere hier VMs von einen privaten 4 Knoten Proxmox-Cluster seit ein paar Monaten auch mit Veeam und zeige hier meine Erfahrungen.
Ich plane den Artikel bei neuen Features (oder auch Problemen) zu überarbeiten.


Kurze Zusammenfassung der Einschränkungen

Bevor man alles liest, hier schon mal die Zusammenfassung was alles an gewohnten Features nicht geht:

  • Backup Jobs können nicht verkettet werden
  • Keine Replikations Jobs
  • Kein Guest Processing, somit auch kein Item-Level-Restore (Dateien geht, aber z.B. kein Exchange-Postfach oder Actice Directory Element)
  • Keine Steuerung über Powershell von Proxmox Sicherungen oder Wiederherstellung, also keine Automatisierung möglich.
  • Damit auch keine Überwachung oder Steuerung per API (zumindest habe ich in Swagger nichts gefunden)



Ausgangslage

Ich habe einen fertig konfigurierten Proxmox-Cluster mit 4 Knoten:

ClipCapIt-250329-112952.PNG

proxmox01 und proxmox02 sind 2 Intel N95 Mini-PCs mit jeweils 16GB RAM und einer 512GB SSD (die im Angebot schon ab 150 Euro gibt, regulär um die 200 Euro),
proxmoxesxi ist ein virtueller Proxmox der unter VMware ESXi 8 installiert wurde,
und proxmoxhyperv ein virtuller Proxmox unter Microsoft Hyper-V auf Windows 11

Als Backupsystem haben ich eine VM mit installierten Veeam Backup & Replication an dem diverse Repositories als Backupziele angebunden sind.


Hinzufügen des Proxmox-Clusters zu VMware

Es gibt - noch - bei Proxmox kein adäquat zum VMware vCenter, also kein zentrales Management. Man kann den Cluster von jedem Knoten aus Überwachen oder konfigurieren.
Deshalb müssen wir in Veeam alle einzelnen Knoten hinzufügen.
Das geht wie bei VMware oder Hyper-V über

Backup Infrastructure => Managed Server => oben links Add Server
ClipCapIt-250329-114022.PNG

Also links "Backup Infrastructure" auswählen, den Bereich "Manged Servers" markieren, oben links auf "Add Server" und dann "Virtualization Platforms".

ClipCapIt-250329-114200.PNG

Hier können wir dann "Proxmox VE" auswählen.
Es erscheint der Dialog zum hinzufügen eines neuen Proxmox VE Servers:

ClipCapIt-250329-114423.PNG

Ich habe hier die IP-Adresse genutzt und als Beschreibung den Hostnamen.

ClipCapIt-250329-114531.PNG

Als Zugangsdaten nutze ich den root Benutzer.
Es kommt die obligatorische Zertifikatswarnung:

ClipCapIt-250329-114705.PNG

Es folgt die Frage nach dem Snapshot-Speicher, die Standardauswahl ist immer The largest available file level storage.
Das übernehmt Ihr am besten NICHT sondern wählt gezielt einen der lokalen Datenspeicher des Proxmox-Host aus:

ClipCapIt-250329-115438.PNG

Der "largest" wäre bei mir mein QNAP-NFS Storage und das ist nicht dafür geeignet, ich würde dann beim Backup eine Fehlermeldung bekommen.
Dann auf Apply:

ClipCapIt-250329-115011.PNG
ClipCapIt-250329-115041.PNG

Es folgt die Frage ob eine Worker-VM auf dem gerade hinzugefügten Proxmox-Host deployed werden soll:

ClipCapIt-250329-115153.PNG

Das können wir gleich machen, das kann man aber auch später noch manuell machen über den Punkt "Backup Proxies".
Wenn Ihr mehrere Proxmox-Hosts in einem Cluster habt, würde ich erst einmal alle Hosts hinzufügen.
Wenn Ihr alle hinzugefügt habt, seht Ihr unten unter

Backup Infrastucture => Managed Servers => Proxmox VE => Clusters

euren Cluster markiert ihr diesen seht Ihr rechts die dazu gehörigen Knoten:

ClipCapIt-250329-115752.PNG



Proxmox VE worker hinzufügen

Anders als bei VMware kann Veeam die VMs oder Container nicht direkt über die Managementschnittstelle der Proxmox Hosts sichern sondern braucht immer eine Hilfs-VM.
Die Hilfs-VM läuft nicht ständig sondern wird nur für die Backups gestartet und im Anschluss wieder gestoppt.
Die Hilfs-VM hat eine 100GiB Festplatte, ob diese den Speicherplatz auch belegt hängt vom Datenspeicher ab auf dem Ihr diese platziert, ist es ein thin provisioning werden bei mir keine 5GiB belegt. Anfangs sind es sogar nur 3GiB, es kann über die Zeit etwas anwachsen.
Die VM wird beim Bereitstellen einmal zur Probe gestartet und es werden dann Updates eingespielt, die VM braucht also eine Internet-Verbindung (Proxy lässt sich einstellen).

Diese Hilfs-VM deployed man über

Backup Infrastructure => Backup Proxies => Add Proxy
ClipCapIt-250329-120625.PNG
ClipCapIt-250329-120723.PNG

Unter Choose... können wir den gewünschten Host aus dem Cluster auswählen:

ClipCapIt-250329-120821.PNG

Wir vergeben einen Namen für die VM - unter diesem wird diese in Proxmox erscheinen - und wählen wiederum über Choose... den Datenspeicher aus auf dem die VM liegen soll, auch hier wieder einen lokalen Datenspeicher des jeweiligen Proxmox Servers auswählen:

ClipCapIt-250329-121034.PNG
ClipCapIt-250329-121116.PNG

Wählt eine Beschreibung und wie viele VMs / Container gleichzeitig gesichert werden dürfen:

ClipCapIt-250329-122032.PNG

Danach geht unbedingt auf Advanced...:

ClipCapIt-250329-122132.PNG

Hier könnt Ihr auswählen wie viele CPU-Kerne und wieviel RAM die Hilfs-VM nutzen soll. Der Default-Wert kann von eurer Umgebung abhängen.
Ich gebe hier mal die Faustformel "pro gleichzeitiger VM ein CPU Kern und 1GiB RAM, mindestens aber jeweils 2" heraus. Danach geht es weiter mit Next > zu den Netzwerkeinstellungen:

ClipCapIt-250329-122743.PNG

Nach dem Klick auf Add... erscheint ein Dialog in welchen wir oben die vorhandenen VM-Netzwerke des Proxmox-Hosts auswählen können. Außerdem können wir eine feste IP-Adresse festlegen:

ClipCapIt-250329-123029.PNG

Nach dem Klick auf OK müssen wir nun noch die DNS-Server einstellen indem wir oben auf den blauen Link klicken:

ClipCapIt-250329-123150.PNG
ClipCapIt-250329-123245.PNG

Weiter geht es dann mit Apply:

ClipCapIt-250329-142358.PNG

Unten ist der Test angehakt, der blaue Kreis verrät das dieser 10 Minuten dauern kann.
Nach ein paar Sekunden erscheint auf dem Proxmox-Host auch schon die neue VM:

ClipCapIt-250329-123637.PNG

in der ein Rocky-Linux bootet. Den Fortschritt seht Ihr ansonsten im Statusfenster von Veeam:

ClipCapIt-250329-124213.PNG

Das ganze hat bei mir dann etwas mehr als 7 Minuten gedauert:

ClipCapIt-250329-124438.PNG



Das ganze müsst Ihr nun wiederholen bis auf jedem Proxmox-Host auch eine Hilfs-VM deployed ist:

ClipCapIt-250329-124826.PNG



Backup Job anlegen

Im Moment gibt es noch ein paar Einschränkungen bei den Proxmox-Backup-Jobs im Vergleich zu den anderen Platformen:

  • Die Jobs lassen sich nicht mit anderen Jobs (auch nicht anderen Proxmox-Jobs) verketten.
  • Es gibt nur Backup Jobs, keine Replikation
  • Es gibt kein Guest Processing!
  • Keine Steuerung über PowerShell


Unter

Backup Job => Virtual machine => Proxmox VE...
ClipCapIt-250329-125609.PNG

kann man einen Job erstellen, es kommt der gewohnte Dialog:

ClipCapIt-250329-125743.PNG

In der VM-Auswahl gibt es nur die Auswahl nach Host and Clusters

ClipCapIt-250329-125951.PNG

oder nach Resource Pools:

ClipCapIt-250329-130130.PNG


Auch wenn Ihr in der Host and Clusters ungewohnter weise die Hosts erweitern müsst um die gerade dort laufenden VMs auszuwählen, ist es später beim Backup egal wenn die VM gerade auf einem anderen Host läuft, also verschoben wurde.
Aber nur wenn er zwischendurch Zeit hatte diese zu bemerken, wenn Ihr also eine VM zwei Minuten vor dem Backup-Fenster verschiebt, wird der Job beim ersten Anlauf fehlschlagen.
In der Ansicht werden dann auch nur die VMs aufgeführt:

ClipCapIt-250329-130513.PNG

Im Gegensatz zu z.B. VMware Jobs gibt es keine Schnellinfo wenn man mit der Maus länger über den Eintrag einer VM verweilt, hier passiert nichts.
Der Punkt Exclusions funktioniert analog wie bei den herkömmlichen Jobs, man kann ganze VMs oder einzelne Disks von VMs auschließen.
Man kann auch die Resource Pools oder den ganzen Cluster hinzufügen:

ClipCapIt-250329-130841.PNG
ClipCapIt-250329-130925.PNG

Im nächsten Schritt erfolgt die bekannte Auswahl des Backup repository und der 'Retention policy':

ClipCapIt-250329-131105.PNG

Hinter Advanced... verbirgt sich ein abgespeckter Dialog:
ClipCapIt-250329-131212.PNGClipCapIt-250329-131235.PNGClipCapIt-250329-131256.PNGClipCapIt-250329-131326.PNG
Die Auswahl ob Forward oder Reverse Incremental gibt es hier schon nicht mehr, das Feature ist im allgemeinen abgekündigt und soll wohl spätestens ab Version 14 ganz verschwinden.
Beim Zeitplan fällt auf das die Option After this job: komplett fehlt:

ClipCapIt-250329-131326.PNG

Und noch etwas fehlte => es gibt kein Guest Processing! Somit können auch keine Application Items wiederhergestellt werden über diese Form des Backup-Jobs. Dafür müsstet Ihr - zusätzlich - eine Agentensicherung machen.
Am Ende gibt es die übliche Zusammenfassung und die Möglichkeit den Job gleich zu starten:

ClipCapIt-250329-131326.PNG

Auch hier fehlt etwas: Es gibt keinen Hinweis wie man den Job per cmdlet starten könnte, sonst steht da etwas wie folgt:

ClipCapIt-250329-132040.PNG

Ein kleiner Test in der PowerShell zeigt das dort die Jobs nicht aufgeführt werden:

ClipCapIt-250329-132918.PNG

Und ich habe auch keine PowerShell Befehle speziell für Proxmox gefunden.


Ablauf Backup Job

Der eigentliche Sicherungsjob sieht genauso aus wie sonst auch, er stellt die VMs zusammen, startet die Hilfs-VMs (aka Worker) und sichert die VMs per HotAdd:

ClipCapIt-250329-133157.PNG



Ablauf Restore

Die Backups die üblichen Möglichkeiten, links die Optionen einer Windows VM unter Proxmox, rechts (oder darunter) bei einer VMware VM mit Guest Processing:

ClipCapIt-250329-133408.PNGClipCapIt-250329-133616.PNG


Bei Instant Recovery kann ich bei mir nur VMware auswählen, vermutlich ginge auch Hyper-V, ich habe aber keinen eingebunden:

ClipCapIt-250329-133835.PNG

Der Restore guest files für Windows sieht aus wie gewohnt:

ClipCapIt-250329-134151.PNG

Man kann die Dateien aber nicht im Windows Explorer (oder Shell) nutzen sondern nur über das Veeam Fenster, somit kann man z.B. keine Dokumente probeweise öffnen.
Wenn man an den Original Speicherpunkt wiederherstellen will, muss man dann erst einmal Zugangsdaten angeben:

ClipCapIt-250329-134506.PNG

Ob das dann klappt liegt dann an vielerlei, der Zugriff über das Netzwerk muss z.B. möglich sein. Bei VMware schiebt Veeam die Dateien z.B. auch gerne über die VMware Tools (und somit über den ESXi-Host) in die VM zurück.
Bei einer Linux-VM braucht es einen Helper Host, dieser muss vorher unter

Backup Infrastructure => Managed Servers => Linux

hinterlegt worden sein, dabei werden auf dem System die Veeam Komponenten "Installer" und "Transport" installiert:

ClipCapIt-250329-135151.PNG

Auch hier wird dann eine separate Anmeldung für die direkte Wiederherstellung benötigt.

Man kann - bei Linux und Windows - auch die Festplatte an den Helper Host hängen ( Publish disk... ) und dann lokal auf dieser Maschine mit den Dateien arbeiten.
Dann kann man auch Dateien öffnen:

ClipCapIt-250329-135839.PNG

Es fällt auf das Optionen wie Restore entire VM... fehlen.
Es gibt aber die separate Option

ClipCapIt-250329-140114.PNG

Welche dann auch die Option für die Wiederherstellung am Originalplatz hat:

ClipCapIt-250329-140302.PNG
ClipCapIt-250329-140347.PNG



Aus der täglichen Praxis

Hier eine Sammlung von Problemen die bei mir aufgetreten sind.


Failed to perform Backup: Failed to prepare disks for backup

Wenn Ihr diese Fehlermeldung bekommt:

Failed to perform Backup: Failed to prepare disks for backup
ClipCapIt-250329-140724.PNG

Dann müsst ihr die Eigenschaften des Proxmox-Hosts noch mal bearbeiten und bei diesem bei Snapshot Storage einen anderen, am besten lokalen Speicher auswählen:

ClipCapIt-250329-141159.PNG



Worker VM kann nicht gestartet werden

Ich hatte alle paar Tage / Wochen das Problem das Veeam die notwendige Worker-VM auf einen der Proxmox Hosts nicht mehr starten konnte.
Da hilft nur ein Neustart des Proxmox Hosts.
Die VM / der Proxi durfte eine VM zur Zeit sichern, hatte 2 CPU und 2GiB, und war für 3 VMs zuständig.
Im Job hat er für jede VM den Worker hochgefahren, gesichert, heruntergefahren und für die nächste Vm noch mal von vorne.
Habe habe das dann in 2 Jobs aufgeteilt so das die 3. VM ihren eigenen Job hat, danach war das Problem weg. Ich vermute mehr Sicherungen gleichzeitig + mehr CPU/RAM würden auch zum Erfolg führen. Kann aber auch ein Problem meiner Testumgebung sein.


Kommentare

Loading comments...