Thread wurde vom System oder vom Community-Team geschlossen.

Time Machine Backup kopieren: Hardlinks werden aufgelöst

Beim Migrieren eines TM-Bacups von einer Festplatte auf eine andere (größere...) gemäß diesem Artikel: https://support.apple.com/de-de/HT202380

werden die Hardlinks, die TM für jede von Backup zu Backup unveränderte Datei anlegt, aufgelöst. So vervielfacht sich der Speicherplatzverbrauch durchs Kopieren. Gibt es einen Weg, das zu verhindern?

Mac Pro, macOS 10.14

Gepostet am 23. Juli 2020 22:49

Antworten
Frage gekennzeichnet als Höchstrangige Antwort

Gepostet am 25. Juli 2020 11:41

Hallo daniel_he


Ein vorhandenes Time Machine Volume lässt sich leider nicht durch einfaches Kopieren mit dem Finder oder im Terminal auf eine andere Festplatte / SSD verschieben, da Time Machine zur Verringerung des Speicherplatzbedarfs regen Gebrauch von sogenannten "Hardlinks" macht. Dabei werden nicht veränderte Dateien nur in ein aktuelleres Backup verlinkt, so dass die Dateien nicht mehrfach auf dem Volume abgelegt werden müssen.


"Hardlinks" sind - im Gegensatz zu den "Symlinks" (wie sie z.B. in Mac OS für Aliase verwendet werden) - nicht nur einfache Verweise sondern richtige Einträge im Dateisystem.


Ein Hardlink verweist dabei nicht direkt auf eine Datei bzw. ein Verzeichnis sondern auf die konkrete Stelle auf der Festplatte, an der sich die Datei phsyisch befindet. Der Vorteil dabei ist, dass der Verweis auch dann noch gültig ist, wenn die Datei verschoben wird, ein Symlink verliert dadurch seine Gültigkeit.


Außerdem wird eine mit Hardlinks verlinkte Datei erst dann wirklich gelöscht, wenn alle Hardlinks auf diese ebenfalls gelöscht wurden. Sie sind jedoch nicht partitionsübergreifend möglich.


Beim einfachen Kopieren würden diese Links jedoch aufgelöst und damit der Platzbedarf vervielfacht werden - wenn der Vorgang überhaupt funktioniert, oftmals landet der Finder beim "Kopieren vorbereiten" durch diese Verlinkungen in einer Endlosschleife und fängt daher erst gar nicht an, die Daten zu kopieren.


Die derzeit einzige Möglichkeit ist eine Blockkopie, d.h. der Datenträger wird dabei 1:1 kopiert und nicht anhand des Dateisystems. Das hat allerdings zur Folge, dass das Zielvolume komplett gelöscht werden muss, vorhandene Daten sind also vorher unbedingt zu sichern!


Mögliche Vorgehensweisen / Lösungen:


1. Time Machine-Backups von einem Backup-Volume auf ein anderes übertragen - Apple Support


2. Mittels Carbon Copy Cloner das Time Maschine Volume "verschieben".

Das wohl bekannteste und umfangreichste Programm zum Klonen / der Blockkopie ist der Carbon Copy Cloner von Bombich Software. Auf den Seiten von Bombich Software findet sich eine sehr umfangreiche Dokumentation, die auch viele allgemeine Fragen rund um das Klonen beantwortet.


Viel Erfolg und einen angenehmen Tag.

Liebe Grüße, Uwe

Ähnliche Fragen

5 Antworten
Frage gekennzeichnet als Höchstrangige Antwort

25. Juli 2020 11:41 als Antwort auf daniel_he

Hallo daniel_he


Ein vorhandenes Time Machine Volume lässt sich leider nicht durch einfaches Kopieren mit dem Finder oder im Terminal auf eine andere Festplatte / SSD verschieben, da Time Machine zur Verringerung des Speicherplatzbedarfs regen Gebrauch von sogenannten "Hardlinks" macht. Dabei werden nicht veränderte Dateien nur in ein aktuelleres Backup verlinkt, so dass die Dateien nicht mehrfach auf dem Volume abgelegt werden müssen.


"Hardlinks" sind - im Gegensatz zu den "Symlinks" (wie sie z.B. in Mac OS für Aliase verwendet werden) - nicht nur einfache Verweise sondern richtige Einträge im Dateisystem.


