rsync und Plattenplatz (gelöst)

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
fischig
Beiträge: 4186
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

rsync und Plattenplatz (gelöst)

Beitrag von fischig » 01.02.2025 11:13:00

Ich wollte via rsync -a Videodateien von Partition A auf Partition B sichern.

Code: Alles auswählen

rsync -a --progress /A/ /B
In A befindet sich ein neues Video (2,2GB) mit dem gleichen Namen wie dem in B (2,1GB). Es sind also in meinem Verständnis zwar unterschiedliche Dateien, aber mit dem gleichen Namen. Auf B wird freier Platz von 2,0GB angezeigt. Root-Reserve ist auf 0 gesetzt und rsync wird nicht erstmals angewendet. Ich ging davon aus, dass die eine alte Datei von der neuen einfach überschrieben wurde, d.h. kein zusätzlicher Platz benötigt wurde (Mal abgesehen von dem 0,1GB Größenunterschied). Hat aber nicht funktioniert: Abbruch des Übertragens mit

Code: Alles auswählen

No space left on device (28)
Wie erklärt sich das?

Ich habe dann das alte Video in B aus dem Weg gräumt. Danach lief das rsync-Kommando fehlerfrei. Ich muss also Platz freihalten, den ich gar nicht - wohl aber rsync zur Laufzeit nutzen will?
Zuletzt geändert von fischig am 04.02.2025 13:38:37, insgesamt 1-mal geändert.

Benutzeravatar
Tintom
Moderator
Beiträge: 3070
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: rsync und Plattenplatz

Beitrag von Tintom » 01.02.2025 11:28:22

Du bist schon von selbst auf die Lösung gekommen:
Es sind also in meinem Verständnis zwar unterschiedliche Dateien, aber mit dem gleichen Namen.
Ich muss also Platz freihalten, den ich gar nicht - wohl aber rsync zur Laufzeit nutzen will?
rsync != cp

kreuzschnabel
Beiträge: 578
Registriert: 24.09.2020 14:51:14

Re: rsync und Plattenplatz

Beitrag von kreuzschnabel » 01.02.2025 11:39:43

Welches Dateisystem ist auf dem Medium?

„Einfach überschreiben“ geht schon deshalb physisch nicht, weil die neue Datei nicht an derselben Stelle im Datenbereich landen wird wie die alte. Was du erwartest, ist „erst die alte löschen, dann die neue schreiben“ (was du dann ja auch manuell gemacht hast) oder „während des Schreibvorganges auch die alte Version als potentiell freien Platz betrachten“. Das machen aktuelle Dateisystemformate aber nicht, einfach zur Sicherheit, um bei eventuellen Schreibfehlern (denk z.B. an einen Stromausfall während des Schreibens) die Datei nicht ganz zu verlieren. Die alte Version wird erst gelöscht, wenn die neue drauf ist. Ob das im Detail mit Journaling oder Copy-on-write gelöst wird, ist unwesentlich, der freie Platz wird jedenfalls erstmal gebraucht.

Dass ein so rammelvolles Dateisystem heftig fragmentiert, weil zum Schreiben jede Lücke ausgenutzt werden muss, bedarf hoffentlich keiner Erwähnung. Man füllt ein Dateisystem einfach nicht weiter als 80 Prozent.

--ks
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM

fischig
Beiträge: 4186
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync und Plattenplatz

Beitrag von fischig » 01.02.2025 11:52:16

kreuzschnabel hat geschrieben:Welches Dateisystem ist auf dem Medium?
ext2.
kreuzschnabel hat geschrieben:Was du erwartest, ist „erst die alte löschen, dann die neue schreiben“ (was du dann ja auch manuell gemacht hast) oder „während des Schreibvorganges auch die alte Version als potentiell freien Platz betrachten“.
Ja. cp hätte das ermöglicht. Mit rsync keine Chance?
kreuzschnabel hat geschrieben:Man füllt ein Dateisystem einfach nicht weiter als 80 Prozent.
Mit meinem Geiz fühle ich mich, Archive/backups betreffend, eigentlich ganz wohl. :wink:

kreuzschnabel
Beiträge: 578
Registriert: 24.09.2020 14:51:14

Re: rsync und Plattenplatz

Beitrag von kreuzschnabel » 01.02.2025 11:54:38

fischig hat geschrieben: ↑ zum Beitrag ↑
01.02.2025 11:52:16
kreuzschnabel hat geschrieben:Welches Dateisystem ist auf dem Medium?
ext2.
Kein Journaling. Ja, dann geht das noch knapp 13 Jahre lang. Ich sprach ja auch von aktuellen Formaten :)

