Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Man kann rsync mit Hardlinks Funktion verwenden, um wiederholt Backups anzufertigen und Speicher zu sparen, da unveränderte Dateien mit Hardlinks ins nächste Backup verlinkt werden.
Was für eine Form von Backup ist dann in der klassischen Backup-Theorie dann eigentlich?
Praktisch ist es IMHO immer ein Vollbackup, weil im Backup-Ziel alle Dateien vorhanden und ohne die vorherigen Backups nutzbar sind. Würden die vorherigen gelöscht werden, wäre das letzte Backup trotzdem noch da.
Technisch würde ich es als inkrementell bezeichnen.
Frage mal so als backintime Betreuer.
Was für eine Form von Backup ist dann in der klassischen Backup-Theorie dann eigentlich?
Praktisch ist es IMHO immer ein Vollbackup, weil im Backup-Ziel alle Dateien vorhanden und ohne die vorherigen Backups nutzbar sind. Würden die vorherigen gelöscht werden, wäre das letzte Backup trotzdem noch da.
Technisch würde ich es als inkrementell bezeichnen.
Frage mal so als backintime Betreuer.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
-
- Beiträge: 530
- Registriert: 24.09.2020 14:51:14
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Wikipedia sacht:
--ks
Also ja, ist eine Frage der Perspektive.Somit ist jede Sicherung konzeptionell ein Vollbackup und in Hinblick auf den tatsächlich genutzten Speicherplatz, mit Ausnahme des ersten, ebenso ein inkrementelles beziehungsweise differentielles Backup.
--ks
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Irgendwie etwas zwischen „voll“ und „inkrementell“. Das ist wirklich reichlich abstrakt. Die Frage ist, wie tief das Computerwissen der Leute ist, denen Du etwas erklären möchtest. Den Einen würde ich es wohl als ein Vollbackup verkaufen, bei dem durch technische Finessen Speicher gespart wird – bei den Anderen kann man tiefer ins Detail gehen.buhtz hat geschrieben:10.01.2025 10:02:56Was für eine Form von Backup ist dann in der klassischen Backup-Theorie dann eigentlich?
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Die Einstufung für den klassischen Windows-Nutzer wäre meiner Meinung nach inkrementell mit speziellen Eigenschaften. Man kann das auf keinen Fall als Vollbackup bezeichnen, da der Datenbestand nur mit allen Inkrementen wieder hergestellt werden kann.
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Ja, das ist meine Perspektive. Ich hab den Wikipedia-Artikel geschrieben.kreuzschnabel hat geschrieben:10.01.2025 12:59:23Wikipedia sacht:
Also ja, ist eine Frage der Perspektive.Somit ist jede Sicherung konzeptionell ein Vollbackup und in Hinblick auf den tatsächlich genutzten Speicherplatz, mit Ausnahme des ersten, ebenso ein inkrementelles beziehungsweise differentielles Backup.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
@rhHeini: Das kann man so nicht sagen. Um den Datenbestand eines beliebigen Snapshots vollständig wiederherzustellen, genügt genau dieser eine Snapshot. Insofern ist jeder Snapshot für sich eine vollständige Komplettsicherung. Da die nicht geänderten Dateien aber nicht mehrfach kopiert werden, sondern als Hard links angelegt werden, ist es so gesehen eine inkrementelle Sicherung. Rsync ist daher sozusagen beides, je nachdem wie man das betrachtet. Um eine differenzielle Sicherung handelt es sich auf keinen Fall, weil geänderte Dateien immer als ganzes gesichert werden und nicht (wie bei DejaDup) nur die geänderten Teilstücke (deshalb Finger weg von sowas, das hat für mich nichts mit Datensicherung zu tun).
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Nein, hier liegst du völlig falsch. Man braucht eben nicht alle Inkremente. Eine mit Hardlinks verknüpfte Sicherung ist vollständig und eigenständig. Selbst, wenn du alle anderen Tagessicherungen mit rm -rf weglöschen würdest, ware die letzte verbleibende Sicherung immer noch vollständig.rhHeini hat geschrieben:10.01.2025 17:11:41Man kann das auf keinen Fall als Vollbackup bezeichnen, da der Datenbestand nur mit allen Inkrementen wieder hergestellt werden kann.
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Wie soll das denn gehen? Wenn in einem Snapshot nur Hardlinks zu nicht veränderten Dateien und Kopien der veränderten Dateien drin sind, ist so etwas immer nur ein Teilbackup. Ein Snapshot der Änderungen = ein inkrementelles Backup der letzten Woche oder so etwas. Man kann aber nach meinem Logikverständnis niemals den kompletten Datenbestand aus so einem Snapshot wiederherstellen, z.B. wenn das Quell-Medium abgeraucht ist. Für eine komplette Rücksicherung ist der Snapshot alleine niemals ausreichend, dazu braucht es die komplette Sicherung.juribel hat geschrieben:10.01.2025 17:25:16Um den Datenbestand eines beliebigen Snapshots vollständig wiederherzustellen, genügt genau dieser eine Snapshot. Insofern ist jeder Snapshot für sich eine vollständige Komplettsicherung.
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
@rhHeini: Was heisst hier "nur" Hardlinks? Alles, was wir mit ls oder im Dateimanager sehen, sind "nur" Hardlinks. Dabei ist es egal, ob es der erste Hardlink ist, der beim Erstellen einer Datei angelegt wurde und auf die physikalischen Datenbytes verweist, oder ob es ein weiterer zusätzlich angelegter ist, wie rsync sie erzeugt. das Ergebnis ist dasselbe: ein Verweis auf die physikalischen Datenbytes. Das verhält sich wie mehrere Inhaltsverzeichnisse in demselben Buch, deren Einträge auf dieselben Kapitel verweisen.
Wenn ich also meinen Datenbestand aus einem Snapshot von vor einem halben Jahr wieder herstellen wollte, könnte ich sogar sämtliche älteren und neueren Snapshots löschen und dieser eine wäre dennoch vollständig. Backups, die wie rsync mit hard links arbeiten, benötigen niemals irgendwelche vorangegangenen Inkremente.
Ich habe dazu auch eine Weile gebraucht, aber man muss sich von der Vorstellung lösen, dass ein "Directory" Dateien enthält. Ein Directory enthält keine Dateien, sondern nur Verweise auf die Datenbytes. Per Hard links kann eine Datei also in mehreren Directories als Eintrag auftauchen, auch wenn sie physikalisch nur einmal vorhanden ist.
Wenn ich also meinen Datenbestand aus einem Snapshot von vor einem halben Jahr wieder herstellen wollte, könnte ich sogar sämtliche älteren und neueren Snapshots löschen und dieser eine wäre dennoch vollständig. Backups, die wie rsync mit hard links arbeiten, benötigen niemals irgendwelche vorangegangenen Inkremente.
Ich habe dazu auch eine Weile gebraucht, aber man muss sich von der Vorstellung lösen, dass ein "Directory" Dateien enthält. Ein Directory enthält keine Dateien, sondern nur Verweise auf die Datenbytes. Per Hard links kann eine Datei also in mehreren Directories als Eintrag auftauchen, auch wenn sie physikalisch nur einmal vorhanden ist.
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Nachtrag: Wenn ich mir meinen Sicherungs-Datenträger (2 Terabytes) mit "du" ansehe: er enthält ca 400 Ordner, und jeder von denen ist ca 500 Gigabytes gross, das sind rechnerisch 200 Terabytes Also nochmal, es hängt nur vom Blickwinkel ab, ob man so eine Datensicherung als vollständig oder inkrementell bezeichnen möchte. Da nur geänderte Dateien kopiert werden, ist das Backup ohne Zweifel inkrementell. Da aber mittels Hardlinks jede Sicherung in sich komplett funktionsfähig ist, ist das Backup genauso ohne Zweifel vollständig. Also beides. Wie die Dualität zwischen Teilchen und Welle
-
- Beiträge: 530
- Registriert: 24.09.2020 14:51:14
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Handelte es sich um Symlinks, hättest du recht. Aber da es Hardlinks sind, hast du nicht recht.rhHeini hat geschrieben:10.01.2025 17:35:44Wenn in einem Snapshot nur Hardlinks zu nicht veränderten Dateien und Kopien der veränderten Dateien drin sind, ist so etwas immer nur ein Teilbackup.
Ein Symlink ist ein Eintrag im Inhaltsverzeichnis, der auf einen anderen Eintrag im Inhaltsverzeichnis verweist. Der kann nur so lange funktionieren, wie sein Ziel existiert.
Ein Hardlink dagegen ist ein Verweis aus dem Inhaltsverzeichnis direkt auf die Stelle im Datenbereich, wo die tatsächlichen Daten liegen (genauer: auf den dazugehörigen Inode). Jede übertragene Datei hat mindestens einen solchen Hardlink, der bei ihrer ersten angelegten Kopie erzeugt wird. Ein zweiter Hardlink ist dem ersten vollkommen ebenbürtig. Wird der erste Eintrag (und sein Hardlink) gelöscht, ist der zweite immer noch da, und der dritte bis zwölfte auch. Damit „existiert“ die Datei noch. Erst wenn kein Hardlink mehr auf die Daten verweist, gelten sie als gelöscht. Aber ob der letzte existierende Hardlink der zuerst angelegte ist oder nicht, ist vollkommen wurscht. Das ist ja das Geniale daran
Deshalb kannst du den Schnappschuss der Erstübertragung getrost löschen. Die Hardlinks der folgenden Übertragungen funktionieren genauso wie der erste, und solange noch einer da ist, ist auch die Datei noch da.
Ich habe mich lange gefragt, wieso in Perl der Befehl zum Dateilöschen „unlink“ heißt. Nach der Kapur des Hardlink-Konzepts wusste ich es.
--ks
Zuletzt geändert von kreuzschnabel am 10.01.2025 20:40:12, insgesamt 1-mal geändert.
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM
-
- Beiträge: 530
- Registriert: 24.09.2020 14:51:14
Re: Rsync mit Hardlinks: Voll-, Inkrementell- oder Differenztiel?
Dann sag das doch gleich, du Scherzkeks ich guck nicht bei jedem WP-Artikel als erstes in die Versionsgeschichte.buhtz hat geschrieben:10.01.2025 17:22:44Ja, das ist meine Perspektive. Ich hab den Wikipedia-Artikel geschrieben.
--ks
Hier so: Debian Stable/Sid (nach Laune) – KDE Plasma – Lenovo Thinkpad T470p – i7-7700HQ – 32GB RAM