Backup und Replikation trojanersicher für Proxmox VE mit Miyagi Workflow
Trojanersichere Backups und Replikationen mit Proxmox Backup Server, ZFS und Miyagi
Ziel ist eine Datensicherung mit drei Kopien der Daten, mindestens zwei Standorten und zwei unterschiedlichen Sicherungsmethoden. Zusätzlich muss die Kontrolle der Backups und Replikationen zuverlässig, automatisch und ohne Fehlerquote funktionieren.
Unsere Lösung kombiniert Proxmox Backup Server, ZFS-Replikation, Snapshots, Monitoring mit Checkmk und den Miyagi-Workflow. Dadurch entstehen sowohl klassische Backups mit langer Historie als auch startfähige ZFS-Replikate für schnelle Wiederherstellung im Notfall.
Backups bieten ein Wiederherstellungsversprechen.
ZFS-Replikate bieten eine sehr schnelle Wiederherstellungsmöglichkeit, weil replizierte Systeme auf geeigneter Hardware direkt gestartet werden können.
Was wir erreichen wollen
- Native Proxmox-Backups ohne Löschmöglichkeit von der Quelle
- Startfähige ZFS-Replikate auf einem zweiten System
- Lückenloses Monitoring aller Backups und Replikationen
- Serialisierte Sicherungen für bessere Performance
- Automatisierte Updates, Backupwartung und Verifizierung
- Automatisches Herunterfahren des Sicherungsservers nach Abschluss
- Zentrales Dashboard für Backupstatus, Replikation und Systemzustand
- Schnelle Wiederherstellung über Proxmox Backup Server oder ZFS-Replikate
Als Ergebnis entsteht eine Backuphistorie über mehrere Monate bis Jahre sowie ein ZFS-Replikat mit typischer Aufbewahrung von ca. 14 Tagen bis drei Monaten.
Beispiel auf dem Zielserver
# Auf dem Zielserver sollte das dann so aussehen
# Proxmox Backups mit Snapshot-Schutz gegen Kompromittierung
zfs list
rpool/pbsstore 4.9T 30.4T 4.62T /rpool/pbsstore
# PVE mit LXC Container
rpool/repl/lwpve2/rpool/data/subvol-100-disk-0 168G 34.8G 165G /rpool/repl/lwpve2/rpool/data/subvol-100-disk-0
rpool/repl/lwpve2/rpool/data/subvol-102-disk-0 918M 31.1G 872M /rpool/repl/lwpve2/rpool/data/subvol-102-disk-0
# PVE mit KVM
rpool/repl/lwpve3/rpool3/data/vm-301-disk-0 267K 41.0T 169K -
rpool/repl/lwpve3/rpool3/data/vm-301-disk-1 40.6G 41.0T 26.7G -
rpool/repl/lwpve3/rpool3/data/vm-301-disk-2 277G 41.0T 214G -
# ZVOLs finden sich unter /dev/zvol/rpool...
Backups benötigen für eine Wiederherstellung den richtigen Zeitpunkt, genügend freien Platz und Zeit. ZFS-Replikate können dagegen auf ausreichend leistungsfähiger Hardware sehr schnell produktiv gestartet werden.
Die Aufbewahrungszeiten für Backups und Replikate können selbst festgelegt werden.
Überlegungen zu Proxmox VE, ZFS und Ceph
Proxmox VE ist eine leistungsfähige Virtualisierungsplattform auf Basis von KVM und LXC. Viele ältere VMware- und Hyper-V-Umgebungen können auf Proxmox VE migriert werden.
Der eigentliche Nutzen von Proxmox entsteht aber nicht nur durch die Weboberfläche, sondern durch die Kombination mit ZFS, Ceph, SDN, Snapshots, Replikation und dem Proxmox Backup Server.
Nutzt man Proxmox VE nur mit Hardware-RAID oder klassischem SAN, verliert man viele Vorteile, die Proxmox in Verbindung mit ZFS oder Ceph eigentlich bietet.
ZFS eignet sich besonders für kleinere und mittlere Installationen mit einem bis drei Proxmox-Servern. Hier können Systeme performant betrieben, regelmäßig snapshotiert und auf weitere Systeme repliziert werden.
Ceph kommt vor allem dann ins Spiel, wenn im Fehlerfall möglichst kein Datenverlust entstehen darf und ausreichend Budget, Netzwerkleistung und Know-how vorhanden sind. In der Praxis bedeutet Ceph häufig einen deutlich höheren Hardware- und Betriebsaufwand.
Mit ZFS erreicht man realistisch eine Sicherungslücke von unter fünf Minuten oder besser, wenn es notwendig ist. Nur weil bei einem Server das Licht ausgeht, sind die Daten noch lange nicht verloren.
Empfehlung für kleinere Umgebungen
- Ein bis drei Proxmox-Server bevorzugt mit ZFS betreiben
- ZFS-Snapshots regelmäßig automatisieren
- ZFS-Replikation auf ein zweites System einrichten
- Zusätzlich Proxmox Backup Server für längere Historie nutzen
- Monitoring für Backup, Replikation und ZFS-Zustand einrichten
Snapshots gegen Bedienfehler, Fahrlässigkeit und Ransomware
Vor Umstellungen, Updates oder riskanten Maßnahmen erstellt ein Administrator üblicherweise einen Snapshot. Bei VMware oder Hyper-V können zu viele oder zu lange bestehende Snapshots schnell zum Problem werden.
Hier spielt ZFS seine Stärke aus. ZFS-Snapshots sind sehr effizient und können regelmäßig erstellt werden, ohne den Betrieb in gleicher Weise zu belasten.
Durch die Arbeitsweise von ZFS sind permanente Snapshots im produktiven Betrieb ein großer Vorteil.
Empfohlene Snapshot-Strategie
Für automatische Snapshots eignen sich beispielsweise zfs-auto-snapshot oder CV4PVE als Web-GUI für Proxmox VE.
- 12 Snapshots alle 15 Minuten für schnelle Hilfe in den letzten drei Stunden
- 96 stündliche Snapshots für vier Tage
- 21 tägliche Snapshots für drei Wochen
- 6 wöchentliche Snapshots für sechs Wochen
- 3 monatliche Snapshots für unentdeckte Fehler
Für Aufbewahrungszeiten über drei Monate hinaus eignet sich zusätzlich die tägliche Sicherung mit dem Proxmox Backup Server.
Wichtig: Das System sollte nicht dauerhaft über 80 % belegt werden. Bei zu hoher Belegung müssen Aufbewahrungszeiten reduziert werden.
Proxmox Backup Server: Segen und Risiko
Der Proxmox Backup Server ist ein hervorragendes Sicherungswerkzeug für virtuelle Maschinen und Linux-Container auf Proxmox VE. Er bietet inkrementelle Backups, Deduplizierung, Verifizierung und effiziente Wiederherstellung.
Das Standarddesign sieht allerdings vor, dass Proxmox VE seine Sicherungen zum Proxmox Backup Server schiebt. Dadurch entsteht im Ernstfall Angriffsfläche, wenn Zugangsdaten oder Berechtigungen zu weit gefasst sind.
Der Backup-Benutzer sollte ausschließlich Sicherungs- und Wiederherstellungsrechte besitzen.
2FA, ein API-Token mit minimalen Rechten und deaktivierter SSH-Passwortlogin sind Pflicht.
Typische Probleme im Standardbetrieb
- Der Backupserver muss häufig dauerhaft laufen
- Automatisches Einschalten und Herunterfahren ist nicht vorgesehen
- Monitoring der Backups ist nicht komfortabel integriert
- Mailbenachrichtigungen reichen für professionelle Kontrolle oft nicht aus
- Ein zentrales Dashboard für Backup-, Replikations- und ZFS-Zustand fehlt
Der Miyagi-Workflow
Der Miyagi-Workflow kombiniert Proxmox Backup Server, ZFS-Replikation, Wartung, Updates, Verifizierung und Monitoring in einem Ablauf.
Das Ziel ist ein Backupserver an einem anderen Standort, der nur für den Sicherungslauf aktiv ist, die Sicherungen kontrolliert, Replikate erstellt und anschließend wieder herunterfährt.
Voraussetzungen
- Proxmox VE 8.4 oder neuer
- ZFS RAID10 empfohlen, RAIDZ möglich aber langsamer
- Optional zfs-auto-snapshot oder CV4PVE Snapshotmanager
- Separater Sicherungsserver mit möglichst viel Speicherplatz
- Empfohlen: HPE Microserver mit ECC und mehreren großen HDDs
- Proxmox Backup Server 3.4 oder neuer
- Installation idealerweise ebenfalls auf ZFS
- Bashclub Postinstaller für checkzfs und zsync auf beiden Systemen
- Optional Checkmk-Agent auf PVE und PBS
Bashclub Postinstaller:
https://github.com/bashclub/proxmox-zfs-postinstall
Proxmox Backup Server vorbereiten
SSH-Zugriff vorbereiten
- Auf dem PBS den Inhalt von
.ssh/id_rsa.pubkopieren - Den Key in Proxmox VE unter
.ssh/authorized_keysergänzen - Einmalig per SSH vom PBS zum PVE verbinden, um den Hostkey zu speichern
Wichtige Hinweise zur PBS-Konfiguration
Kein NFS als Datastore für Proxmox Backup Server verwenden.
Optional kann beim Booten ein iSCSI-LUN von Synology oder einem anderen System eingebunden werden, wenn keine lokalen Platten genutzt werden.
@reboot iscsiadm --mode node --targetname "iqn.2xxxx" --portal "10.ipsyn...:3260" --login && zpool import -f iscsi
ZFS-Pool und Dataset für PBS erstellen
Bei direkter Nutzung von Festplatten:
zpool create -f iscsi /dev/sdx -o autoexpand=on
zfs create iscsi/pbsstore -o recordsize=1M -o com.sun:auto-snapshot=false
Bei nativ installiertem PBS:
zfs create rpool/pbsstore -o recordsize=1M -o com.sun:auto-snapshot=false
Die Festplatten sollten idealerweise über /dev/disk/by-id eingebunden werden.
Datastore im Proxmox Backup Server anlegen
- Bei iSCSI:
/iscsi/pbsstore - Bei nativer Installation:
/rpool/pbsstore - Purge, Garbage Collection und Verifyjobs zunächst deaktiviert anlegen
- Benutzer
backup@pbsmit starkem Passwort und 2FA anlegen - API-Key
backup@pbs!backupanlegen - Berechtigung Datastore Backup für Benutzer und API-Key setzen
Datastore in Proxmox VE einrichten
In Proxmox VE wird ein neuer Datastore vom Typ Proxmox Backup Server eingerichtet.
Danach sollte direkt aus einer VM oder einem LXC ein Testbackup ausgeführt werden.
Achtung: Proxmox VE setzt den Store
localstandardmäßig teilweise auf Typ Backup. Das sollte dringend deaktiviert werden.
Miyagi installieren
Die Installation erfolgt auf dem Proxmox Backup Server.
apt install git open-iscsi
git clone -b dev https://github.com/bashclub/miyagi-pbs-zfs.git
cd miyagi-pbs-zfs
cp config.example ipdeinespve.conf
nano ipdeinespve.conf
Das Miyagi-Script sichert einen Proxmox VE Host mit maximal zwei ZFS-Pools auf ein Ziel. Für weitere Hosts oder Pools werden einfach mehrere Konfigurationsdateien verwendet.
Beispielkonfiguration
SSHPORT='22'
BACKUPSERVER=yes
MAINTDAY=6
SHUTDOWN=yes
UPDATES=yes
SOURCEHOST='dein-pve-ip'
# ZFS-Replikation
ZFSROOT='rpool/data'
ZFSSECOND='rpool-hdd/data'
ZFSTRGT='rpool/repl'
ZPOOLSRC=rpool
ZPOOLDST=rpool
# ZSYNC für ZFS-Replikation
ZPUSHTAG=bashclub:zsync
ZPUSHMINKEEP=3
ZPUSHKEEP=14
ZPUSHLABEL=zsync
ZPUSHFILTER="daily,weekly,monthly"
# Backup
PBSHOST='ip-des-pbs'
BACKUPSTORE=backup
BACKUPSTOREPBS=backup
BACKUPEXCLUDE='99999'
Wichtige Parameter
BACKUPSERVER=yes: Proxmox Backup ausführenMAINTDAY=6: Wartungstag, idealerweise SamstagSHUTDOWN=yes: Backupserver nach Abschluss herunterfahrenUPDATES=yes: Updates auf dem PBS ausführenZPUSHKEEP=14: Anzahl der aufzubewahrenden ReplikationsständeZPUSHFILTER: vorhandene Snapshots wie daily, weekly, monthly mitnehmenBACKUPEXCLUDE: auszuschließende VMs oder LXC, Komma-getrennt
Testlauf durchführen
/root/miyagi-pbs-zfs/pbs-zfs-daily.sh -c /root/miyagi-pbs-zfs/192.x.x.x.conf
Die Ausgabe sollte zuerst die ZFS-Replikation und anschließend das Proxmox-Backup anzeigen. Danach fährt der Server bei entsprechender Konfiguration herunter.
Kontrolle des Testlaufs
Proxmox Backup Server
- In Proxmox VE unter Cluster / Datastores den Backupstore wieder aktivieren
- In den VMs/LXCs oder im Store kontrollieren, ob Backups vorhanden sind
ZFS-Replikation auf dem PBS prüfen
checkzfs --sourceonly
Alternativ:
checkzfs --source ippve --filter rpool/data --threshold 1500,2000 --columns +message
ZFS-Replikation auf dem PVE prüfen
cat /var/lib/check_mk_agent/spool/*
Monitoring mit Checkmk
Ein zentraler Bestandteil des Workflows ist das Monitoring ohne Fehlerquote. Backups und Replikationen sollen nicht nur laufen, sondern zuverlässig überwacht werden.
Service Discovery auf Proxmox VE
Dieser Dienst zeigt den Status des letzten Backups.
Dieser Dienst zeigt alle Quelldatasets und Volumes. Wenn innerhalb eines Tages keine neuen Daten kommen, geht der Status auf Unknown.
Ausgeschalteten Miyagi-Server überwachen
Da der Sicherungsserver nach Abschluss herunterfahren kann, wird in Checkmk ein eigener Host angelegt.
- Host mit Namen nach Schema
miyagi-quelle-zielanlegen - Kein Agent und keine API notwendig
- Spezialprüfung für den letzten bekannten Backupstatus verwenden
Nach der Service Discovery erscheint der entsprechende Status.
Damit bleibt auch ein ausgeschalteter Backupserver kontrollierbar. Wenn innerhalb eines Tages keine neuen Daten eintreffen, geht der Status auf Unknown.
Warum dieser Ansatz trojanersicherer ist
Der zentrale Vorteil liegt in der Kombination mehrerer Schutzebenen:
- Snapshots schützen gegen Bedienfehler und schnelle Verschlüsselung
- ZFS-Replikate ermöglichen einen schnellen Start auf Ersatzhardware
- Proxmox Backup Server bietet lange Historie und Deduplizierung
- Der Backupserver muss nicht dauerhaft erreichbar sein
- API-Token und minimale Rechte reduzieren Angriffsflächen
- Checkmk überwacht Erfolg, Alter und Vollständigkeit der Sicherungen
Fazit
Mit Proxmox VE, ZFS, Proxmox Backup Server, Miyagi und Checkmk entsteht ein sehr robuster Backup- und Replikationsworkflow für kleine und mittlere Unternehmen.
Die Lösung kombiniert eine lange Backuphistorie mit schnell startfähigen Replikaten und einer zentralen Überwachung. Damit lassen sich Ausfälle, Bedienfehler und Ransomware-Schäden deutlich besser beherrschen.
Passende Schulungen
Wenn Sie diesen Workflow im Detail verstehen oder gemeinsam aufbauen möchten, passen besonders diese Kurse auf cloudistboese.de:
- Replikationen und Backups trojanersicher
- Proxmox produktiv mit ZFS betreiben
- ZFS Grundlagen
- IT Monitoring und Kontrolle mit Checkmk, Tactical RMM und Wazuh