Netatalk3 -> festellen, ob gerade ein Backup durch Timemachine läuft..

Esjott

Kellerkind
Moin zusammen,

ich habe hier folgendes Setup: In meinem Heimnetzwerk befindet sich mein kleiner Homeserver auf Freebsd 10, auf dem unter anderem Netatalk3 läuft. Ich habe zwei Macbooks im Netz, die alle Stunde per timemachine auf den Server sichern. So weit, so gut [Timemachine ist ein Drama für sich, aber das ist ein anderes Thema].
Jetzt möchte ich, Paranoia sei Dank ein Offsite-Backup des Backups erstellen. Dazu möchte ich bei meinen Eltern einen Raspberry Pi mit einer USB Platte im Netz unterbringen, die Partition mit den Backups soll dann einmal am Tag per rsnapshot via ssh vom homeserver auf die USB-Platte des Pi übertragen werden. Nicht die performanteste Lösung, aber Flaschenhals wird sowieso das gemeine Internet dazwischen.
Jetzt mein Problem: Wenn ich einen snapshot laufen lasse, wenn timemachine gerade Daten bekommt, dürfte das nicht der hit werden (überhaupt einen aussagekräftigen diff zu bekommen, oder?). Meine Idee ist jetzt, über Cron ein Script laufen zu lassen, bei dem erst geprüft wird, ob gerade Backups auf den Server laufen, wenn nicht, netatalk3 beenden, rsnapshot laufen lassen und nach erfolgreicher Übertragung netatalk3 wieder starten. Hat jemand ne Idee, wie man das realisieren kann? Oder ist das alles Quatsch und ich habe mir das komplizierteste ausgesucht - sprich, jemand hat ne simplere Idee? ;-)

Gruß,

Sven
 
Warum nicht ZFS? Dann hast du solche Probleme (und andere) nicht.

Du würdest dann z.B. nach jedem Timemachine-Backup einen Snapshot machen und beim nächsten Offsite-Transfer diesen Snapshot senden. Ob derweil ein neues Timemachine-Backup reinkommt, wäre egal.
 
Warum nicht ZFS? Dann hast du solche Probleme (und andere) nicht.

Du würdest dann z.B. nach jedem Timemachine-Backup einen Snapshot machen und beim nächsten Offsite-Transfer diesen Snapshot senden. Ob derweil ein neues Timemachine-Backup reinkommt, wäre egal.
Dann müsste er auf der empfangenden Seite aber auch ein FreeBSD laufen haben, weil wenn nur inkrementelle Backups reinkommen und keine Konsistenzprüfung auf der empfangenden Seite ist, kann man sichs gleich sparen...

edit: ansonsten aber definitiv die bessere lösung!
 
Für ZFS müsste ich meine Platten (sprich den Server) neu machen, wäre nicht meine Lösung erster Wahl. Die Variante wäre eine Überlegung wert, wenn es ohnehin einen neuen Server gibt.. Ich behalte die ZFS-Snapshot Variante auf jeden Fall im Hinterkopf.
 
je nach platz angebot netatalk beenden - backup kopieren, netatalk wieder starten und das backup auf die kopie anwenden?
 
Dann müsste er auf der empfangenden Seite aber auch ein FreeBSD laufen haben, weil wenn nur inkrementelle Backups reinkommen und keine Konsistenzprüfung auf der empfangenden Seite ist, kann man sichs gleich sparen...

edit: ansonsten aber definitiv die bessere lösung!

Ich habe nicht gesagt, dass die Backupverwaltung jetzt komplett durch ZFS ersetzt werden soll. Wenn Timemachine seinen eigenen Mechanismus zur Versionierung hat und das Offsite-Backup per rsync geht, gehe ich davon aus, dass rsync auch jedesmal nur einen kleinen Teil überträgt.

ZFS wäre hier wirklich nur für die temporären Snapshots auf Senderseite gedacht, damit rsync und ein Timemachine-Backup parallel laufen können - und natürlich die üblichen Vorzüge von ZFS wie Checksummen zur Verfügung stehen.
 
Was ist denn wenn ZFS den Snapshot gerade während einer Sicherung macht? Sind da zu jedem Zeitpunkt die Daten konsistent?
 
Platzangebot ist nicht soo prall, hab vielleicht noch ein Drittel der Platte frei. Die Idee mit dem root postexec ist ne Idee, das werde ich mir genauer ansehen. Ich werde ohnehin erstmal lokal auf den RasPi sichern lassen, bevor das in irgendeiner Form produktiv in den Einsatz und damit übers Netz geht.. Am meisten Kopfzerbrechen bereiteten mir immernoch die bekloppten Sparsebundles.. Vielleicht ist es mal Zeit, sich ein anderes Backup-System/Konzept auszugucken...
 
Well,

irgendwie schafft es timemachine in sporadischen Abständen das Sparsebundle meines Backups (also von meinem Macbook) in die Grütze zu fahren - und zwar soweit, dass man es nicht mehr reparieren kann. Immerhin, *drei mal auf Holz klopf* hat er das schon länger nicht mehr getan, aber für den Fall das er sich mal wieder Verschluckt: 350GB über ne DSL 16.000 Leitung zu tröpfeln macht auch nicht gerade Spaß. Aber das ist nicht der Hauptpunkt (dann setzt man sich eben mal ins Auto und fährt die 65km zu Festplatte, trinkt nebenbei nen Kaffee und ist..)
Ich hatte hier auf dem Schreibtisch mal die Platte per USB an den Server angeklemmt und rsnapshot getestet. Ich muss zugeben, ich hab nicht wirklich für kontrollierte Bedingungen gesorgt, also Netatalk und/oder timemachine für die Zeit des ersten snapshots nicht gestoppt, sodass er beim kopieren der rund 550GB munter an den Sparsebundles geschrieben hat.
Lange Rede kurzer Sinn, nach jedem snapshot füllte sich die USB Platt um etwa 4-6Gb - für einen Daily-Diff bald etwas viel finde ich. Timemachine ist ja nicht gerade dafür bekannt, optimal zu arbeiten, es überträgt ja keine Änderungen, sondern die gesamte Datei, in der sich etwas geändert hat. Mag sein, dass es damit zusammenhängt.. Dann ist bei mir selber noch nicht ganz klar, was so ein sparsebundle darstellt. Ist das wie eine Zip-Datei oder ein tar-archiv, in dem man seine Dateien hereinkippt? Und wie ist das, wenn ich in dem Archiv oder was auch immer das ist, eine Datei änder - muss dann das gesamte Archiv von rsnapshot übertragen werden, oder nur die bits, die sich am Archiv geändert haben? Oder sind das wieder drei Paar Schuhe und ich bin völlig auf dem Holzweg?

Backups sind irgendwie ein Krampf...
 
Zurück
Oben