Backup und Replikation trojanersicher für Proxmox VE mit Miyagi Workflow
Was
Trojanersichere wirBackups unsund Wünschen
Replikationen mit Proxmox Backup Server, ZFS und Miyagi
FürZiel ist eine Datensicherungwünschen wir unsmit drei Kopien derDaten anDaten, mindestens zweiStandorten,Standortenmitund zweiMethoden.unterschiedlichen
Sicherungsmethoden. Zusätzlichistmuss die Kontrolle der Backups und Replikationen zuverlässig, automatisch und ohne Fehlerquoteein Muss!funktionieren.
Unsere Lösung erzeugtkombiniert 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
Systemzustand Schnelle Wiederherstellung
Als Ergebnis
finden wirentsteht eine Backuphistoriefürüber mehrere Monate bis JahreundsowieReplikateein ZFS-Replikat mit typischer Aufbewahrung von ca. 14 Tagen bis dreiMonateMonaten.
Beispiel auf dem Zielserver
# Auf dem Zielserver sollte das dann so aussehen
# Unsere Proxmox Backups mit fünf Tagen SnapshotSnapshot-Schutz gegen Kompromittierung
zfs list
rpool/pbsstore 4.9T 30.4T 4.62T /rpool/pbsstore
#PVE# 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# PVE mit KVM
rpool/repl/lwpve3/rpool3/data/vm-301-disk-0 267K 41.0T 169K -
(finden sich unter /dev/zvol/rpool....)
rpool/repl/lwpve3/rpool3/data/vm-301-disk-1 40.6G 41.0T 26.7G -
(finden sich unter /dev/zvol/rpool....)
rpool/repl/lwpve3/rpool3/data/vm-301-disk-2 277G 41.0T 214G -
(# ZVOLs finden sich unter /dev/zvol/rpool....)
DieBackups benötigen fürdieeine Wiederherstellung den richtigen Zeitpunkt,dengenügend freien Platz undZeit,Zeit.während die ZFSZFS-ReplikatesofortkönnenStartfähigdagegensindaufundausreichendin Potenterleistungsfähiger Hardware sehr schnell produktivgehengestartetkönnen.werden.Die
AufhebezeitenAufbewahrungszeiten für Backups undReplikatenReplikate können selbst festgelegt werden.
Überlegungen zu Proxmox VE
VE, ZFS und Ceph
Proxmox VE ist primäreine nurleistungsfähige einVirtualisierungsplattform überschaubaresauf FrontendBasis fürvon KVM und LXC. Virtualisierung.
Es ist natürlich denkbar alteältere VMware- und HyperVHyper-V-Umgebungen Lösungenkönnen auf Proxmox umzustellen.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 RaidHardware-RAID oder klassischem SAN, verliert manimvieleVergleichVorteile,zudiedenProxmoxkommerzielleninLösungenVerbindungeinemitMengeZFSKomfort.oder Ceph eigentlich bietet.
NatürlichZFS isteignet diesich Hochverfügbarkeitbesonders für kleinere und dasmittlere schlankeInstallationen Designmit eineinem Gewinnbis imdrei VergleichProxmox-Servern. zuHier denkönnen kostenintensivenSysteme Lösungenperformant desbetrieben, Mittbewerbs.regelmäßig snapshotiert und auf weitere Systeme repliziert werden.
Ceph
Proxmox lebtkommt vor allemdurchdanndieinsim Hintergrund integrierten Lösungen KVM, LXC, SDN und vor allem ZFS und Ceph.
ZFS und Ceph schicken Hardware Raids und SANs auf die Ersatzbank und sind nunmehr oft obsolet.
Lösungen mit Ceph werden primär eingesetztSpiel, wenn imHärtefallFehlerfall möglichst keinBitDatenverlustDatenentstehenverlorendarfgehenunddarf,ausreichendwasBudget,allerdingsNetzwerkleistungmitundeinemKnow-howvier-vorhandenbissind.sechsfachenInKostenaufwanddereinhergeht.Praxis bedeutet Ceph häufig einen deutlich höheren Hardware- und Betriebsaufwand.Mit ZFS erreicht man realistisch eine
SicherungSicherungslücke von unter fünf Minuten oder besser, wennnotwendig.es notwendig ist. Nur weil bei einem Server das Licht ausgeht, sind die Daten noch langedie Datennichtweg!!!verloren.
BeiEmpfehlung
eherfürnichtkleinerezuUmgebungenerwartenden
Problemen mit einem Ceph Cluster müsste man eventuell von vorne starten.Ein bis drei
Kleinere Installationen von ca. einProxmoxProxmox-ServerServern sollten daherbevorzugt mit ZFSinstalliertbetreiben 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 unduntereinanderZFS-Zustandreplizierteinrichten
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.
DieHierReplikationspieltmitZFSBordmittelnseinesiehtStärkejedochaus.nurZFS-SnapshotsdensindTransportsehr effizient undkeinekönnenHistorieregelmäßigder Systeme vor.
Da heutzutage SSDs und Festplatten nicht mehr von vorne bis hinten beschriebenerstellt werden,sondern zufällig, macht es Sinn die komplette Lebenszeit den kompletten Platz auszunutzen.
Von Dummheit, Fahrlässigkeit bis zum Trojaner
Vor Umstellungen und Maßnahmen führt der Admin üblicherweise einen Snapshot aus. Gerade VMware ist die absolut im Nachteil gegen die meisten Systeme, da Konsolidierung der Snapshots nach Tagen schonohne den Betrieblahmlegeninkann.gleicherDaherWeiseistzueine hohe Anzahl von Snapshots im HyperV und VMware keine Option.
Hier kommt ZFS ins Spiel.belasten.Durch die
auf Vektoren basierendeArbeitsweise von ZFS sind permanente SnapshotskeinimNachteilproduktivenfürBetriebdeneinBetrieb.großer Vorteil.
WirEmpfohlene
empfehlen folgende Vorgehensweise.Snapshot-Strategie
InstallationFüreinerautomatischeSnapshotSnapshotsEngineeignenwiesich beispielsweise zfs-auto-snapshot oder CV4PVE(Webals Web-GUI fürPVE)
Alle Programme inklusiveProxmoxVE erstellen dieselbe Qualität an Snapshots, wobei zfs-auto-snapshot von Proxmox unentdeckt arbeitet.
Hierbei ist nur zu beachten, dass das System nicht über 80% belegt wird. Für den Fall der Überlastung können wir die Aufhebezeiten reduzieren.
Unser Vorschlag belegt üblicherweise ca. 2,5 mal so viel Platz wie die Nutzdaten.
Hier die optimalen Einstellungen aus unserer Praxis:VE.
- 12 Snapshots alle 15 Minuten für schnelle Hilfe in den letzten drei Stunden
für schnelle Hilfe- 96
Stundenstündliche Snapshots für vierTage, besonders sinnvoll für Ostern, Weihnachten, KrankheitTage- 21
Tagetägliche Snapshots für drei Wochen- 6
Wochenwöchentliche Snapshots füreinsechsfeineres Raster in die VergangenheitWochen- 3
Monatemonatliche Snapshots für unentdeckte FehlerFür
allesAufbewahrungszeiten über drei Monatenutzenhinauswireignet 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
RisikoBackupserverBackup Server: Segen undFluchDer Proxmox Backup Server ist ein
idealeshervorragendes Sicherungswerkzeug für virtuelle Maschinen undLinuxLinux-Container auf Proxmox VE. Er bietet inkrementelle Backups, Deduplizierung, Verifizierung und effiziente Wiederherstellung.Das
DesignStandarddesign siehtvorallerdingsdaßvor,hier Sicherungen vondass Proxmox VEnachseine Sicherungen zum ProxmoxBackupserverBackupgeschobenServerwerden,schiebt.wasDadurchRaumentstehtfürimTrojanerErnstfallundAngriffsfläche,Hackerwennbietet.Zugangsdaten oder Berechtigungen zu weit gefasst sind.
EsDeristBackup-Benutzerextremsolltewichtig, dem Backupuser im Server einen API Key bereitzustellen, der nurausschließlich Sicherungs- undWiderherstellungsrechteWiederherstellungsrechtebesitzt.besitzen.
Zwei2FA,FaktoreinLogin,API-TokensomitwieminimalendieRechtenDeaktivierungunddesdeaktivierterSSH Logins per PasswortSSH-Passwortlogin sindabsolut notwendig!Pflicht.Typische Probleme im Standardbetrieb
Der Backupserver
kann nicht wissen wann ein Proxmox VE System seine Sicherung anliefert. Dahermusserhäufigpermanentdauerhaftlaufen.laufenAutomatisches
SelbsteinEinschaltenAnschalten des Backupservers vor der geplanten Sicherung erlaubt einund Herunterfahrennach der Sicherung nicht, da es technischist nicht vorgesehenist.Monitoring der Backups ist nicht
Ebenfalls ist dasvorgesehenkomfortabelundintegriertmitMailbenachrichtigungenZabbixreichenoderfürCheck_MKprofessionellenurKontrollemühseligofteinzurichten.nicht
DieausMailbenachrichtigungEinist unzureichend bis unbrauchbar. Ebenfalls fehlt einzentrales Dashboard fürBackup,Backup-,FestplattenzustandReplikations-oderundRaid-Probleme.ZFS-Zustand fehlt
Der Miyagi-Workflow
Der Miyagi-Workflow kombiniert Proxmox Backup Server, ZFS-Replikation, Wartung, Updates, Verifizierung und Monitoring in einem Ablauf.
WirDas
benötigenZieleinenistweitereneinComputer,Backupserver an einem anderenOrt, mit zwei weiteren Kopien in zwei MethodenStandort, derSicherung
Proxmox VE bietet die Möglichkeit nativ mit dem Backupserver zu sichern und mit ZFS ein startfähiges Replikat nativ zu erstellen.
Backups bieten hier einWiederherstellungsversprechen, während ZFS eineWiederherstellungsgarantiebietetaktiv ist, die Sicherungen kontrolliert, Replikate erstellt und anschließend wieder herunterfährt.
Voraussetzungennur für denMiyagiSicherungslaufWorkflowVoraussetzungen
- Proxmox VE
Server8.4 oder neuermitZFSRaidRAID1010empfohlen,(empfohlen)RAIDZodermöglichRaidZaber(langsamer)langsamer Optional zfs-auto-snapshot oder CV4PVE Snapshotmanager
ComputerSeparater Sicherungsserver mit möglichst vielPlatz,Speicherplatzz. B.Empfohlen: HPE Microserver mitECC, 4 x 20TB HDD oder vergleichbare Systeme von Terramaster ohneECCmitund16mehrerenGBgroßenRAM (nicht empfohlen)HDDs Proxmox Backup Server 3.4 oderneuereneuerISO zurInstallationmitidealerweise ebenfalls auf ZFSRaidBashclub10Postinstaller(empfohlen)fürodercheckzfsRaidZund(langsamer)zsync auf beiden Systemen Optional Checkmk-Agent auf PVE und PBSBashclub Postinstaller:
https://github.com/bashclub/proxmox-zfs-postinstall
Proxmox Backup Server vorbereiten
SSH-Zugriff vorbereiten
Den Key in Proxmox VE unter
- Auf dem PBS den Inhalt von
.ssh/id_rsa.pubkopieren.ssh/authorized_keysergänzen Einmalig per SSH vom PBS zum PVE verbinden, um den Hostkey zu speichernWichtige Hinweise zur PBS-Konfiguration
Kein NFS als Datastore für Proxmox Backup Server verwenden.
Optional
alterkannPCbeimmitBooten ein iSCSI-LUN von SynologyiSCSIoderFreigabeeinemDafüranderenCronjobSystembeimeingebundenbootenwerden,wenn keine lokalen Platten genutzt werden.
@reboot iscsiadm --mode node --targetname "iqn.2xxxx" --portal "10.ipsyn...:3260" --login && zpool import -f iscsiBashclub Postinstaller für checkzfs und zsync Tool auf beiden Systemenhttps://github.com/bashclub/proxmox-zfs-postinstallOptional Check_MK Agent auf PVE und PBS
Installation Proxmox Backup und EinstellungenPBS: Inhalt von .ssh/id_rsa.pub wird per Web GUI in PVE .ssh/authorized_keys ergänztEinmaliger Login per SSH von PBS zu PVE um den Hostkey zu speichernKonfiguration von PBSKein NFS für PBS nutzen!!!Optional beim booten ein Synology oder ähnliches iSCSI LUN einbinden, falls keine neuen Platten angeschafft wurdenAuf der Shell optimierten ZFSZFS-Pool und Dataset
erstellen,fürfallsPBSnichterstellennativ installiert wurdeOptional mit iSCSIiscsiadm --mode node --targetname "iqn.2xxxx" --portal "10.ipsyn...:3260" --loginBei
Festplatten:direktendirekterPlattenNutzungRaidvonerstellenzfs create iscsi/pbsstore -o recordsize=1M -o com.sun:auto-snapshot=falsezpool create -f iscsi /dev/sdx -o autoexpand=on
mit lsblk finden wir die Festplatten namen, alternativ unter /dev/disk/by-id (empfohlen=Bei nativ installiertem
PBSPBS:wie folgt den Store anlegenzfs create rpool/pbsstore -o recordsize=1M -o com.sun:auto-snapshot=falseDie
FestplattenInsollten idealerweise über/dev/disk/by-ideingebunden werden.Datastore im Proxmox
BackupserverBackupneuen StoreServer anlegen
- Bei
iSCSI:
bei iSCSi nach/iSCSI/iscsi/pbsstorenativBeinachnativer Installation:/rpool/pbsstorePurge, GarbageCollegtionCollection und Verifyjobs zunächst deaktiviert anlegenauf 1. Tag im Jahr und deaktivieren, wir regeln das!Benutzerbackup@pbsmitgutenstarkem Passwort und 2FA anlegenAPIAPI-Keybackup@pbs!backupanlegen,anlegenPasswortBerechtigung Datastore Backup für Benutzer undName notierenPermission für "/" Datastore Backup für Userbackup@pbsund APIAPI-Keybackup@pbs!backup anlegen.setzenDatastore
in Proxmox VE einrichtenIn Proxmox
VE,VEalsowirddereinQuelleNeuenneuer Datastore vom Typ Proxmox Backup Server
eingerichtet.Danach
Ausführung eines Tests der Datensicherungsollte direkt aus einer VM oder einem LXC ein Testbackup ausgeführt werden.Achtung: Proxmox VE
hat als defaultsetzt den Store"local"localstandardmäßig teilweise auf TypBackupBackup.stehen,Das sollte dringenddeaktivieren!deaktiviert werden.
Miyagi installieren
Die Installation
Miyagierfolgtauf
Aufdem ProxmoxBackupserverBackupServer.
apt install git open-iscsigit clone -b dev https://github.com/bashclub/miyagi-pbs-zfs.git cd miyagi-pbs-zfs cp config.example ipdeinespve.conf nano ipdeinespve.confMiyagiDas Miyagi-Script sichert einen
Konfigurationsdateien verwendet.PVEProxmox VE Host mit maximal zweiZFSZFS-Pools auf einZiel,Ziel.fürFürmehrweitere Hosts oder Pools werden einfach mehrereConfigs!Beispielkonfiguration
SSHPORT='22'#SSH Port, eventuell extern geändertBACKUPSERVER=yes#Soll Backup ausgeführt werdenMAINTDAY=6#1 Montag bis 7 Sonntag, am besten Samstags, da Sonntags Scrubs laufenSHUTDOWN=yes#Ausschalten nach Beendigung (empfohlen)UPDATES=yes#Updates PBSSOURCEHOST='dein pvedein-pve-ip' #IP vom Proxmox VE System das gesichert werden soll #Replikation mit ZFSZFS-Replikation ZFSROOT='rpool/data'Standard ZFS Pool von Proxmox VE mit ZFSZFSSECOND='rpool-hdd/data'#Optional zweites ZFS auf HDDZFSTRGT='rpool/repl'#Das ist der Proxmox Backup Server mit ZFS installiert #Falls Sonntags der ZFS Scrub läuft, besser stoppenZPOOLSRC=rpool#Erster Pool PVEZPOOLDST=rpool#Erster#Pool PBS #ZSYNCZSYNC fürZFS Replication vom github.com/bashclubZFS-Replikation ZPUSHTAG=bashclub:zsync#Markiert auf der Quelle mit diesem Wert rekursiv die Datasets und VolumesZPUSHMINKEEP=3#Standardwert zum Anfügen, nicht ändernZPUSHKEEP=14#Bei täglicher Sicherung wären das 14 Tage!ZPUSHLABEL=zsync#Name vom Snapshot für die Replikation, dieser muss auf beiden Seiten erscheinenZPUSHFILTER="daily,weekly,monthly"#Falls#zfs-auto-snapshot auf Quelle genutzt wird, können wir diese Snapshots mitnehmen! #BackupBackup PBSHOST='IPPBS'ip-des-pbs'#IPBACKUPSTORE=backupAdresseBACKUPSTOREPBS=backupdesBACKUPEXCLUDE='99999'Wichtige Parameter
BACKUPSERVER=yes: Proxmox BackupServersausführenBACKUPSTORE=backupMAINTDAY=6:#DatastorenameWartungstag,füridealerweiseBackupsSamstagSHUTDOWN=yes: Backupserver nach Abschluss herunterfahrenUPDATES=yes: Updates aufPVE BACKUPSTOREPBS=backup #Datastorename für Backups aufdem PBSBACKUPEXCLUDE='99999'ausführen#WeglassenZPUSHKEEP=14:vonAnzahl der aufzubewahrenden ReplikationsständeZPUSHFILTER: vorhandene Snapshots wie daily, weekly, monthly mitnehmenBACKUPEXCLUDE: auszuschließende VMs oderLXCsLXC,mit Komma getrennt, nicht leer lassen!Komma-getrenntDanach
Testlauf
durchführen
/root/miyagi-pbs-zfs/pbs-zfs-daily.sh -c /root/miyagi-pbs-zfs/192....x.x.x.confDie Ausgabe sollte zuerst die ZFS-Replikation und
späteranschließend das Proxmox-Backup anzeigen. Danach fährt der Server bei entsprechender Konfiguration herunter.Kontrolle des Testlaufs
Proxmox Backup
anzeigenShutdownKontrolle TestlaufPBS-SicherungServer
- In Proxmox VE unter Cluster / Datastores den
Backup StoreBackupstore wiederaktivieren!aktivieren- In den VMs/LXCs oder im Store
selbst schauenkontrollieren, ob Backups vorhanden sindZFS-Replikation
auf
aufdem PBSinprüfenShellcheckzfs --sourceonlyoderAlternativ:
checkzfs --source ippve --filter rpool/data --threshold 1500,2000 --columns +messageZFS-Replikation
aufaufdem PVEinprüfenShellcat /var/lib/check_mk_agent/spool/*
Monitoring
mit CheckmkEin zentraler Bestandteil
Check_MKdes Workflows ist das Monitoringohne
AufFehlerquote.PVEBackupsperund Replikationen sollen nicht nur laufen, sondern zuverlässig überwacht werden.Service Discovery
auf
ServiceProxmoxDiscoveryVEabwartenDieser
ZeigtDienst zeigt den Status des letztenBackupsBackups.Dieser Dienst zeigt alle Quelldatasets und
-VolumesVolumes.ohne Fehlerquote, wenn Quelle korrekt angegebenStatus geht auf Unknown wennWenn innerhalb eines Tages keine neuen Datenkommen!kommen, geht der Status auf Unknown.Ausgeschalteten
MiyagiMiyagi-ServerkontrollierenüberwachenDa der Sicherungsserver nach Abschluss herunterfahren kann, wird in Checkmk ein eigener Host angelegt.
NeuenHost mit Namen nach Schemamiyagi-quelle-zielinanlegenCheck_MK anlegen, ohneKein Agent undAPI,keinemitAPI notwendigSpezialprüfung für den letzten bekannten Backupstatus verwendenNach der Service Discovery
abwartenerscheintoderderstarten
entsprechende Status.Damit
NunbleibtkönnenauchwireindenausgeschalteterausgeschaltetenBackupserverServerkontrollierbar.im Blick behalten. KommenWenn innerhalb eines Tages keine neuenDaten,Daten eintreffen, gehtdasderSystemStatus aufUnknownUnknown.
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




