Backupstrategie für Heimserver - Wie macht Ihr das?

tony blue

Well-Known Member
Dec 26, 2017
79
2
48
52
Hallo,

ich bin auf der Suche nach einer sinnvollen Backupstrategie für unseren Heimserver. Wie habt Ihr das denn gelöst?

Hier mein Setup:

Heimserver: Proxmox 5.3 mit 3 x 8 TB HDD als ZFS RaidZ1, Intel Core i7-7700T. Er läuft 24/7.
  • Darauf laufen verschiedene VM/LXC (Fileserver, Mailserver, Webserver, Gamingserver, VDR, ...). -> /rpool/data
  • Neben den VM/LXC habe ich noch verschiedene Datasets im zfs angelegt um Eigene Dateien, Eigene Videos, Eigene Bilder, ... abzuspeichern. -> /rpool/home
Per zfs-auto-snapshot (https://github.com/zfsonlinux/zfs-auto-snapshot) erstelle ich zeitgesteuert snapshots und lösche diese auch wieder.

Backupserver: Um bei einem Festplattenausfall gewappnet zu sein habe ich auf einem älteren Rechner einen weiteren Proxmoxserver laufen (Proxmox 5.3 mit 2 x 8 TB HDD als ZFS stripe). Der Rechner soll nur bei Bedarf per WoL eingeschaltet werden und schaltet sich hinterher wieder ab. Er stellt die Festplatten per NFS/SSHFS im Netzwerk zur Verfügung.

Derzeit habe ich folgende Gedanken und Fragen zum Backup:

1. /rpool/data (VM/LXC)

1.1 vzdump - per Proxmox Weboberfläche
Die schöne Web-Oberfläche zur Erstellung zeitgesteuerter Backups kann ich leider nicht verwenden, da ich hiermit meinen Backupserver nicht per WoL aufwecken kann. Oder geht das vielleicht doch irgendwie?

1.2 vzdump - per cron-Script
Meine Idee ein cron-gesteuertes Script in der Art:

etherwake .... -> Backupserver per WoL aufwecken
vzdump 100 101 102 --mode stop --mailto administrator@meinmailserver --maxfiles 3 --remove 1 --dumpdir /mnt/pve/backupserver

-> Sind Backups mit "--mode suspend" sicher? Oder muss ich die Maschinen per "--mode stop" beenden und neu starten?

1.3 Gibt es eine sinnvolle bessere Möglichkeit?

2. /rpool/home (Eigene Dateien, Eigene Videos, Eigene Bilder, ...)

2.1 rsnapshot
Meine Idee ein cron-gesteuertes Script das per rsnapshot (https://wiki.ubuntuusers.de/rsnapshot/) die Daten wegsichert.

2.2 zfs send/recv + zfs_autobackup
Urspünglich hatte ich auf beiden Systemen zfs installiert, weil ich meinte, damit könnte ich sehr einfach snapshots und backups anlegen. Die Snapshoterstellung und -löschung klappt mit zfs-auto-snapshot sehr gut. Leider habe ich keine sinnvolle Möglichkeit gefunden, diese auf den Backupserver zu übertragen und dort auch wieder zu löschen.

zfs_autobackup (https://github.com/psy0rz/zfs_autobackup) verschiebt mir die snapshots (../.zfs/snapshot) auf den backupserver. Der eigentliche Inhalt des Verzeichnisses wird jedoch damit nicht kopiert.

Kann ich irgendwie die gesamten Verzeichnisse, d. h. inkl. .zfs/snapshot auf den Backupserver übertragen und dort wieder löschen?

2.3 Gibt es eine sinnvolle bessere Möglichkeit?

3. Anbindung des backupservers per nfs oder sshfs

Zunächst hae ich die Anbindung per nfs versucht. Dies läuft aber sehr langsam (evtl. dadurch bedingt, dass mein Backupserver nur über eine schwache Hardware (AthlonII X2 250 mit 4 GB RAM). Sehr gut läuft hingegen die Anbindung per sshfs.

Deshalb meine Frage: Hat sshfs irgendwelche Nachteile?

4. Welche Backupstrategie verwendet Ihr auf Euerem Heimserver?

Vielen Dank?

Tony
 
Du hast alles richtig gemacht und auf ZFS gesetzt und somit die beste Basis für direkte Replikation. Ich verwende mehrere externe Platten für das Backup und dort läuft ZFS drauf, auf das der gesamte rpool draufgesync (send/receive) wird. Ob da jetzt noch ein SSH dazwischen ist oder nicht macht keinen wirklichen Unterschied und so kannst du das auch direkt damit machen. Ich habe zuhause fast nur LXC (zumindest die wichtigen Dinger), sodass ich die Backups komplett ohne PVE mache, sondern nur ZFS Replikation verwende. Da ich den gesamten Pool übertrage ist auch wirklich alles dabei (inkl. der VM-Konfigurationen).
 
Hallo,

ich bin auf der Suche nach einer sinnvollen Backupstrategie für unseren Heimserver. Wie habt Ihr das denn gelöst?

Hier mein Setup:

Heimserver: Proxmox 5.3 mit 3 x 8 TB HDD als ZFS RaidZ1, Intel Core i7-7700T. Er läuft 24/7.
  • Darauf laufen verschiedene VM/LXC (Fileserver, Mailserver, Webserver, Gamingserver, VDR, ...). -> /rpool/data
  • Neben den VM/LXC habe ich noch verschiedene Datasets im zfs angelegt um Eigene Dateien, Eigene Videos, Eigene Bilder, ... abzuspeichern. -> /rpool/home
Per zfs-auto-snapshot (https://github.com/zfsonlinux/zfs-auto-snapshot) erstelle ich zeitgesteuert snapshots und lösche diese auch wieder.

Tony

Hallo Tony,

ich hoffe Du bist hier noch aktiv, habe nämlich eine Bitte an Dich.
Zur Situation: Ich lege meine Daten aktuell auf einen Server mit FreeNAS ab (Mirrors 2x 3TB; 2x 4TB und 2x 3TB).
FreeNAS managed das mit den Snapshots ja sehr gut, alles lässt sich über die GUI einstellen. Zugriff von Windows über smb.
Ich möchte aber mein Gehirn trainieren und betreibe das Thema "Computer" als Hobby (Komme nicht aus der IT).
Ich habe 4 VMs im FreeNas laufen (VPN; PiHole; Ubuntu, Ubuntu mit NGINX). Das Managen der VMs ist meiner Meinung nach nicht
so gut gelöst wie in ProxMox.
Habe nun auf einem ganz kleinen Testrechner ProxMox installiert. 2 HDD als Mirror mit ZFS.
Ich habe in einem LXC Container Ubuntu mit Samba installiert. Nun möchte ich auf /rpool/share - welcher im LXC
als /daten gemountet ist, regelmäßig Shnapshots laufen lassen. "zfs-auto-snapshot" habe ich installiert.
Nur habe ich einen kompletten hänger im Kopf, wie richte ich den nun ein snapshot ein? Make ist durchgelaufen.
Warscheinlich habe ich zu viel gelesen und sehe den Wald vor lauter Bäumen nicht mehr.
Wie mache ich 1x die Stunde einen Snapshot von /daten und behalte diesen 3 Tage?
Kannst Du mir hier auf die Sprünge helfen?

VG Mario
 
Habe nun auf einem ganz kleinen Testrechner ProxMox installiert. 2 HDD als Mirror mit ZFS.
Ich habe in einem LXC Container Ubuntu mit Samba installiert. Nun möchte ich auf /rpool/share - welcher im LXC
als /daten gemountet ist, regelmäßig Shnapshots laufen lassen. "zfs-auto-snapshot" habe ich installiert.
Nur habe ich einen kompletten hänger im Kopf, wie richte ich den nun ein snapshot ein? Make ist durchgelaufen.
Warscheinlich habe ich zu viel gelesen und sehe den Wald vor lauter Bäumen nicht mehr.
Wie mache ich 1x die Stunde einen Snapshot von /daten und behalte diesen 3 Tage?
Kannst Du mir hier auf die Sprünge helfen?

Nur damit wir vom gleichen Reden:
Snapshots vom ZFS können nur auf dem PVE Host erstellt werden, nicht in einem Container. Und bitte keine Software mit make installieren, immer Pakete verwenden sonst müllt das Linux schneller zu als einem lieb ist.
 
Nur damit wir vom gleichen Reden:
Snapshots vom ZFS können nur auf dem PVE Host erstellt werden, nicht in einem Container. Und bitte keine Software mit make installieren, immer Pakete verwenden sonst müllt das Linux schneller zu als einem lieb ist.

Genau das Hostsystem meine ich auch. Ich habe einen Container mit Ubuntu, dieser hat einen MP zum Storage des PVE welcher
unter ZFS läuft. Ich habe es mit dem Script nun auch hinbekommen, dass PVE automatische Snapshots macht. Nur macht es
diese nicht (zu Testzecken) alle 15 Minuten, sondern 4 Stück je 15 Minuten, dann auch mal lange Zeit nicht mehr (z.B. über Nacht).
Solange ich das Thema nicht verstanden und richtig Umgesetzt bekomme, bleibe ich ersteinmal bei FreeNas.

Im Container ist SAMBA installiert, hier kann ich sogar in der Freigabe auf Windows die "Vorgängerversionen" sehen.
Auch werden die Snaphshots vom gesamten Pool gemacht und nicht nur in /rpool/share.

Meine Crontab sieht so aus:

17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
/etc/cron.d/zfs-auto-snapshot:*/15 * * * * root zfs-auto-snapshot -q -g --label=04 --keep=4 rpool/share
/etc/cron.hourly/zfs-auto-snapshot:exec zfs-auto-snapshot --quiet --syslog --label=00 --keep=24 rpool/share

Ich nochmal, habe jetzt die zfs-auto-snapshot unter /etc/cron.d/zfs-au... mit den passenden Einträgen ergänzt :cool:
Nun funktioniert es auch wie gewünscht :D
Da hab ich wirklich auf dem Schlauch gestanden, nun wieder was gelernt.
 
Last edited:
Hallo Mario1971,

wenn ich es richtig verstehe, hast Du Dein Problem schon gelöst. Vielleicht helfen Dir diese Informationen noch ergänzend:

Snapshots der Datasets
Die Snapshots werden regelmäßig erstellt mit dem Script zfs-auto-snapshot (https://github.com/nvandal/zfs-auto-snapshot-osx)

Auf dem Proxmox-Rechner (nicht in VM oder LXC) wird hierzu das existierende Debian-Paket zfs-auto-snapshot installiert.

Zur Erstellung der Snapshots gibt es mehrere Cron-Jobs:

  • frequent -> /etc/cron.d/zfs-auto-snapshot
  • daily -> /etc/cron.daily
  • weekly -> /etc/cron.weekly
  • monthly -> /etc/cron.monthly
In den jeweiligen Cronjobs sind auch die Tage eingestellt, wie lange die Snapshots bestehen bleiben sollen.


bestehende Snapshots anzeigen
zfs list -t snapshot

Auswahl der Ordner zur Snapshot-Erstellung
Das Script zfs-auto-snapshot erstellt per default Snapshots von allen Datasets. Wenn für Datasets keine Snapshots erstellt werden sollen, muss die ZFS-Datasets mit der Eigenschaft com.sun:auto-snapshot=false gesetzt werden.

  • Abfrage aller vom Snapshot ausgenommenen Datasets:
zfs get all | grep "com.sun:auto-snapshot "

zfs get -t filesystem all|grep auto-snapshot

  • Setzen der Eigenschaft „com.sun:auto-snapshot=false“ um das Dataset vom Snapshot auszunehmen:
zfs set com.sun:auto-snapshot=false rpool/dataset

  • Löschen der Eigenschaft „com.sun:auto-snapshot=false“ um das Dataset wieder in den Snapshot aufzunehmen:
zfs inherit com.sun:auto-snapshot rpool/dataset

Viele Grüße


Tony
 
Liebes Forum,

ich musste bei einem ZFS SNAP den Server herunterfahren, denn in einem laufendem Betrieb geht dass ganze nicht.
Was die Rücksicherug per ZFS angeht, werden alle Snapshost überschrieben /ROOLLBACK!

Ich finde das ganze Thema sehr spannend, leider gibt hier keine Lösung von Proxmox.

ZFS ist mit sehr viel Übungen verbunden, gerade was das Rollback angeht. Von der Hardware angefangen!
 
ich musste bei einem ZFS SNAP den Server herunterfahren, denn in einem laufendem Betrieb geht dass ganze nicht.

Hmm, läuft der QEMU Agent? Es ist kein Problem eine laufende oder eine gestoppte VM zu snapshotten. Im Online-Zustand hat man sogar den RAM-Inhalt mit gesichert.

Was die Rücksicherug per ZFS angeht, werden alle Snapshost überschrieben /ROOLLBACK!

ZFS hat eine lineare Historie und wenn man z.B. Snapshots in der Reihenfolge A -> B -> C hat und "nach" C ist und zu A will werden alle Snapshots dazwischen gelöscht. Das ist korrekt und da kann man auch nicht direkt dran rütteln, denn so ist ZFS aufgebaut. Wenn man nicht-lineare Snapshots möchte muss man auf QCOW2 zurückgreifen, denn dort klappt hat. Auch wenn man hier im Forum immer mal wieder liest, dass QCOW2 auf ZFS zu Datenverlust führen sollte habe ich dazu - selbst nach Nachfragen - keine Beweise bekommen (macht technisch auch keinen Sinn, dass es Datenverlust geben sollte). Daher setzen einige - mich eingeschlossen - auf ZFS als Verzeichnisstorage auch QCOW2 ein, um genau diese nichtlineare Historie zu bekommen und wild zwischen Snapshots hin- und herschalten zu können.
 
Hallo LnxBil,

lieben dank für deine Antwort. Ich hatte mich falsch ausgedrückt.
Ich sichere nur noch über zfs snap / zfs send und zfs receive und nicht über Proxmox eigene Snapshots, dass dauert zu lange.

Unter Proxmox lege ich für die VM kein ZVOL an, sondern nur auf Directory an. ACHTUNG mit LUKS!

Bei meiner Erfahrung, wenn Sicherungen über das ZFS Snapshots gemacht werden , müssen die VMS herunter gefahren werden.
Im Verzeichnis .zfs kann ich mir jeden Snapshot den ich brauche, per scp ziehen, ohne dass der Rollback etwas überspielt.

Ich möchte nicht zuviel ins Detail gehen, dass wird zu komplex.

die Server unserer Abteilung hatten immer Ubuntu als VM , es zeigte sich, dass Debian schneller bei einem Reboot ist als Ubuntu.


#------------------------------------

ZFS hat eine lineare Historie und wenn man z.B. Snapshots in der Reihenfolge A -> B -> C hat und "nach" C ist und zu A will werden alle Snapshots dazwischen gelöscht. Das ist korrekt und da kann man auch nicht direkt dran rütteln, denn so ist ZFS aufgebaut. Wenn man nicht-lineare Snapshots möchte muss man auf QCOW2 zurückgreifen, denn dort klappt hat. Auch wenn man hier im Forum immer mal wieder liest, dass QCOW2 auf ZFS zu Datenverlust führen sollte habe ich dazu - selbst nach Nachfragen - keine Beweise bekommen (macht technisch auch keinen Sinn, dass es Datenverlust geben sollte). Daher setzen einige - mich eingeschlossen - auf ZFS als Verzeichnisstorage auch QCOW2 ein, um genau diese nichtlineare Historie zu bekommen und wild zwischen Snapshots hin- und herschalten zu können.

#-------------------------------

Hallo LnxBil,

danke für die Infos.

gruss
 
Hi.
... ohne diesen Thread bis ins Detail gelesen zu haben: Neben zfs-auto-snapshot existiert auch das geniale Tools zfs-backup-manager und on-top auch noch zfs-offline-backup. Damit kann man eine vollständige Storage Replication hinbekommen. Wir nutzen das, um die ZFS-Snapshots auf einen Backup-Server zu übertragen, der ebenfalls mit Proxmox ausgestattet ist. Im Falle eines Serverausfalls sind damit alle VMs auf dem Backup-Rechner sofort startklar, ohne zunächst langwieirig Dumps wiederherstellen zu müssen.
@maxprox hat vor einiger Zeit mal ein geniales Tutorial dazu hier verfasst.
hth.
 
lieben dank an alle,

Mein ZFS SNAP über einen HYPER -V Server mit Windwos 8 kein Proplem.

Mit ZFS SNAPSHOT und Seafile war auch nicht meine Frage!

whiterabbit

dann geben Wir noch Bacula, Azure, Samba und Baikal hinzu,achja jitsi!






 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!