Ein Hardlink verweist dabei nicht direkt auf eine Datei bzw. ein Verzeichnis sondern auf die konkrete Stelle auf der Festplatte, an der sich die Datei phsyisch befindet. Der Vorteil dabei ist, dass der Verweis auch dann noch gültig ist, wenn die Datei verschoben wird, ein Symlink verliert dadurch seine Gültigkeit.


Außerdem wird eine mit Hardlinks verlinkte Datei erst dann wirklich gelöscht, wenn alle Hardlinks auf diese ebenfalls gelöscht wurden. Sie sind jedoch nicht partitionsübergreifend möglich.


Beim einfachen Kopieren würden diese Links jedoch aufgelöst und damit der Platzbedarf vervielfacht werden - wenn der Vorgang überhaupt funktioniert, oftmals landet der Finder beim "Kopieren vorbereiten" durch diese Verlinkungen in einer Endlosschleife und fängt daher erst gar nicht an, die Daten zu kopieren.


Die derzeit einzige Möglichkeit ist eine Blockkopie, d.h. der Datenträger wird dabei 1:1 kopiert und nicht anhand des Dateisystems. Das hat allerdings zur Folge, dass das Zielvolume komplett gelöscht werden muss, vorhandene Daten sind also vorher unbedingt zu sichern!


Mögliche Vorgehensweisen / Lösungen:


1. Time Machine-Backups von einem Backup-Volume auf ein anderes übertragen - Apple Support


2. Mittels Carbon Copy Cloner das Time Maschine Volume "verschieben".

Das wohl bekannteste und umfangreichste Programm zum Klonen / der Blockkopie ist der Carbon Copy Cloner von Bombich Software. Auf den Seiten von Bombich Software findet sich eine sehr umfangreiche Dokumentation, die auch viele allgemeine Fragen rund um das Klonen beantwortet.


Viel Erfolg und einen angenehmen Tag.

Liebe Grüße, Uwe

25. Juli 2020 09:59 als Antwort auf RichardB.

Korrekt formatiert hatte ich sie eigentlich (Journaled HFS+, GUID Partitionstabelle), nach Anleitung im Apple Support-Artikel.


Zwei Partitionen auf einer Platte helfen mir nicht, denn ich muss die Festplatte *wechseln*. Zur Zeit ist das Backup auf einer 3,5"-Platte und ich muss auf eine 2,5"-Platte umsteigen. Und das bei mehreren Backups von mehreren Rechnern.


Alle Ansätze, Hardlinks korrekt zu kopieren, scheien ins Leere zu laufen.

  • Finder "soll" es können, tut es aber nicht.
  • cp kann das nicht
  • rsync in der mitgelieferten Uraltversion kann das nicht und es ist mir nicht gelungen, eine neuere Version zu installieren (mit der es dann gehen sollte)
  • Carbon Copy Cloner konnte es wohl mal in einer 3er oder 4er-Version, aber in der aktuellen Version geht das anscheinend nicht mehr.

Recht frustrierend...



25. Juli 2020 10:10 als Antwort auf daniel_he

Auf der zukünftigen Time Machine Festplatte ist Eigentümer auf diesem Volume ignorieren deaktiviert?

Das Time Machine Backup ist ausgeschaltet und Du hast die aktuelle Time Machine Festplatte einmal vom Mac getrennt und wieder neu verbunden?


Wenn das nicht hilft, dann kannst Du es noch über das Festplattendienstprogramm versuchen (dabei wird aber die zukünftige Time Machine Festplatte zuvor vollständig geleert):


  1. Time Machine in den Systemeinstellungen deaktivieren, das bisherige Backup-Volume auswerfen und wieder anschließen (dadurch wird es als "normale" Festplatte erkannt)
  2. Die Zielplatte komplett leeren und neu partitionieren:
    1. Partitionstabelle: GUID (Empfehlung von Apple für Time Machine Volumes)
    2. Dateisystem: Mac OS Extended (Journaled)
  3. Festplatten-Dienstprogramm starten und das bisherige Volume auswählen
  4. im Tab "Wiederherstellen" folgende Auswahl treffen:
    1. Quelle: das bisherige Volume
    2. Zielmedium: das neue Volume
    3. Wichtig: "Zielmedium löschen" aktivieren, sonst wird die Kopie fehlerhaft!
  5. Wichtig: Nochmals genau prüfen, ob die richtigen Volumes als Quelle und Ziel ausgewählt wurden (sonst ist nachher das Time Machine Backup futsch)
  6. kopieren (Button "Wiederherstellen")