--ks
Zuletzt geändert von kreuzschnabel am 01.02.2025 12:01:48, insgesamt 1-mal geändert.
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM

fischig
Beiträge: 4186
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync und Plattenplatz

Beitrag von fischig » 01.02.2025 11:56:37

Ja, dann geht das noch 13 Jahre lang.
Hmm, aber es „ging“ doch nicht?

kreuzschnabel
Beiträge: 578
Registriert: 24.09.2020 14:51:14

Re: rsync und Plattenplatz

Beitrag von kreuzschnabel » 01.02.2025 12:02:58

rsync findet Sicherheit geil, nicht Geiz.

--ks
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM

reox
Beiträge: 2561
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync und Plattenplatz

Beitrag von reox » 01.02.2025 12:23:21

fischig hat geschrieben: ↑ zum Beitrag ↑
01.02.2025 11:56:37
Ja, dann geht das noch 13 Jahre lang.
Hmm, aber es „ging“ doch nicht?
Glaube kreuzschnabel meint das hier:
https://en.m.wikipedia.org/wiki/Year_2038_problem

JTH
Moderator
Beiträge: 3083
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: rsync und Plattenplatz

Beitrag von JTH » 01.02.2025 12:24:23

rsync hat die Option --inplace, die sein dürfte, was du suchst, fischig. Zu den Risiken und Nebenwirkungen – gerade wenns hier um ein Backup geht – kann ich allerdings nicht viel sagen, habe die Option noch nie benutzt.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
MSfree
Beiträge: 11738
Registriert: 25.09.2007 19:59:30

Re: rsync und Plattenplatz

Beitrag von MSfree » 01.02.2025 12:28:22

fischig hat geschrieben: ↑ zum Beitrag ↑
01.02.2025 11:13:00

Code: Alles auswählen

No space left on device (28)
Wie erklärt sich das?
Ich muss also Platz freihalten, den ich gar nicht - wohl aber rsync zur Laufzeit nutzen will?
rsync kopiert die zu übertragende Datei erst mal auf eine temporäry Datei auf dem Zieldatenträger. Erst, wenn die Übertragung der Datei abgeschlossen ist, wird die Datei auf dem Zieldatenträger gelöscht und die temporäre Datei in den Namen der eigentlichen Datei umbenannt.

Das kann man selbst verfolgen, in dem man ein Terminal öffnet, auf das Verzeichnis des Zieldatenträgers wechselt und dort

Code: Alles auswählen

ls -lrta
ausführt.

Der Sinn ist, daß, wenn die Übertragung abbricht, die ursprüngliche Datei noch intakt und vorhanden ist. Darum wird nicht direkt überschrieben (außer siehe JTH). Mit dem Darteisystem hat das übrigens nichts zu tun. Es muß also immer mindestens so viel Platz auf dem Zieldatenträger frei sein, um die zu übertragende Datei speichern zu können.

fischig
Beiträge: 4186
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync und Plattenplatz

Beitrag von fischig » 01.02.2025 12:45:54

Vielen Dank für die vielen detaillierten Hinweise!

„inplace“ werde ich mir anschauen. Ich könnte mir vorstellen, dass man solche (im Endeffekt ja doch zu löschenden Dateien) temporär irgendwohin sichert, wo - evtl. nach Rücksprache mit dem Benutzer -genügend Platz vorhanden ist. (So habe ich das übrigens auch im aktuellen Versuch sicherheitshalber gemacht.) Vielleicht versuche ich mir sowas zu scripten, aber bei meinen geringen shell-Syntax-Kenntnissen bin ich skeptisch, ob mir das gelingt.

fischig
Beiträge: 4186
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync und Plattenplatz

Beitrag von fischig » 04.02.2025 13:37:51

Ich werde erst mal austesten, ob die Option -n (Simulation) nicht einfacher einerseits die Gefahren von --inplace und andererseits die Mühen eines entsprechenden scriptings ohne Sicherheitseinbußen umgeht und trotzdem mein „Geiz“ auf seine Kosten kommt.

Benutzeravatar
MSfree
Beiträge: 11738
Registriert: 25.09.2007 19:59:30

Re: rsync und Plattenplatz

Beitrag von MSfree » 04.02.2025 14:33:12

