Komprimiertes Backup zu gross.

  • Hallo zusammen.

    Mir ist aufgefallen dass mein komprimiertes Backup von meinem Raspberry plötzlich 7Gb an Grösse zugenommen hat. Also anstatt den vorher üblichen 3.5Gb sind es jetzt 10.5Gb. Die Differenz entspricht inetwa der Grösse der Dateien die ich kurzzeitig auf dem Raspberry zwischengespeichert habe. Diese habe ich nach erfolgreicher Übertragung mittels FTP zugriff gelöscht. Anscheinend war das wohl ein Fehler? Wenn ich auf dem Raspberry selber nachsehe sind nur 5Gb besetzt was meiner bisherigen Erfahrung nach auch inetwa der grösse des komprimierten Backupimages entsprechen sollte.

    Woran liegt das und kann man das beheben?

    Grüsse Apop

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

  • Hallo Apop !

    Wenn Du das ganze Gerät (also vom ersten bis zum letzten Sektor) als Image sicherst, ist das nicht ungewöhnlichm gerade wenn Du das Sicherungsimage nochmal komprimierst.

    Die von den zwischengespeicherten Files beschriebenen Sektoren werdem beim Löschen normalerweise selbst nicht verändert, nur der Inode, der die Verwaltungsdaten eines Files besitzt, wird wieder als frei markiert. Genauso die beschriebenen Sektoren- Der Inhalt auf den Sektoren - mit den alten Daten - vleibt solange erhalten, bis er von einem neuen File an dieser Stelle überschrieben wird.

    Das ist kein Bug, das ist ein Feature. Bei einem journalisierendem Filesystem ist das sogar notwendig, um ein verlorengegangenes File wiederherzustellen.

    Da das kein Fehler ist, kannst Du den auch nicht beheben.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Da das kein Fehler ist, kannst Du den auch nicht beheben.

    Oh doch, sogar ziemlich einfach. Die Dateien sind ja eh schon gelöscht und werden nicht mehr benötigt. Daher erstelle einfach große Dateien mit „Nullen“ oder anderen gleichen Zeichen darin, bis der „freie“ Rest der Karte nahezu voll ist. Diese Dateien kannste dann wieder löschen und Dich daran freuen, dass sich gleiche Zeichen einfach mal super (indiesem Fall im Image) packen lassen. OK, Nachteil ist, dass ein zusätzlicher Schreibvorgang die Speicherzellen belastet. Doch das lässt sich imho verschmerzen.

    Wie das geht, den freien Speicherplatz zu überschreiben, steht hier (Methode 1 und 2).

    Grüße, STF

  • Ein unschöner Nebeneffekt beim Backup mittels Image, wie es scheint. Also bei regelmässigen Backups doch lieber rsync benutzen.


    Wie das geht, den freien Speicherplatz zu überschreiben, steht hier (Methode 1 und 2).

    Danke für den Link. Ist ja eine sehr einfache Methode (1 und 2) um ein zu komprimierendes Image zu verkleinern. Aber wegen Abnutzung der SD sollte man das wohl nicht regelmässig/häufig machen.

  • Alternativ: Shrinken des images wenn es auf der backupplatte liegt

    Das ist klar. Die Frage war ja aber eine andere:

    Sollte PiShrink das nicht auch kleiner machen können?!

    Also, lässt pishrink die gelöschten Dateien, die das Image unnötigerweise aufgebläht haben, ausser Acht?

  • Hey zusammen. Danke für die Antworten.

    Die von den zwischengespeicherten Files beschriebenen Sektoren werdem beim Löschen normalerweise selbst nicht verändert, nur der Inode

    RTFM Sowas dachte ich mir fast nur fehlten mir die benötigten Ausdrücke um das entsprechend zu umschreiben ^^ .

    STF Danke für den link, werde mir das mal anschauen :) . Und ja, denke auch dass die SD-Karte bzw dessen Haltbarkeit das verkraften sollte da das einmalig sein wird... Das nächste mal weis ich bescheid und häng mir da ein externes Speichermedium für sowas ein ^^ .

    hab den Vorgang nun mal mittels sudo cat /dev/zero >muelldatei gestartet. Wird wohl ne weile dauern bis er 10Gb mit Nullen gefüllt hat ^^ werd aber sicherlich noch sagen wies ausging.

    Bisher löse ich das mir den Backups noch manuell mittels shutdown --> sd karte raus --> auslesen mit win32diskimager und danach die img-datei zippen da dd, welches ich bisher mal ausprobiert habe, für mich nicht zufriedenstellend war. Ich mach einfach ein Backup bevor ich irgendwelche updates auf den Raspberry aufspiele was bisher etwa einmal Monatlich stattfindet. So kann ich ggf zurücksetzen falls die Funktion von z.b. pihole oder pivpn zerschossen wird und ist vom Aufwand her noch vertretbar bei nur einem Gerät. Nun habe ich jedoch noch einen raspi der ersten Generation geschenkt bekommen und da muss ich mir dann mal was überlegen um das zu automatisieren.

    daxb hab mir rsync noch nicht angeschaut aber vom namen her klingt das einfach danach als ob da "einfach nur" Ordner synchronisiert werden. Das hilft mir ja nicht unbedingt falls ich den pi auf den stand vor dem updaten zurücksetzen will?

    Grüsse Apop

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

    Einmal editiert, zuletzt von Apop85 (16. März 2018 um 17:52)

  • Das ist klar. Die Frage war ja aber eine andere:

    Meine Antwort bezieht sich auf daxbs Kommentar ;)

    Zitat

    Also, lässt pishrink die gelöschten Dateien, die das Image unnötigerweise aufgebläht haben, ausser Acht?

    Ja. Deshalb ist ja pishrink so beliebt um dd Images auf ein Minimum zu verkleinern. Und das schoene ist dass es das Image expandiert beim ersten Start wieder auf die vollen Partitionsgroesse. Das kann man aber auch ausschalten.

    Apop85 Sofern Du nicht unbedingt ein dd Backup benoetigst (z.B. weil Du mit windir32imager unter Windows Restoren willst) empfehle ich immer rsync oder rsnapshot welches aber auch rsync unter der Decke benutzt.


  • daxb hab mir rsync noch nicht angeschaut aber vom namen her klingt das einfach danach als ob da "einfach nur" Ordner synchronisiert werden. Das hilft mir ja nicht unbedingt falls ich den pi auf den stand vor dem updaten zurücksetzen will?

    Was framp geschrieben hat und gucke die mal https://wiki.ubuntuusers.de/Datensicherung/ an. Ist recht informativ und es werden viele Programme und Skripte gelistet. Backup steht bei mir noch auf der Todo Liste. Daher keine eigenen Erfahrungen mit rsync . Sollte aber theoretisch dein Vorhaben "stand vor dem undaten zurücksetzen" erfüllen.

    Ich bin mich aber nicht sicher, ob es nötig ist, vor einem Update unbedingt eine Sicherung zu machen. Was sagen die Experten hier dazu? Falls der Fall eintreten sollte, das nach einem update/upgrade etwas nicht mehr funktioniert, dürfte es machbar sein, das von Hand zu reparieren. So was sollte aber sehr selten vorkommen, wenn überhaupt.



  • Ich bin mich aber nicht sicher, ob es nötig ist, vor einem Update unbedingt eine Sicherung zu machen. Was sagen die Experten hier dazu? Falls der Fall eintreten sollte, das nach einem update/upgrade etwas nicht mehr funktioniert, dürfte es machbar sein, das von Hand zu reparieren. So was sollte aber sehr selten vorkommen, wenn überhaupt.

    Das haengt von der Größe der Änderung und Deinem Gedächtnis ab :) Oder Du protokollierst alle Deine Änderungen irgendwo.

    Ich persönlich ziehe ein Backup von meinem System wo ich größere Änderungen mache (z.B. neuen Kernel installieren, neue Version von eine SW Komponente, ...) mit raspiBackup und Option -M. Kleinere Änderungen protokolliere ich per script Befehl bzw notiere die Änderungen oder ich merke mir welche Dateien ich geaendert habe und ziehe mir im Fall der Faelle den alten Stand vom letzten Wochenbackup.

  • Und wie oft in etwa kommt das vor?

    Das ist doch irrelevant. Eine Risikolebensversicherung brauchst Du genau ein einziges Mal - und sicherst damit das Risiko vorzeitigen Abnippelns ab - also eher die Konsequenzen für die anderen daraus. Im Einzelfall nützen Dir Statistiken und Risikoberechnungen nie. Du musst für Dich entscheiden, ob Du mit dem Risiko leben (haha) kannst, oder nicht.

  • Vielleicht kommt es auch immer drauf an und ob man stable/unstable/test/experimental/... benutzt. Wobei ich hier von stable ausgehe. Z.B. wenn nach einem Update/Upgrade irgendwas nicht mehr funktioniert und man auf die vorher gemachte Sicherung zurückgeht. Was dann? Hoffen das in Zukunft Update/Upgrade ohne Nebenwirkungen funktioniert, oder auf Fehlersuche gehen? Ist ja auch eine Aufwand/Kosten/Nutzen Rechnung. Debian ist/soll ja theoretisch relativ unproblematisch sein in der Hinsicht. Soweit mir bekannt soll Windows recht häufig Updates (automatisch oder manuell) machen. Macht man da auch immer vorher eine Sicherung?

    Die Risikobewertung ist bei jedem anders. Eigene Daten (/home, /etc, Paketlisten und x) sind wichtig welche man sichern sollte. Der Rest eher nicht.

  • Schnell noch wie versprochen das Feedback zum Befehl sudo cat /dev/zero >muelldatei. Hat wunderbar geklappt. Werde mir aber sicherlich noch pishrink anschauen. Klingt schon mal sehr vielversprechend.

    wenn nach einem Update/Upgrade irgendwas nicht mehr funktioniert und man auf die vorher gemachte Sicherung zurückgeht. Was dann?

    In meinem Fall warten bis die entsprechenden Programme geupdated wurden. Habe zwar die entsprechenden Pakete markiert die diese Programme verwenden und werde bei neuen Versionen entsprechend informiert aber sicher ist sicher. Lieber haben und nicht brauchen und so :)

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

Jetzt mitmachen!

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