25. Juli 2020 09:42 als Antwort auf daniel_he

Wenn die neue Festplatte ist auch korrekt formatiert ist, sollte das eigentlich nicht passieren.


Vielleicht wäre eine einfache Alternative ein komplett neues Backup auf der neuen Festplatte zu starten (ohne das alte zu kopieren).


Ich habe eine Festplatte, die ich in zwei Partitionen aufgeteilt habe. Wenn die eine Partition voll ist, dann starte ich auf der anderen Partition vollständig neu. Wenn auch die zweite Partition voll ist, lösche ich die erste und fange da von vorne an. Meine Festplatte ist groß genug, so dass auf der zu löschenden Partition nur noch Daten enthalten sind, die ich lange nicht benötigt habe und damit sicher auch nicht vermissen werden.

23. Mai 2021 21:24 als Antwort auf PreCognition

Lieber Uwe,


Deine Antwort enthält zwei Fehler.


Erstens sind Hard Links generell gar nicht kritisch. Es gibt sie seit Äonen unter Unix. Allerdings nutzen praktisch ALLE Unix-Betriebssysteme Hard Links nur für Dateien - aus gutem Grund! Nur Apple nutzt als einziger "Unix-Anbieter" Hard Links auch für Directories - (nur) bei Time Machine-Backups. Und DAS ist der springende Punkt.

Hard Links von Dateien können problemlos erstellt oder kopiert werden. Dazu gibt es viele Tools wie ln, cp (coreutils), rsync, ditto uvm. Es gibt sogar in allen Unix-Systemen einen direkten Kernel-/System-Call dafür link(2).

Die Directory-Hard Links in TimeMachine-Backups sind aber nicht trivial zu handhaben. Hier besteht leicht die Möglichkeit, das Dateisystem zu beschädigen. Aus diesem Grund bietet Apple auch keine Kommandozeilentools an, um Directory-Hard Links zu verwalten. Das einzige (mir bekannte) Kommandozeilentool, das (intern) mit Directory-Hard Links umgehen kann, ist - was sonst! - tmutil.

Spezielle Tools wie "Super Duper" müssen deshalb eine eigene Verwaltung von Directory-Hard Links integriert haben. Die grundlegende Methodik ist dabei gleich der Handhabung von Datei-Hard Links (z.B. Erkennung über Link-Counter, Inode-Nummer, etc.). Das Risiko eines beschädigten FS ist dabei hoch. Allerdings habe ich noch nichts davon gehört, dass das bei Super Duper mal geschehen ist. Von daher kann ich nur sagen: Hut ab, liebe Entwickler!


Der zweite Fehler ist, dass CCC eben KEINE Directory-Hard Links kopieren kann! Das ist ganz klar dokumentiert. Intern nutzt CCC ditto oder rsync oder vergleichbare Funktionen. Es kann Datei-Hard Links kopieren, aber keine Hard Links auf Directories.

https://bombich.com/kb/ccc5/can-i-use-carbon-copy-cloner-clone-time-machine-backup


Zwar nicht direkt falsch, aber sehr unpassend und auch irreführend ist Deine Formulierung "Beim einfachen Kopieren würden diese Links jedoch aufgelöst". Das "Auflösen" muss NUR bei Symlinks gemacht werden! Bei Hard Links gibt es keine "Auflösung", da ein Directory-Eintrag in einem Unix-Dateisystem aus dem Namen und der Inode-Nummer besteht. Und über die Inode-Nummer gibt es bei Hard Links eben den *direkten* Zugriff. Hier muss NICHTS aufgelöst werden.


Viele Grüße

Frank




Time Machine Backup kopieren: Hardlinks werden aufgelöst

Willkommen in der Apple Support Community
Ein Forum, in dem Apple-Kunden sich gegenseitig mit ihren Produkten helfen. Melde dich mit deinem Apple Account an, um Mitglied zu werden.