Backup von SSD, auf der boot, OS und Daten liegen

  • Hallo und noch schöne Weihnachten,

    ich habe gestern ein neues Projekt angefangen, nämlich die Abschaltung meines Synology NAS durch Umzug auf den Raspberry, der bereits für andere Anwendungen 24/7 läuft.

    Dazu habe ich eine 2TB-SSD-Festplatte am Raspberry 4 an USB3.0 angeschlossen und dort mein von der SD-Karte mit dd erstelltes Image aufgespielt (also die Partitionen boot mit 256MB sowie OS Raspbian mit knapp 16GB). Die dritte Partition habe ich als ext4 formatiert und für die Daten der NAS eingebunden.

    Nun möchte ich natürlich regelmäßig Backups durchführen: den Datenbereich mit rsync auf eine entfernt stehende Festplatte und die Bereiche boot und OS am liebsten wieder mit "dd". Allerdings kann ich ja nur jeweils eine der beiden Partitionen sichern, nicht beide auf einmal, oder ? Und falls es doch geht: kann ich das Image der "beiden" Partitionen mit Win32DiskImager wieder aufspielen, ohne dass die dahinterhängende Datenpartition beeinflusst wird ? Wie würdet Ihr sichern, dass man bei einem komplett-Crash wieder ein Restore durchführen kann ?

    Am liebsten hätte ich ja auch openmediavault im Einsatz, allerdings habe ich bereits mehrfach erfolglose Versuche (Anleitung von heise und sbuechler) der Installation hinter mir: bei der Laufwerksuche findet openmediavault kein Laufwerk, zerschießt mir aber stattdessen die fstab. Habt Ihr eine Idee was die Ursache hierfür sein könnte ?

    Schöne Grüße

    Andreas

  • OK, da ist beim rückspielen nicht relevant, wenn bereits Partitionen existieren ?

    Da gibt es verschiedene Optionen.

    Z.B. beim Backup --ignoreAdditionalPartitions (sichert nur die ersten beiden Partitionen)

    -0 (verhindert das neuformatieren und sichert die beiden System-Partitionen zurück

  • Du willst nur Dein System mit raspiBackup sichern und Deine NAS Daten anderweitig per rsync.

    Genau die beiden von Franjo G genannten Optionen sind diejenigen die Du bei raspiBackup benoetigst fuer Deinen Usecase. Du musst nur sehr aufpassen dass Du auch wirklich die Option -0 - Strich Null beim Restore angibst. Ansonsten wird Dein dritte Partition gnadenlos ueberschrieben ;)

  • Ich gehe mal davon aus, dass es diese Option auch beim Rückspielen aus Windows heraus gibt.

    Aus Windows heraus geht da gar nichts. Das musst du schon mit einem Linux-System machen, bzw. direkt auf deinem Pi

  • beim Rückspielen aus Windows

    Die Raspberry hat ein Linux OS und raspiBackup ist deshalb ein Linux Tool. Zurueckspielen unter Windos geht sogar auch bei einem DD Backup unter Windows. Da wird aber alles gnadenlos ueberschrieben. Die beiden von Franjo G genannten Option bei raspiBackup kannst Du nur bei einem tar oder rsync Backup nutzen. Und den kannst Du auch nur unter Linux restoren. Es ist kein Hexenwerk und ich habe zum Restore auch ein Video auf YT erstellt . Wenn Du keine Videos magst - wie ich - dann ist alles hier beschrieben.

  • ich habe mich jetzt mal eingelesen und muss gestehen, ich bin etwas überfordert mit den vielen Optionen die RaspiBackup bietet.

    Die Installation habe ich jetzt vorgenommen und wie folgt konfiguriert:

    - Backupordner /media/public/backup (=auf dritter Partition, im Zweifelsfall ist diese weiter gesichert)

    - Backup-Version: 3 Backups vorhalten

    - Backup-Typ: rsync

    - Backup-Modus: Sicherung der 2 Standardpartitionen

    - Services zu Starten / Stoppen: sollte man alle auswählen ? Nachts sollte eigentlich keine große Aktivität stattfinden

    - regelmäßiges Backup SA 02:34 (die meisten "gefährlichen" Änderungen am System passieren am Wochenende, um 2:30 läuft der letzte Cronjob)

    Im Restore-Fall würde ich dann (wenn ich keinen weiteren Raspi zur Verfügung habe) mit einer SD-Karte, auf der ebenfalls Raspbian mit RaspiBackup installiert ist den Raspberry starten und die drei Festplattenpartitionen der SSD mounten (bzw. falls das Backupfile auf der dritten Partition beschädigt wäre, dann auch die externe Festplatte).

    Anschließend würde ich mit dem Befehl

    "sudo raspiBackup.sh -d /dev/sda -0 -g /media/public/backup"

    die ersten beiden Partitionen der SSD wiederherstellen. Danach die SD-Karte wieder entnehmen und das System neu starten.

    Ist das so korrekt oder mache ich einen Denkfehler ?

  • Ich bin etwas überfordert mit den vielen Optionen die RaspiBackup bietet.

    Dafuer kann man raspiBackup aber auch in vielen Anwendungsfaellen einsetzen. Dein Anwendungsfall ist z.B. auch kein normaler :)

    Backupordner /media/public/backup (=auf dritter Partition, im Zweifelsfall ist diese weiter gesichert)

    Das finde ich etwas ungeschickt. Es sollte ein anderes Geraet sein. Eigentlich sollte raspiBackup so ein Setup verhindern. Durch einen kleinen Bug funktioniert das aber solange etwas am Backuppath gemounted ist.

    sollte man alle auswählen ?

    Nein. Nur diejenigen die irgendwelche Daten im Memory halten - also DBs, Webserver usw.

    den Raspberry starten und die drei Festplattenpartitionen der SSD mounten

    Du darfst keine Partition gemountet haben die Du restorest. Also nur die dritte Partition mounten.

    "sudo raspiBackup.sh -d /dev/sda -0 -g /media/public/backup"

    Der Pfad ist nicht vollstaendig. Das ist der Backuppfad. Pro Backup wird dann jeweils ein Unterverzeichnis mit Datum, Hostnamen usw erstellt welches Du noch angeben musst. Ob es /dev/sda ist solltest Du genau pruefen. Speziell wenn Du noch eine weitere HDD/SSD angeschlossen hast.

    die ersten beiden Partitionen der SSD wiederherstellen. Danach die SD-Karte wieder entnehmen und das System neu starten.

    Das funktioniert so.

    ABER

    Sollte die SSD defekt sein oder Du Dein Backup auf eine andere SSD/HDD restoren wollen (z.B. wenn Du den Restoreprozess testen willst - was ich sehr empfehle) so musst Du die Partitionierung der SSD/HDD manuell durchfuehren denn mit der Option -0 partitioniert raspiBackup ja nichts. raspiBackup nutzt zum Formatieren sfdisk sowie die .sfdisk Datei aus dem Backupverzeichnis. Ich empfehle das einmal durchzufuehren. Das musst Du auch wenn Du einen Restoretest auf einer anderen HDD/SSD durchfuehrst.

  • Uff... so kompliziert hatte ich es mir ehrlich gesagt gar nicht vorgestellt...

    Erstmal vielen Dank für die ausführlichen Antworten !

    Was spricht dagegen, dass ich auf dem gleichen Laufwerk / andere Partition sichere, wenn diese nochmal komplett gesichert wird ? Ich denke das ist die schnellste Variante, insbesondere wenn ich Prozesse während des Backups anhalten sollte. Und ganz ehrlich: die bisherigen Crashs entstanden alle durch mein eigenes "Verdummbeudeln" bei irgendwelchen Änderungen, ich persönlich hatte noch keine defekte SD oder SSD, wenngleich die Gefahr natürlich besteht.

    Da fängt es schon an...welche Anwendungen halten denn Daten in Memory ? Bei mir läuft sehr viel auf dem Raspi (alsa-restore, alsa-state, apache2, autofs, avahi-daemon, binfmt-support, colord, console-setup, cron, cups-browsed, cups, dbus, dphys-swapfile, fake-hwclock, ifupdown-pre, iobroker, keyboard-setup, kmod-static-nodes, mariadb, networking, nmbd, php7.3-fpm, php8.0-fpm, pihole-FTL, privoxy, raspi-config, rc-local, rng-tools, rpi-eeprom-update, rsyslog, smbd, ssh, triggerhappy, wpa_supplicant). Zur Startreihenfolge werde ich denke ich etwas in Google finden.

    Den Rest glaube ich verstanden zu haben , vielen Dank :)

    Nur mal so eine Idee, die ich während dem Schreiben hatte: die relevante Partition ist ja eigentlich nur die zweite (bei der ersten könnte ich die Dateien ja problemlos mit Windows zurückschreiben). Dann könnte ich doch die Daten von der zweiten auf die dritte Partition sichern.

    Im Restore-Fall könnte ich den Raspi mit SD-Karte booten, auf der ich die 2. und 3. Partition der SSD mounte (nach meinem Verständnis müsste ich das in diesem Fall für beide machen). So könnte ich die Daten mit dd wieder von der 3. in die 2. Partition zurückspielen (bzw. falls diese defekt ist von der externen Platte auf die 2. Partition).

    Am schönsten wäre eine "Backup-SD-Karte" mit einem Autostart-Script, die mir nach dem Einstecken und Booten automatisch das letzte Backup von der dritten Partition oder -falls nicht verfügbar- alternativ von der externen Platte wiederherstellt und danach von der SSD startet. Na mal schauen, werde mich wohl noch etwas mit dem Thema befassen müssen...

  • Uff... so kompliziert hatte ich es mir ehrlich gesagt gar nicht vorgestellt...

    Du hast spezielle Anforderungen die leider so direkt nicht mit raspiBackup zu befriedigen sind und somit etwas Aufwand notwendig ist.

    Was spricht dagegen, dass ich auf dem gleichen Laufwerk / andere Partition sichere, wenn diese nochmal komplett gesichert wird ?

    Normalerweise sollte man die Sicherung nicht auf dem Geraet ablegen auf dem sich die zu sichernde Daten befinden. Geht das Geraet kaputt ist auch die Sicherung weg. Du schreibst dass Du das noch mal sicherst. Somit bist Du auf der sicheren Seite wenn tatsaechlich die SSD mal verrecken sollte. Kurzum: Es spricht in Deinem Falle nichts dagegen :)

    (alsa-restore, alsa-state, apache2, autofs, avahi-daemon, binfmt-support, colord, console-setup, cron, cups-browsed, cups, dbus, dphys-swapfile, fake-hwclock, ifupdown-pre, iobroker, keyboard-setup, kmod-static-nodes, mariadb, networking, nmbd, php7.3-fpm, php8.0-fpm, pihole-FTL, privoxy, raspi-config, rc-local, rng-tools, rpi-eeprom-update, rsyslog, smbd, ssh, triggerhappy, wpa_supplicant).

    Code
    apache2, cron, iobroker, mariadb, smbd

    sollte reichen.

    Nur mal so eine Idee, die ich während dem Schreiben hatte:

    Das geht im Prinzip aber ich rate davon ab dd zu nehmen.

    raspiBackup ist dafuer gedacht ein RundumSorglosPaket zu sein: Sichere alles extern und restore alles von extern. Du hast spezielle Vorstellungen und man kann das auch mit raspiBackup - wie oben beschrieben - hinbekommen. Am gezieltesten koennen natuerlich Deine Vorstellungen erfuellt werden wenn Du Dir Dein Backuptool selbst schreibst.

  • ich werde mal ausführlich testen !

    Das solltest Du auch tun denn dabei lernst Du auch mit raspiBackup umzugehen. Da Du nicht den normalen Pfad beschreitest ist leider alles etwas komplizierter - aber Du kannst raspiBackup durchaus bei Dir einsetzen.

    Falls Du Fragen hast einfach diesen Thread weiterfuehren :)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!