fischig hat geschrieben: ↑ zum Beitrag ↑
04.02.2025 13:37:51
...und trotzdem mein „Geiz“ auf seine Kosten kommt.
Solange du die Geizhaltung nicht auch bei deiner Backupstrategie einsetzt. Im Backup darf halt ein Fehler nicht zu korrupten Dateien führen. Daher ist zumindest für Backupzwecke die Benutzung der inplace-Option dringend abzuraten. Was man im Backup definitiv nicht will, sind kaputte Dateien.

Wenn es nur darum geht, Daten zum Zweck des Datentransports auf einen Stick zu kopieren, sind eventuelle Fehler nicht schlimm. Man kann die Daten im Ferhlerfall ja noch mal auf einen größeren Stick schreiben.

wanne
Moderator
Beiträge: 7622
Registriert: 24.05.2010 12:39:42

Re: rsync und Plattenplatz (gelöst)

Beitrag von wanne » 05.02.2025 15:10:43

Zum Verständnis: Nimm mal deine Datei mach sie mit less lauf, lösche sie, guck dann mit df wie viel platz belegt, mach dann less zu und guck dann mal wie viel Platz noch benötigt wird. Da rsync ja versucht nur Veränerungen zu übertragen ist relativ klar, warum das so ist, wenn man da nicht extra Vorkehrungen trifft.
rot: Moderator wanne spricht, default: User wanne spricht.

fischig
Beiträge: 4186
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: rsync und Plattenplatz (gelöst)

Beitrag von fischig » 05.02.2025 21:45:18

Also ich weiß nicht: ca. 2GB/GiB große Videos mit less öffnen? Ich hatte eingangs gesagt, dass es um Sicherheitskopien von Videos geht. Ich denke auch, zum Verständnis hat kreuzschnabel schon das Nötige gesagt. Vielleicht ist der Ausdruck „backup“ auch zu hochtrabend für meine Dateiensicherung. Der Parameter -n bei rsync liefert mir einen genügend deutlichen Überblick darüber, was rsync zu veranstalten gedenkt, so dass ich außerhalb von rsync noch Möglichkeiten für ein vorsorglich sicheres Kopieren habe. md5-Summen zu jeder Datei sind ebenfalls vorhanden. Das mag dann in der Umsetzung etwas umständlich sein, aber Ich glaube nicht, dass ich vor diesem Hintergrund Gefahr laufe, mit --inplace als rsync-Parameter Daten zu verlieren.

Benutzeravatar
cosinus
Beiträge: 4503
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: rsync und Plattenplatz (gelöst)

Beitrag von cosinus » 05.02.2025 23:00:40

fischig hat geschrieben: ↑ zum Beitrag ↑
01.02.2025 11:13:00
Ich ging davon aus, dass die eine alte Datei von der neuen einfach überschrieben wurde, d.h. kein zusätzlicher Platz benötigt wurde (Mal abgesehen von dem 0,1GB Größenunterschied).
Ich glaube du musst rsync anweisen, dass er erst eine zu überschreibende Datei löschen soll.

Code: Alles auswählen

  --delete-before
              Request that the file-deletions on the receiving side be done before the transfer starts.  See --delete (which is implied) for more details on file-deletion.
Mach aber vorher unbedingt einen dry-run.

wanne
Moderator
Beiträge: 7622
Registriert: 24.05.2010 12:39:42

Re: rsync und Plattenplatz (gelöst)

Beitrag von wanne » 06.02.2025 00:38:52

fischig hat geschrieben: ↑ zum Beitrag ↑
05.02.2025 21:45:18
Also ich weiß nicht: ca. 2GB/GiB große Videos mit less öffnen?
Warum nicht? less ist noch aus ner Zeit als speicher knapp und platten langsam waren. Das ließt (bis du runter scrollst) nur so viel, wie auf deinen Bildschirm passt. Was bei binary-Dateien noch weniger ist als normal.
fischig hat geschrieben: ↑ zum Beitrag ↑
05.02.2025 21:45:18
Ich hatte eingangs gesagt, dass es um Sicherheitskopien von Videos geht. Ich denke auch, zum Verständnis hat kreuzschnabel schon das Nötige gesagt.
Das ist nicht so sehr eine rsync-Eigenschaft sondern eine von Linux. Linux hält automatisch immer eine Kopie aller geöffneten Datei auf der Platte. Windows macht das nicht. Das macht viele Sachen deutlich einfacher: Man braucht dann keine Kopie im RAM halten oder Dateien umbenennen wenn 2 Programme die gleiche Datei öffnen. (Siehe Dateien mit $ am Anfang oder .part am Ende.) Leider sind die meisten Programme heute für multi-Plattform geschrieben und weigern sich oft vollständig 2 mal die gleiche Datei zu öffnen.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten